Why we choose boring technology
Picking the exciting framework is a decision you make once and your client lives with for years. Here is how we choose instead.
There is a version of this job where you pick the most interesting tool available and enjoy yourself for three months. Then you hand it over, and someone else has to keep it alive for five years.
We optimise for the second person.
What "boring" means
Not old, and not slow. Boring means well understood: a large community, long support windows, and enough people who already know it that our client could hire one.
PostgreSQL is boring. React is boring now. Both are excellent.
The test we apply
- Could our client hire someone who knows this? If the answer is 'only us', we have built a dependency on ourselves, which we said we would not do.
- Will this still be maintained in five years? Look at who funds it and how many serious projects depend on it.
- What happens when it breaks at 2am? Popular tools have their failure modes written down already.
Where we do take risk
Not never — just deliberately, and never in the foundations. A new library for one isolated feature is a contained bet. A new framework for the whole application is a bet with your business as the stake.
The exciting choice is exciting for the person making it. The boring choice is boring for everyone, forever, which is the point.