When I was a kid I’d ask this question - why is processed food cheaper than unprocessed if it actually takes work to process it first? Thirty years later I realized its not just the food.
I cycled through a few coffee machines in my life to eventually land on a certain model from an Italian brand. It has like zero features. I love it. I’m never going to use anything else. It has three digit 7-segment display. My first Casio watch from early 90s had more. It has two knobs and one lever. It is not fast, not easy to maintain and takes a lot of room. All these are the reasons people are willing to pay a premium for.
But it is only after I read about Lightphone and the whole genre of pricey anti-smartphones and tablets that I connected the dots. Simplicity is becoming a luxury. Processed food is cheaper than unprocessed. Smart hardware is cheaper than dumb hardware. What is next? Black-and-white TV sets at $10k price point? Is it also happening in software? There is a trend of using simpler editors like Code or Atom over complicated ones like Visual Studio or Idea. Although we get them for free.
The common theme here really is about taking back the control of how we eat, how we prep our coffee, how we interact with our phones or how we code. We are OK to pay extra just so that someone else does not “help” us by telling us how to do things.
What makes me wonder is how long will it take for engineers to start applying the same principle to selecting the codebases they’re willing to work with. Let’s be honest, if we were to chose to work on a simply written system that we understand and thus we can control its entire structure as a team of a few people vs an equivalent complex beast that takes tens or hundreds of engineers to develop, we would always go for the former. Managers might have a different preference, but as an engineer you would have to be insane to deliberately select feeling miserable over feeling empowered.
Of course there might be a simplicity tariff related to that. Perhaps the employer with better codebase does not pay that well. Perhaps it is a riskier bet, or less recognizable brand. Until the playing field gets even, the tariff is real. Only we can change it.
A routine smoke check before joining a company is talking to your future manager so you can make sure they don’t reveal any red flags. You don’t want to report to a psycho. It should be a routine check for a prospective employee to take a look at the codebase before deciding to join. In fact, in lot of places, especially for critical roles, such wish can be granted. A simple NDA is all that’s needed from a legal perspective. Could there be a more honest test of simplicity than getting 10 minutes with the codebase and having to make sense of it? What would a candidate say if they looked at your codebase? Would they experience the simple elegance similar to that of aforementioned espresso machine? Be honest.
We deserve to be in control. The simplicity tariff should not apply to our food, our hardware and it should damn sure not apply to the codebases we work on. If you value your work, if you are in a position to choose as a software engineer, make it a factor. Before you accept, ask about the codebase, demand proof. Make the right choice. Talk about it. And for heaven’s sake, start fixing that complexity of your own system! If someone turned down an offer because they looked at the code I’ve written, I would wish for the earth to swallow me up. Anyone who does not feel the same, kindly stay away from the code 🙏