Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

(pre-emptive horn-toot warning/apology, its a career story, as my entire software career so far has followed from stuff learned and done on SO. If you read this I hope it makes you consider contributing to something like StackOverflow. The rewards can be much more concrete than "just" knowledge and a website score.)

I did the StackExchange (StackOverflow) and start-a-blog approaches that this article suggests and it worked out beyond anything I could have expected. I think that good teaching is the best way by far to becoming an expert at something.

Right before I was graduating college in 2010 I got an email from my former employer who had offered me a job (I had accepted) talking about what he had in mind for my upcoming work. The email read, "Do you know anything about the new Canvas element?"

I didn't.

There wasn't a lot out there for canvas in 2010, just some pretty proof of concepts and bad tutorials. I felt like I had two choices: Try to build something with canvas to learn how to use it, which always felt like a good way to use very little of something, or try to learn by teaching, which in college seemed like the only way to understand something in depth.

Sidenote: I believe that if you can't explain it, you don't understand it. This is just as true for political/philosophical positions as it is for mathematical rules. This is also what separates reasoning from mere opinion on many topics (ie, one's opinion on abortion. Regardless of what it is, if you can't explain your position to me, you don't have reasoning, you have a vague notion gotten from parents or peers that happens to pass as an opinion).

So I took to StackOverflow like a fiend. Whenever there was a question asked too often, I'd write a blog post tutorial about it. After a year I had answered more than 10% of all canvas questions ever asked. (It did end up being a bit of an addiction. If I put StackOverflow on my resume, it will have to be under the header "Poor Time Management".)

StackOverflow is gratifying. Really gratifying. Forget the points, too, especially if you're in a niche topic. The people I was helping gave me the only encouragement I need[1].

I didn't realize it at the time, but after a while I just became a resident expert on canvas. Even really obscure questions like this[2] presented my mind with easy solutions after answering so many other questions. I didn't believe myself an expert until one day, I had forgotten how to do something, so I Googled the answer and clicked on the StackOverflow link.

The answer-er was myself. I didn't even remember writing the particular answer, but there it was, and past me literally (re)explained to future me some canvas trivia.

In two years I went from knowing zero about canvas to being one of very few visible human resources for canvas on the web. I got a book deal[3] and several job offers out of it. That means that contributing to SO and helping people ought to favor even the most mercenary among us.

I still receive a steady stream of emails from people asking canvas questions. I try to help where I can, but feel overextended these days. Even while being overwhelmed, I still get the feeling that teaching is the most important thing I could be doing.

I had considered taking some time off my job to do nothing but make JS tutorials, and try to make some "Bob Ross"-style learn to program with JS videos, update the MDN, and hold office hours in StackOverflow chat.

My "dream job" would be doing something like that full-time, maybe for a year, but I can't really afford to quit work for more-or-less charitable web stuff just yet. Someday though, probably in a couple years, I'll have the money to "buy" the time.

[1] http://i.imgur.com/POZmt.png

[2] http://stackoverflow.com/questions/10060242/html5-canvas-glo...

[3] The book contains lots of interesting canvas tips and quirks I've found in the past years (and a canvas performance chapter!) http://www.amazon.com/dp/0672336278/




Yeah, StackOverflow is an incredible way to learn things. It's basically how I went from knowing nothing about functional programming to being obsessed with Haskell and category theory. In a pretty short time, at that.

I now want to try teaching people more directly, but it's somewhat difficult. My university is unfortunately really biased against functional programming (much less the interesting theory stuff). There are some cool meetups around, and I'll probably give some talks there in the near future--after summer--but it would have been cool to TA a class to. One day.

This is also why I think that having a good culture of education, both on the learning side but also on the teaching side--is so important for a company. That's one of the main things I'm looking for now when I consider where I would like to work.


I think it would be a really cool idea if you asked different CS professors if you could make a guest presentation one class to talk about functional programming languages. Some of them would probably be thrilled with the idea.


DO actually prep and come up with enough material to fill the time slot, though. One of my professors asked me to sub in for him when he was busy but the material was fairly basic (intro to SQL) and I was an idiot and didn't even bother finding out what they had just read.

I know my SQL reasonably well, but I had no idea what to actually say when confronted with an entire 50 minutes of dead time.


> The answer-er was myself. I didn't even remember writing the particular answer, but there it was, and past me literally (re)explained to future me..

That exact same thing happened to me recently. I'm glad I'm not the only one! It's a weird feeling! (Though I still wouldn't consider myself an expert on anything.)


I've been focusing on the d3.js tag a lot lately. There's a lot of noise ("I want this graph. Can it be done?" type open ended questions), but it has been teaching me a lot and solidifying many things I kind of knew before into things I know. I hope I can get some form of career advancement out of it, but the effort is paying for itself so to speak.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: