10x Engineers were the Silver Bullet
Fred Brooks published a paper titled "No Silver Bullet – Essence and Accident in Software Engineering" in 1986. This paper is often cited for a few different reasons, one of the main references goes something like:
There's no such thing as a silver bullet...
Which is a reference to the following paragraph:
There is no single development, in either technology or in management technique, that by itself promises even one order-of-magnitude improvement in productivity, in reliability, in simplicity.
Maybe there's no 10x tool which is going to solve all of our problems.
I think this is an enormous bar though. If I could only 5x your productivity for 5 minutes of your day, you'd probably be willing to spend some money on whatever I have to sell. If a tool made your software 2x more reliable, you'd be jumping on board.
Ignoring the size of the bar, what evidence do we have for the claim? Brooks notes that there's a difference between "essential" and "accidental" complexity. Tools mostly take on accidental complexity while most of our problems are essential. This seems like a very useful separation.
By this definition, it probably means that trying to remove accidental complexity won't make a 10x improvement overall. I don't know if we can verify that or what practical thing would come out of it being true. I may or may not get 10x advantages to my whole problem - but I should still try to use best available tools.
A few paragraphs later in the paper:
The differences are not minor--they are rather like the differences between Salieri and Mozart. Study after study shows that the very best designers produce structures that are faster, smaller, simpler, cleaner, and produced with less effort. The differences between the great and the average approach an order of magnitude.
So the claims are:
- There are no 10x tools
- 10x developers exist
This second claim has become a bit of a meme. The cited source comes from 1968 and many people have written about it. You can search for "10x developer" to find some articles trying to figure out how true this is. My personal experience on 10x developers definitely does not reflect Brooks' experience.
The conclusion of No Silver Bullets is that we should stop looking for 10x tools because 10x developers will solve your problems. We should hire these developers then treat them with the same compensation and benefits that managers receive. I always wonder when a manager says "there's no such thing as a silver bullet" if they also mean that part!
So please remember that if you're referencing the paper by saying this line:
There's no such thing as a silver bullet...
Then you're arguing:
- Tools won't improve all the things by 10x (yawn)
- That you believe 10x developers exist
- Your team should be hiring these 10x developers and compensating them like your managers
If you're making these arguments, your experience must be very different from mine. I'd love to talk to you.