DEV Community

BlueOptima
BlueOptima

Posted on • Edited on • Originally published at blueoptima.com

The 10X Developer Myth: Why This Concept Fails To Deliver Meaningful Software Development Productivity Gains

Introduction

The 10x developer who is 10 times more productive than others has been a concept up for debate in the technology industry for decades. It remains an unproven concept with many claiming to have worked with one, to be one or are seeking to hire one.

Senior leaders want the best and most efficient talent for their software development operation, to deliver solutions faster. However, benchmarking their teams’ performance using the 10x concept can increase the risk of negatively impacting productivity.

The 10x developer concept is a flawed model to use as a basis to build engineering teams. Instead of concentrating on building engineering teams by placing together supposed individual 10x developers, it is time to change the narrative of the concept to one that builds "rock-star" teams.

BlueOptima’s 5x developer approach was devised after decades of academic and commercial testing. This article aims to introduce why a 5x developer concept based on Coding Effort metric is a better approach for building an efficient engineering team.

What is a 10x Developer?

A 10x developer is generally defined as an individual who is naturally capable of being 10x times more productive than an average developer. This talented 10x developer exists on the basis of forum anecdotes within the software engineering community and contradictory experimental research that fails to prove their existence.

What are the factors that classify a 10x developer? There are no distinct factors from research or anecdotes that determine someone is a 10x developer.

A Quora thread started in 2016 asking What is the truth of 10x programmers, has multiple views from users sharing stories of working with one and how to interpret what it means to be a 10x developer. However, none of the contributors can align on the concept being authentic with credible proof as per the definition of a 10x developer.

For example, one user correctly points out that the concept misses contextual understanding about an individual’s capabilities. "The truth is that anyone can be a 10x programmer depending on the context. A lot of answers have focused on the mythical version of this concept; that they are some sort of unicorn geniuses that only think in math and have no social skills and other such nonsense."

What are the factors that make a 10x developer more productive than others?

Senior engineering leaders and software developers have tried to logically tie the concept to best practices a software developer should follow if they want to be a good developer—qualities such as being adaptable and having a commitment to continuous learning. However, this does not determine the proven factors of a 10x developer who is 10 times more productive than others.

A software developer’s productivity will vary depending on the task. Senior managers should not use this concept to evaluate their teams' productivity because a developer's skill-level will affect the time taken to complete tasks. Professor William Nichols' study Programmer Moneyball: Challenging the Myth of Individual Programmer Productivity observed that 90% of developers fall within modest performance ranges. There was a lack of evidence to support the idea that some developers are naturally more efficient than others.

It highlights there are factors that can affect the productivity of software developers. In the 2019 edition of Rethinking Productivity in Software Engineering, Professor Stefan Wagner and Emerson Murphy-Hill from Google explained: “Software development is a type of knowledge work that comes with even more specific difficulties, as software developers deal nowadays with incredibly large and complex systems.” This excerpt can be found in the chapter Factors That Influence Productivity: A Checklist.

The concept is void of real-life application. It fails to account for the context that different organisations will have different requirements and stakeholders. Along with the factors that software developers will be working with various technology stacks and methodologies.

The 10x developer concept overlooks team dynamics
Other than a lack of context, the concept overlooks team dynamics which are necessary for software developers to learn and improve their skills to become elite developers. Trisha Gee from JetBrains at the 2019 O'Reilly Software Architecture Conference remarked: "The best way to become a 10x developer is to teach nine other developers to do your job as well, not to get ten times better."

Technology industry thought leader CEO Avichal Garg in the article Focus on building 10x teams, not on hiring 10x developers states: “The superstar is the team, not the individual... Software development, however, is more like rowing. It’s a team sport that requires skill and synchronisation. This applies at all scales. ”

An organisation's approach to software development can benefit from better team dynamics, rather than reliability of a team built with 10x developers. Senior managers can guarantee the improved productivity of engineering teams by designing processes that will create “rock-star” teams.

How BlueOptima’s software development metric can help you build an efficient engineering team

Senior managers’ focus is now shifting away from hunting for 10x developers towards introducing best practice standards and targeted training for engineering teams. In order to achieve this process senior managers must focus on evaluating coding activities within the context in which work is delivered.

BlueOptima provides a SaaS analytics platform powered by objective static source code metrics. The platform allows organisations to understand the intellectual effort that software developers invest when delivering source code change for each revision of a file in a repository.

Historical revisions stored in version control systems are analysed using the core metric Actual Coding Effort (ACE), to produce an objective, internal benchmark of the intellectual effort delivered by software engineers, resulting in a value of Coding Effort. Time and motion studies, undertaken in both an academic and industry setting, have concluded that not more than 5 Coding Effort hours can consistently be delivered by a developer within a working day. It accounts for other work activities in a software developer’s day that does not involve coding.

BlueOptima can understand the direct correlation between context and the amount of Coding Effort that affects a developer’s productivity. Ultimately, this provides an organisation with insights to objectively understand a team's work output and improve the productivity of their software developers.

Why is Coding Effort better to help build an efficient-dynamic team?

It provides senior managers with the ability to understand software development objectively to:
Identify areas of high and low productivity within their teams and projects.
Spot opportunities to pair high performers with low performers to help improve their skills, training and experience.
See which individuals and teams are experiencing blockers.
Identify the best practices driving productivity in a team and use those practices to help other teams improve their capabilities.
Fairly compare effort invested by teams across different projects to make strategic changes.

The 10x developer concept is an outdated and impractical approach to improving productivity of teams and skill improvement of individual developers.

A “rock-star” team consisting of software developers who focus on skill improvement are better equipped at their craft to be able to identify valuable problems to solve for their organisations. The Head of Product Engineering at Redgate Jeff Foster writes, “Investing time in your craft (be it coding or design or project management) is a must, but just remember that your craft doesn’t exist in isolation and exists to serve a higher-goal.”

Consequently, it is far better for a software developer to become a 5x developer with Coding Effort as the main driver of quantifying success. It allows for transparency into the software development process for both senior managers and engineering teams.

Organisations fixate on “rock-star” developers hoping for higher returns on software investments. They concentrate on the ideal of “rock-star” developers instead of team collaboration; as a result, features are not delivered on time and under budget. This focus negatively impacts an organisation's software development culture.

Team collaboration is important to a culture, but most managers do not recognise the benefit it has on knowledge sharing. A 2020 survey by Coding San reported that 24% of developers find it challenging to share knowledge, admittedly only 15% of managers recognised this challenge faced by developers.

To succeed, senior managers must shift focus towards creating the work conditions that promote collaboration. In turn this enhances communication, knowledge sharing, and continuous improvement.

To form industry-leading software development teams who are empowered to efficiently deliver, it is necessary to establish a development operation that creates 5x software developers. This formula will improve time to market and software development ROI.

Original article can be found here:
https://www.blueoptima.com/blog/the-10x-developer-myth

Top comments (0)