Dear new developer,
Justin Kan has deep experience in the startup space, including at an accelerator called Y Combinator. He gave a talk about why you should work for a startup, and why you shouldn’t. Here’s the transcript,, and here’s a blog post based on it. If you’re looking for good management, avoid startups:
The management at startups generally sucks. I wish I was joking, but sadly it is very true.
On the flip side of that:
At a startup, you will get access to jobs that you are completely unqualified for and you might not be able to do well (yet).
(Possibly the two are related!) There’s a lot more good advice in there, well worth the read.
As a new developer, you may have a risk profile that allows you to work at a small startup. If you can swing it, you’ll never have an opportunity to learn more about how to build a business. The first few years of your career are precious and should be spent carefully. The more experienced I get, the less risk I want to take (all other things being equal), and I’ve seen that be the case for most of my colleagues.
How can you choose the right place? I’m no expert there, as I’ve fallen into several great jobs. But I’d recommend:
- working at a place with no jerks
- optimizing for learning
That’s about it. Yes, make sure you are paid market rate. Yes, make sure you are being challenged. Yes, don’t get taken advantage of. But for the first few years of your career you have the opportunity to take positions at pay levels and in areas that may be closed off later in your career.