Before I dive into what I have to say, I feel like I should introduce myself.
Hey 👋! I'm Max, I work as a software engineer at an early stage startup. I'm building a web performance monitoring service on the side, I've worked in the corporate world as well as various stages of startup, from seed round through to Series C. I feel like I finally understand what I want out of my career, and I wanted to share my thoughts.
At the risk of grossly generalising, I'd say there are three types of developer that you'll meet.
- You've got the people that want to be the best version of themselves they can be, by mastering their craft.
- Then there are the people that want to build the best product, and understand how to make their users happy.
- Finally, you have people that just want to do the job from 9 to 5, and not think about programming once they're done.
Personally, I jump between the three types several times per day depending on my mood, though up until recently I'd say I focused most on trying to master my craft.
If as a junior developer your goal is to learn as much as possible about the best ways of doing things, I'd argue a startup that is still finding its product-market fit is a bad idea.
The trick to building a career that lets you work towards being the best developer you can be is to find an organisation that has already found its product-market fit, and is comfortably guided by a tight engineering culture.
It's not all doom and gloom for early-stage startups however.
If your goal is to build the best product, develop the skills you need to build things that people actually want, maybe an early-stage startup is the right fit.
As a developer, one of the hardest things you need to learn is that the user does not care what technology your product is running. You could still be using PHP 5.6.40 and Zend framework - as long as you're building product that does what the user needs to be awesome at their job, and your product doesn't piss them off, they'll be happy.
In the end, you need to:
- figure out what you want from an organisation, whether it's a product focus, engineering focus, or just want to do the job
- interview the organisation as much as they're interviewing you, and figure out what kind of focus they have, and whether that's compatible with your goals
- be comfortable with ending an interview process for a role that doesn't meet your goals