I was asked
Is the code quality at an early stage startup higher or lower than the code quality at a bigger company?
This is a really good question to ask if you’re a developer looking to join an early stage company. To answer this question though, I’d like to take a step back.
Code is never context free. At any company, writing code is the means to solve a business problem. Early on the problems ahead of you are very fuzzy and subject to change. After two years of working on your business, it’s very likely the code you wrote initially will be very out of sync with the problems you’re solving today.
The natural inclination is to think that the code you wrote was bad. But that’s not true! What’s really changed is that as your company has grown, it’s developed product/market fit. The problems you’re trying to solve today are more well defined, clearer, and can be more properly scoped.
This means that you’ll now be able to have engineers assess what problems they should be solving better. They will be able to tackle more specific complex problems with this bandwidth. In a context-free manner, some people will look at the problem and say “this code is so much better than what we used to write”.
Large organizations have their flaws too. Bureaucracy and process can get in the way of writing code. This can manifest in you not getting to write code or your project being cancelled. These are their own set of problems, but is slightly different then creating difficult to work with code.
But to answer the question:
Is the code that you’re writing early on in a company’s life bad?
Is the code you’re writing as company grows bad?
Are the problems you’re solving clearer as the company grows?