Date : 2026-05-22 Auteur : [[Dan McKinley]] Source : https://mcfunley.com/choose-boring-technology *** # Key Takeway Le choix d'expansion d'une stack technologique doit être rare et mesuré, car l'incertitude est élevée — et l'impact systémique est souvent sous-estimé. # Résumé I stuck around long enough to see Kellan’s technical decisionmaking start to bear fruit. I learned a great deal *from* this, but I also learned a great deal as a *result* of this. What follows is a distillation of the Kellan gestalt, which will hopefully serve to horrify him only slightly. ## Embrace Boredom. ==**Let’s say every company gets about three innovation tokens.== You can spend these however you want, but the supply is fixed for a long while.** If you choose to write your website in NodeJS, you just spent one of your innovation tokens. If you choose to use [MongoDB](https://mcfunley.com/why-mongodb-never-worked-out-at-etsy), you just spent one of your innovation tokens. If you choose to use [service discovery tech that’s existed for a year or less](https://consul.io/), you just spent one of your innovation tokens. If you choose to write your own database, oh god, you’re in trouble. In that context, devoting any of your limited attention to innovating ssh is an excellent way to fail. Or at best, delay success [[1]](https://mcfunley.com/choose-boring-technology#f1). What counts as boring? That’s a little tricky. “Boring” should not be conflated with “bad.” There is technology out there that is both boring and bad [[2]](https://mcfunley.com/choose-boring-technology#f2). You should not use any of that. But there are many choices of technology that are boring and good, or at least good enough. MySQL is boring. Postgres is boring. PHP is boring. Python is boring. Memcached is boring. Squid is boring. Cron is boring. **The nice thing about boringness (so constrained) is that the capabilities of these things are well understood.** When choosing technology, you have both known unknowns and unknown unknowns [[3]](https://mcfunley.com/choose-boring-technology#f3). **Both sets are typically non-empty, even for tech that’s existed for decades. ==But for shiny new technology the magnitude of unknown unknowns is significantly larger, and this is important.**== ## Optimize Globally. **I unapologetically think a bias in favor of boring technology is a good thing, but it’s not the only factor that needs to be considered. ==Technology choices don’t happen in isolation.== They have a scope that touches your entire team, organization, and the system that emerges from the sum total of your choices.** [Your function in a nutshell](https://twitter.com/coda/status/580531932393504768) is to map business problems onto a solution space that involves choices of software. You have to monitor the thing. You have to figure out unit tests. You need to know the first thing about it to hack on it. You need an init script. I could go on for days here, and all of this adds up fast. ## Choose New Technology, Sometimes. You need some means to add things to your toolbox. An important first step is to acknowledge that this is a process, and a conversation. New tech eventually has company-wide effects, so adding tech is a decision that requires company-wide visibility. One way or another you have to set cultural expectations that this is something we all talk about. ==**One of the most worthwhile exercises I recommend here is to consider how you would solve your immediate problem without adding anything new.== First, posing this question should detect the situation where the “problem” is that someone really wants to use the technology. If that is the case, you should immediately abort.** It’s helpful to write down exactly what it is about the current stack that makes solving the problem prohibitively expensive and difficult. New technology choices might be purely additive (for example: “we don’t have caching yet, so let’s add memcached”). But they might also overlap or replace things you are already using. If that’s the case, you should set clear expectations about migrating old functionality to the new system. ## Just Ship. **Mindful choice of technology gives engineering minds real freedom: the freedom to [contemplate bigger questions](https://mcfunley.com/effective-web-experimentation-as-a-homo-narrans). Technology for its own sake is snake oil.**