A recent Stanford University study has sparked controversy by suggesting that nearly 10% of software engineers, colloquially dubbed “ghosts,” contribute little to nothing while receiving substantial salaries, particularly among those working remotely. This analysis claims that around 14% of these remote engineers are more involved in personal activities such as gardening than professional responsibilities like managing Git repositories. The study centers on the concept that significant financial savings, purportedly amounting to $90 billion, could be achieved by eliminating these supposedly low-performing employees. However, the study’s reliance on Git commits as the primary measure of productivity has drawn substantial criticism from experts in the field.
Opponents of the study argue that using Git commits as the sole indicator of an engineer’s productivity is deeply flawed, especially given the multifaceted roles and responsibilities of senior developers. Charity Majors, CTO of Honeycomb, strongly emphasizes that senior engineers bring value not only through writing code but also by understanding, maintaining, and managing intricate software systems. Effective engineers focus their energies on translating complex business requirements into practical and efficient technical solutions, which often involves less code output rather than more. According to the Stack Overflow team, the most challenging part of software development is capturing the correct requirements, a task that demands considerable experience and expertise beyond mere coding.
The Flaws in Measuring Productivity by Code Commits
One of the critical criticisms of the Stanford study is its reductionist approach to measuring productivity by equating it with the number of code commits. By this measure, the study fails to recognize that a high volume of code does not necessarily equate to high productivity. In some cases, less code can actually signify higher efficiency and smarter problem-solving. Aaron Erickson from Nvidia highlights that certain engineers might introduce redundant or even counterproductive code, which the study mistakenly values as positive performance contributions. Such a methodology fails to account for the negative impact that poorly written or unnecessary code can have on a project, assuming optimistically that detrimental commits will invariably be caught during code reviews.
This misinterpretation of productivity metrics poses a significant concern, as it has the potential to mislead employers into making ill-informed decisions about their engineering teams. Engineers who may not be prolific coders but excel in understanding and solving complex problems, might be unfairly judged as underperformers. The nuanced roles of these engineers, which often include mentoring, strategizing, and ensuring the long-term sustainability of software systems, are overlooked when productivity is solely measured by code commits. This flawed approach could result in the dismissal of some of the most valuable contributors, undermining the very goals of transparency, accountability, and meritocracy that the study purports to promote.
The Importance of a Comprehensive Approach
A more balanced and comprehensive approach is essential to accurately evaluate the productivity and effectiveness of software engineers. Recognizing the multifaceted nature of software development work is crucial for fair assessment and informed decision-making. It is not enough to rely solely on numerical metrics like code commits when evaluating an engineer’s performance. The broader impact of their work, including their ability to understand and implement complex business requirements, collaborate with team members, and contribute to the overall quality and maintainability of the codebase must also be taken into account.
Given the dynamic and collaborative nature of software development, it is imperative to consider qualitative aspects alongside quantitative measures. Insights from peer reviews, feedback from stakeholders, and the engineer’s overall contribution to project success are all critical factors that can provide a more accurate and well-rounded picture of an engineer’s productivity. This approach aligns with the views of industry experts, including Charity Majors and Aaron Erickson, who advocate for recognizing the strategic and high-level contributions engineers make beyond mere code generation.
A Call for Rethinking Productivity Metrics
A study from Stanford University has stirred controversy by suggesting that nearly 10% of software engineers, often referred to as “ghosts,” contribute minimal to no value while earning high salaries, particularly among those who work remotely. The research claims that about 14% of these remote workers spend more time on personal tasks like gardening than on professional duties such as managing Git repositories. It suggests that eliminating these underperforming employees could save up to $90 billion. However, the study’s focus on Git commits as the main metric for productivity has faced substantial criticism from industry experts.
Critics argue that judging productivity solely by Git commits is fundamentally flawed, especially given the diverse roles of senior developers. Charity Majors, CTO of Honeycomb, emphasizes that senior engineers add value not just by writing code, but by understanding and managing complex software systems. Their expertise often involves translating intricate business requirements into effective technical solutions, which can mean less code output. According to Stack Overflow, the hardest part of software development is capturing the correct requirements, requiring significant experience and skills beyond just coding.