Friday, 5 April 2013

10x developer talk is fundamentally misguided


I've been reading all this 10x developer blogstorm recently and I must say I'm a bit puzzled why developers, not businesspeople, would ever slip into such talk. Speaking about productivity in such measurements is perhaps apt for a bricklayer or factory worker, or in general someone in a tightly standardised environment, where one unit of production is the same as any other unit.

Some may expect me to follow that intro up with talk of every developer being a beautiful and unique butterfly with their own strengths and weaknesses, but I actually want to make the point that differences can be much, much larger than 10x. Only in the narrowest of domains does this 10x metaphor hold, and then it's only a few lines of turing-complete code away from collapse. Developers deal with intricately complex systems that need to be comprehended and diagnosed. In that sense they're more akin to medical professionals.

My company has been running as a small agency for the past couple of years, helping entrepreneurs and businesses get their products off the ground, some times taking over from other teams. What we're seeing is that the difference between a good developer (or team) and a bad one is simply vast. A bad developer (or team) can cause bugs or worse, pile hack upon hack to deliver after delays an unmaintainable mess that barely works, and no one else will touch without a rewrite. This last point is important. A bad developer, through incompetence or malice, will lock you in, since switching costs will be sky high. In business terms, this can be the difference between launching on time and on budget, and getting lost in development hell. In other words, life and death. A good developer on the other hand, can help guide your development towards the more effective paths, and while developing, they can identify and remove assumptions that will open up new business pathways, and new dimensions for a product. With better code and architecture, maintenance and change become easier, which again can translate to life or death for a business under competitive pressure. A good developer will let you know when awesome functionality is just one integration step away. A good developer will understand the business and get things right the first time.

Nobody talks about the 10x painter, singer, doctor, actor, philosopher, or leader. And they shouldn't talk about 10x developers either.

4 comments:

Anonymous said...

Have you ever thought, that dev are really today's factory workers?

Anonymous said...

In my experience, the people who think they are the 10X "rock stars" are the 1/10th X killer developers.

People who talk about 10X developers and seeking them, or how important they are, in my experience, are the ones who have no way to identify them, because they are incompetent, and that 10x is the same as saying "I'm looking for magic!"

Also, remember, the productivity and quality of the output of a team can be greatly hampered by a manager, especially a hands on one that imposes arbitrary choices on them, especially bad choices (like using an inappropriate language or technology)... it's not always the code that sucks.

Anonymous said...

Nobody talks about "10x" versions of any of the other professions because the "1x" version isn't EMPLOYED in those professions anymore.

For instance, a surgeon who "patched people up" with popsicle sticks and bubblegum wouldn't stay on the job long. It's only (for some reason) in places like software development that we put up with people who flatly CAN'T DO the job.

Richard Bucker said...

There are savants in every profession and walk of life. 10X'ers exist in software development but when you think about the numbers of companies with very deep pockets and heatmaps of them... the chances that you are one or sitting next to a 10x'er is so unlikely that it's a silly conversation to have in the first place.