When a position description requests a “rock star developer,” one might wonder two things: 1) When will this tired, last century phrase go away, and 2) Who really wants Eddie Van Halen coding a website? Along the same lines, those in engineering circles have long sought “10x programmers,” who are ten times as productive as their ordinary counterparts. Do such unicorns exist or is this some engineering mythology that needs to accompany rock star developers on the phraseology scrap heap?
It’s no secret that people in any profession range in proficiency and effectiveness; this is just the nature of humans and work. So, yes, a small number of people are remarkably more effective than others. It’s more interesting to consider what constitutes 10x performance than to contemplate its existence or question if the difference between the low and the high is really an order of magnitude.
When we flock to Michelin starred restaurants, it’s because the experience of eating this chef’s food is worth the considerable expense. It’s reasonable to label the Michelin star chef a 10x performer of the food service industry. Does this mean that 10x performance is the domain of high end chefs in expensive restaurants? Can a unheralded short-order cook in a no-name diner also be a 10x performer? Consider what it takes for a short-order cook to be a 10x performer and how it might differ from the aforementioned celebrity chef. The short-order cook is probably judged on speed, consistency, high quality, and deliciousness while the Michelin chef is judged on inventiveness, presentation, high quality, and deliciousness. Interestingly, 10x performance can definitely occur in different conditions, each with environment-dependent measures.
Would a Michelin star chef be considered a 10x performer if she was placed anonymously in the diner? If the star chef cannot meet the speed metric required by diner customers, instead insisting on weaving parsley sprigs into an Eiffel Tower-like structure before plating the food, this vaunted chef would be relegated to hash-slinger status.
The takeaway from the restaurant chef/cook example is that great performance is dependent on the environment and is ultimately judged by customers. Regardless of glowing reviews from critics, if customers don’t enjoy the experimental food of a molecular gastronomy chef, the restaurant and chef will soon lose their luster.
Although technical competence is required for high performance, that alone will not result in 10x performance. The flashiest and best code in the world is worthless if it doesn’t address a customer’s pain. First and foremost, 10x performers are devastatingly effective problem solvers. 10x problem solvers require a set of attributes including:
- Curiosity – Interest in the problems that customers are trying to solve. Those that understand the customer best are positioned to develop solutions that elegantly and creatively address the needs.
- Flexibility – Humans are pattern seekers and typically fall back on past experience to understand the present. Flexibility is important in recognizing a situation that is entirely without precedent and devising a sensible approach. Similar to the celebrity chef in the diner wasting valuable time on a fancy presentation; top performers understand the environment and change behavior accordingly.
- Judgement – 10x performance often requires rapid development, cutting corners, smart risk-taking, and separating the important from the trivial. Understanding the tradeoff of technical debt accrual versus a slow development process requires both experience and common sense. Ditto, determining where to take shortcuts and where to avoid them.
- Bias for Action – Theoreticians are seldom 10x performers. However, high performers try to hew to a strategic direction while making tactical decisions.
- Clarity of Thought – Clear thinking begets solutions that are understandable and maintainable.
- Technical toolbelt – Contrary to popular belief, a 10x performer needn’t be a technical Houdini. However, it’s essential to be conversant with myriad tools, patterns, and practices and choose the correct one for the task.
Those with preternatural talent are not necessarily 10x performers. In fact, highly talented engineers who also act like prima donnas are often viewed as net negatives (-10x performers). In fact, many people incorrectly equate brilliant, temperamental programmers with 10x performance; this gives the concept a negative connotation.
Arguably, one must have each of the aforementioned attributes to achieve the superior performance associated with 10x. This explains why 10x performance is so rare. Interestingly, all but one of these attributes are non-technical, softer skills. This suggests that 10x performance is not the sole domain of software engineers. Rather, by accessing the same sorts of attributes with a few task-related modifications, others in a company can achieve 10x performance. Part 2 of this post expounds on these ideas and addresses the “nature versus nurture” question; is 10x performance genetic or can it be fostered?