Recently, it seems that everyone is talking about 10x coders. It’s one of those timeless topics – Fred Brooks wrote about it extensively in his groundbreaking work, The Mythical Man Month, back in the 1970s. Then in the 1990’s, Steve McConnell had many things to say about developer productivity in his notable writings.
For all of the tooling and infrastructure improvements that define modern software development – continuous integration, distributed source control, automated testing, integrated development environments, containerized deployment – there are two decidedly non-technical elements that dramatically boost productivity.
- Plan to throw one away
- Have complete freedom of direction
Plan To Throw One Away
As astute readers recognize, planning to throw one away is a theme of Brooks’ book. If someone has done a project previously and has worked through the problem space, they are in a better position to increase their productivity on subsequent versions. This tells us it is important to think about the long-term – developing and growing personnel so they are around to improve upon future versions. It is also a reminder that the creation of software is an organic, iterative process where quality is improved through cycles of prototyping and feedback.
Having Freedom of Direction
By far the most productive times in my career, and the times I’ve watched others demonstrate extraordinary productivity, have resulted from being unencumbered by constraints. With just the charter to produce a solution and no other limitations or restrictions, optimum productivity was reached.
I recall vividly watching a colleague complete work in under a year that could have easily taken a team of ten closer to five years. This was possible only because he had completed similar projects in the past (IE: he’d already “thrown one away”) and had a complete understanding of the domain.
Some projects have complexity or coordination needs such that optimum productivity is deliberately reduced as a tradeoff. Money, tooling, and skills being equal, while superhuman outliers exist, the environment counts for a lot.