Closed davidschoi closed 7 years ago
Hey David, thanks for asking! I’ll try to reply extensively, so allow me to split that into sections. ;)
I’m going be honest with you, my story is pretty dull. After high-school, I had no idea what I wanted to do so I joined a school for 2D/3D/web. I did a preparatory class (1 year) during which I realised I didn’t want to be a designer of any kind. So the next year, I joined the web curriculum.
It was work-based studies. Two days a week at school, three days a week at work, in a big-ass French bank. I learnt a lot about HTML, CSS (IE6, yo!), a tiny bit of JavaScript, PHP, MySQL, ActionScript 3, Flex… I was enjoying front-end more than the rest to be fair.
After this year, I did another year of school/work experience alterning (still in the same bank) in something close to computer science, so Java, C++, UML, OOPHP, C#, networks and so on… I really disliked all of it. God, did I dislike it. In my free time, I started writing technical articles for websites like Codrops, CSS-Tricks, Envato…
At the end of the year, I failed my diploma. I wasn’t interested/good enough. At that point, the company I was working at offered me a nice position at a startup affiliate they were launching, so I decided not to go through my exam again and took the job.
This is roughly how I got into web development, and how I ended up at my first job in France when I was 20. This is all a bit of dumb luck finding out I was interested in coding. The rest was just enjoying myself doing it.
But like anyone on their first job, I didn’t know much. I was pretty fine with HTML and CSS, and I had some knowledge about the whole stack (design, front-end, back-end, ops…) which helped me never feeling completely lost in a conversation. Side note: this is highly underrated.
I faced interesting challenges at work, but retrospectively it was pretty dull. I got a bit more into JavaScript at that time though. I kept coding on the side, fiddling on CodePen, and writing for the web about the little things I learnt on the way.
It’s also around that time that I signed a contract to publish my first book, which took me half a year to write. Eyrolles (the publishing house) got in touch with me thanks to @kaelig who recommended me as an author about CSS.
More or less in a similar timeframe, I gave my first conference at a small event in Strasbourg on the benefits of using Sass. My girlfriend at the time suggested I apply to the call for speakers. To this day, I still don’t know how she convinced me to do that. But she did, I did it, and I enjoyed it. This is how I got into public speaking.
Other the next few months/years, one thing that got me where I am today has to be Sass. Sass —a language intended to author stylesheets— coming with a few programming structures (loops, conditions, functions…) got me into programming. I abused Sass and pushed it where it should have never been (exhibit A, exhibit B, exhibit C, exhibit D, exhibit E…) but by doing so: a) I learnt about programming, patterns, structures… b) I got known for my crazy experiments.
I got to know the language and its syntax very well. So much, I started contributing a bit on issues on the official repository. People started asking me how to do this and that on Twitter. This was also helped with me almost single-handedly filling the (then new) Sass section on SitePoint. Sass was kind of my playground and helped me getting a bit more known.
Then I joined Edenspiekermann in Berlin, had the pleasure to work on interesting projects with good people, and learnt a lot on the way. Kept coding. Kept writing. Signed with SitePoint for a book on Sass (in English this time). Wrote Sass Guidelines. Wrote more content on Sass, more content on front-end. Spoke to more events. Contributed to more projects.
And then one morning, I woke up realising my work makes virtually no difference whatsoever. That nitpicking on syntax, languages, technologies and whatnot was a huge waste of time. I stopped writing. I spoke less. I gave up on some projects.
But being a developer is the only thing I know how to do. So I decided to contribute to making the web a better place. I got into web accessibility. I learnt everything I could. I pissed off my coworkers so they start caring about it as well. I still do.
Today, I’m fighting for inclusivity, diversity. I want to show people that an accessible web, a non-discriminatory web, is really not that hard to reach. Everyone can contribute to it. It’s not someone else’s job.
Now for your final question, I’d start by telling you: don’t aim at my level. Aim higher! ✨
I have been asked “how to do it” many times in the last few years, and I never found a perfect answer to that. Because I don’t think there is one. It all boils down to priorities, timing, and let’s face it, a wee bit of luck.
We have the amazing luck to work in a field where work is somehow of a passion. Or at least a goddamn interesting pastime. Not many people can say the same thing. Most of us work in a comfy chair, in a nice and safe environment, coding lines a couple of hours a day before going home. Let that sink for a minute, and realise how amazing and lucky this is.
In this AMA, someone asked me for advice, just like you. And someone else asked me something similar before. I always more or less reply the same way.
Keep doing what you like. Learn what you want to learn. Don’t feel like you have to learn something just because it’s all around you. I know the impostor syndrome is real, and I know it’s a hard beast to tame. Been there and still face that every now and then. But you can’t know everything. You can’t learn everything. And nobody expects you to anyway.
Find a company where you are valued for your skills and knowledge, and where you can learn and contribute. Try not to be the smartest person in the room. And if you are, try to help everybody else. No point in being knowledgable or clever if it’s only for you.
Keep enjoying your work, and don’t feel like you’re not doing enough. Open-source contributions, a Twitter profile, knowledge of the latest framework, this is all nice but in the end, it doesn’t even matter. (🎶)
And then one morning, I woke up realising my work makes virtually no difference whatsoever.
I passed this point only recently.
Much like @HugoGiraudel, it changed things. I stopped caring for open-source or how I appear to the outside world. I just want to do stuff for me and what I care about. Accessibility is one of those things. Although not motivated enough to make it an expertise, I do try to give a little bit extra to make sure the stuff I build is accessible for everyone. I wrote Accessibility, Why Bother to convince those around me.
Also, I'm happy and honoured I was part of exhibit E :)
How did you become such an expert on front end development? What would you attribute it to or what advice would you give to someone who wants to get on your level?