The Self-Improving Developer  ←   → 
You’ve taught yourself variables, classes, functions, objects. What next?
Chapter 5

The Power of Boring

There’s a saying among the founders of the startup world:

When things get boring, you know you’re on the right track.

It’s more fun to try new things, to come up with a new strategy, to make sweeping changes to your product. But at some point, you have to hunker down and start chipping on that boulder.

I see it in myself and in others: we put a lot of time and energy into the fascinating, the new, the weird. Ooh, there’s a new development paradigm! Ah, this programming language does something I’ve never seen before! Look, this build system is written in Haskell!

This is how you learn new stuff. It’s important that you explore novel territories. Some of these things could potentially make you more productive.

But often, if you want to get things done, all you need to do is:

5 . 1 The Boring Top 100

The software you use and rely on every day is almost always built using “boring” technologies. Do you search on Google? That’s handled mostly by good old C++ on the backend, and almost-vanilla-JS on the front end. Do you use Figma? C++ again. Do you play indie video games? Most are built in C#. Do you have a favorite mobile app? Many of the top 100 apps are built in Java or Objective-C, years after Kotlin and Swift became the “norm” for new apps. And that’s just talking about programming languages. Same applies to frameworks, packages, backends, even code editors.

I sometimes have to consciously restrain myself from jumping on the latest hype train. I stopped following HackerNews, /r/programming and other sources of cool new stuff for this reason. (I still read them, but not every day.)

For months I daydreamed how I’d build a bespoke, minimalist CMS system for this blog, maybe something like I have on filiph.net. Or maybe I could create an IndieWeb or micro.blog page, with WebMentions and all that jazz.

In the end, I went with… WordPress. ¯\_(ツ)_/¯ It’s not a very exciting technology. It’s not new. It works.

5 . 2 Learn new stuff

But don’t only learn new stuff.

I want to be clear: the last thing I want is to discourage you from the exciting and the new. My point here is that “boring” isn’t automatically bad. And that if you force yourself to do the boring work, instead of exploring yet another option, you’ll likely be more productive, and will more likely finish what you set out to build.

Ever since I realized this, I’ve become a strong proponent of “boring”. It’s one of the reasons the Flutter Boring Show is named that way. It’s one of the reasons I’m focusing my free time on a single project, instead of having a thousand at any time like in the old days. And I believe it’s one of the reasons why I’ve been able to finish much more in the last few years than ever before.