A complex, but reliable, car engine

Software disenchantment

If you know me (or have seen how grumpy I was getting before quitting Twitter recently), you probably know that I’ve been thinking about trying to get out of the software development industry. I try not to call myself an engineer, because that’s not what we as an industry (generally speaking) are. Engineers are accountable for the things they sign off on, engineers have the leverage to push back against management making unethical decisions because if they don’t they personally could go to jail, engineers create things that actually work. Software developers use unnecessary props like like Electron and Kubernetes because they solve problems that shouldn’t exist in the first place or which a tiny fraction of companies actually have and need a solution for. Good engineering is managing complexity, bad engineering is what we do in the wild west that is most technology companies I’ve ever worked at.

I’ve been wanting to write about it for a while, but haven’t come up with anything that felt reasonable, so here’s a post by Nikita Prokopov (tonsky) that does a better job than I could. Not all of my concerns with the industry are voiced, but it is a great overview of a number of the problems we’ve created for ourselves.


I’ve been programming for 15 years now. Recently our industry’s lack of care for efficiency, simplicity, and excellence started really getting to me, to the point of me getting depressed by my own career and the IT in general.

Nikita Prokopov

Read on…