For a few years now, I’ve used the word “boring” as a positive yardstick for my own software development: is this code boring? Boring, meaning, does it do what it needs to do, in a predictable manner, in a way that’s easy to understand for others?
Today, I came across a post about “boring code” on Very Good Ventures’ blog:
Having a codebase that is predictable, easy to navigate, well tested and properly automated makes it boring. But pleasantly boring!Jorge Coca, Very Good Ventures
“Boring” can be applied to the developer experience of a codebase too. At one point, I was part of a small team responsible for upgrading and maintaining a couple of external open-source plugins on WordPress.com; our internal mandate was to make the regular upgrades as “boring and uneventful” as possible.
I hope the software development industry continues to shift in this direction. Users are no longer impressed by new features and rapid growth; it’s been twenty-plus years that we’ve all been using apps of various sorts, and struggling to get things done while companies constantly shift the sands of user experience under us. Moving forward into consumer applications’ “mature” years, the companies that grow and thrive will be those that produce intuitive and solid application experiences over time – through the cultivation of unsurprising, stable, and boring codebases.