The world of software engineering is undergoing a profound transformation, and at the heart of this change is the evolving role of the individual contributor (IC) engineer. The question on everyone's mind is: Are these engineers still productive in the age of AI? The answer, it seems, is a nuanced one, and it's not just about the volume of code being produced. In my opinion, the real test of productivity lies in the impact on customer outcomes and the overall efficiency of the engineering process. Let's delve into this intriguing topic and explore the various perspectives that shape our understanding of the modern IC engineer's role.
The Rise of the Manager
Cameron Etezadi, CTO at LaunchDarkly and a former VP of engineering at IBM, makes a compelling argument that AI has essentially turned all engineers into managers. He believes that the skills required to excel in software engineering today are more aligned with managerial duties, such as project planning and cross-team coordination. This perspective is not without merit, especially when considering the trend towards smaller engineering teams, as predicted by Gartner. By 2029, 60% of organizations are expected to adopt smaller teams, with some even envisioning 'tiny teams' of just two to three engineers. This shift could indeed blur the lines between engineering and management roles, leaving us with a new kind of 'manager' who writes code.
However, this development raises an important question: If the IC engineer's role is evolving into management, are they still productive in the traditional sense? In my view, productivity is not solely measured by the amount of code produced or the speed at which it's delivered. Instead, it's about the quality of decisions made, the efficiency of the engineering process, and the overall impact on customer outcomes. This perspective is supported by Daniel Wang, CTO at Citizen Health, who emphasizes the importance of tracking metrics beyond just code output.
Beyond Code Output
Wang's argument is a critical one, as it challenges the notion that more code equals greater productivity. He suggests that companies should shift their focus from tracking tangible but irrelevant activities, such as lines of code or velocity points, to more meaningful metrics. These include cycle time from idea to production, rollback rate, escaped defects, and system reliability. By doing so, leaders can gain a clearer understanding of the engineering process's health and its impact on customer satisfaction. This perspective is further supported by Ameya Kanitkar, founder and CTO of Larridin, who echoes Wang's sentiment, arguing that AI's ability to increase code output doesn't necessarily translate into improved productivity.
Kanitkar's insight is particularly interesting, as it highlights the potential pitfalls of focusing solely on code output. If engineering teams are rewarded for code volume and commit frequency, they may end up chasing quantity without any real increase in value. This could lead to a situation where teams are more concerned with producing code than with solving customer problems effectively. In my opinion, this is a critical issue that needs to be addressed, as it could steer engineering teams away from their true purpose.
The Fatigue Factor
The pressure to produce more code faster is undeniable, and it's taking a toll on engineers. David Holz, founder of Midjourney, captures this sentiment perfectly when he writes about his friends feeling both extremely productive and drained by the latest coding models. This disconnect between feeling productive and actually being more productive is a significant challenge. It's not just about the constant pressure to keep feeding AI agents new work, as Kanitkar describes, but also about the mental fatigue that comes with managing multiple agents and constantly context-switching.
This fatigue factor is a critical consideration, especially as engineering teams shrink and the need for agent management becomes more prevalent. While the jury is still out on whether this new kind of engineering is actually more productive, it's clear that the current approach is taking a toll on engineers. In my view, finding ways to mitigate this fatigue and create a more sustainable engineering process is essential for the long-term success of the industry.
Conclusion
In conclusion, the evolving role of the IC engineer in the age of AI is a complex and multifaceted topic. While the rise of management-like skills and the trend towards smaller teams are undeniable, the question of productivity remains a nuanced one. It's not just about the volume of code produced, but also about the quality of decisions made, the efficiency of the engineering process, and the overall impact on customer outcomes. As we navigate this new landscape, it's crucial to strike a balance between embracing the benefits of AI and ensuring that engineers remain productive in a way that truly serves the needs of their organizations and their customers.