A Very Serious Survey of Development Techniques 🤡

Nov 14, 2025 3:11 pm

Happy Friday!


Here we go again with another "very serious" survey of development techniques that people definitely understand and use well.


10)Test-Driven Development

A technique that a few people claim works wonders for stability and design, but nobody will try it, so we'll never know.


9) Domain-Driven Design

Wildly popular amongst folks who love architecture, even if it never pans out well. This technique lets people feel good about spending time thinking deeply about systems that won't exist. You can tell if this has infected your group by listening for the phrase, "Ubiquitous language."


8) Agentic Coding

Remember that promise that AI was going to solve all the problems, but it never seems to work out? Well, you can relax because with agentic coding, you can have MORE of that same AI not solving problems at scale.


7) Git

It may be the only source-control system in widespread use for the past 20 years and the single source of truth for all the code in your company, but nobody knows how to use it.


6) Behavior-Driven Development

This one is further down the list, not because it is better understood, but because it has gained popularity, as developers think it is a great idea to have product owners and product managers write tests for them.


5) Swarming

When folks aren't swarming, they're all working on things independently. When they do swarm, they all work on things independently but pat themselves on the back about it.


4) Refactoring

Despite decades of material on the subject, this technique of altering form without altering functionality is instead used to describe tinkering with code and absolutely changing functionality without realizing it.


3) Pair-Programming

Often described as half the work for twice the cost, you can tell when developers are pair programming when they are sitting close together and ignoring one another.


2) Event Sourcing

Developed by the same individuals who believe design patterns were a mistake, this approach uses design patterns to create non-deterministic systems within unstable code, accompanied by the challenges of managing queues of events that nobody understands.


1) Microservices

In a moment of clarity, the industry admitted that it can't build large software systems well at all. In response, they decided to build many small, poorly built systems instead. Ensuring all these systems are interconnected and dependent on a single database is something they'll get around to fixing later. Promise.


Sincerely,

Ryan

Comments