Let’s consider two different, awesome occupations: pirates and ninjas.
The pirate uses all his strength, all the time, to combat hardship and rough seas in the hope of striking treasure. He is a skilled warrior who forgoes creature comforts like sleep and vitamin C in the hopes of someday getting rich. Not all pirates make it, but that’s the rough life of a pirate.
A ninja is another skilled warrior, though a ninja has high regard for honour in addition to interest in treasure. He is a much more contemplative fighter than the pirate, because he will conserve his energy until he needs it most, striking out with superhuman strength. Ninjas focus on honing their technique and skills – something no pirate would ever have the time to do.
Software developers can be like pirates or ninjas. Not all developers are, but really awesome ones tend to be either one or the other.
Startups tend to attract pirates because they need massive, blunt effort. There’s nothing wrong with that - many pirate programmers really enjoy that environment.
However.
I’m not interested in being a pirate anymore.
I want to be a ninja. I want to be the best I can be. I want to contemplate how my skills can best be improved to meet the challenge I have in front of me.
There’s nothing wrong with being a pirate, but it’s not for me anymore. I’m not sure it ever really was.