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 writing more code faster. 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 than with the traditional technical expertise. Project planning, cross-team coordination, and the ability to manage complex workflows are now essential for every engineer. This shift in focus is particularly interesting, as it challenges the conventional notion of the IC engineer as a purely technical specialist. Personally, I find this perspective fascinating because it highlights the growing importance of soft skills in the tech industry, where collaboration and communication are becoming as vital as coding prowess.
The Gartner Prediction: Tiny Teams, Big Impact
Gartner's research adds another layer of complexity to this discussion. The prediction that 60% of organizations will adopt smaller software engineering teams by 2029 is a significant development. Aliyah Camacho, a principal analyst at Gartner, suggests that these teams could be as small as two to three engineers. This trend raises a deeper question: If the software engineering role is indeed shrinking, what does this mean for the IC engineer's future? Will they become more specialized, or will their managerial responsibilities expand further? In my view, this trend could lead to a more agile and responsive engineering culture, but it also raises concerns about the potential for burnout and the need for effective team management strategies.
Productivity: More Than Just Code
The notion of productivity in software engineering is often measured by the amount of code produced and the speed at which it's delivered. However, Daniel Wang, CTO at Citizen Health and a former director of engineering at Uber, challenges this perspective. He argues that software exists to solve problems, and if AI enables engineers to ship 10 times more code without improving customer outcomes, then it's not truly productive. This perspective is crucial because it emphasizes the importance of quality over quantity. In my opinion, companies need to shift their focus from mere code output to decision quality and outcomes, such as cycle time, rollback rate, and system reliability. This shift in metrics could be the key to unlocking the true value of AI in software engineering.
The Metrics Myth
Ameya Kanitkar, founder and CTO of Larridin, an AI measurement platform, shares a similar sentiment. He believes that companies are often tracking irrelevant metrics, such as lines of code, pull requests merged, or velocity points, which don't accurately reflect the value of AI-assisted engineering. These metrics, in his view, are a waste of time and effort. The idea that AI can simply inflate code output without improving value is a critical insight. If engineering teams are rewarded for code volume and commit frequency, they may end up chasing quantity over quality, potentially leading to suboptimal outcomes. This raises a deeper question: How can we ensure that AI-driven productivity translates into real-world value?
The Fatigue Factor
The pressure to produce more, faster, is creating a unique set of challenges for engineering teams. David Holz, founder of Midjourney, observes that engineers are feeling both extremely productive and extremely drained by the latest coding models. This disconnect between feeling productive and actually being more productive is a fascinating phenomenon. Kanitkar suggests that the constant need to manage AI agents is causing fatigue, as engineers must constantly context-switch to keep these agents fed with new work. This raises a critical question: How can we strike a balance between leveraging AI for efficiency and avoiding the burnout that comes with constant pressure?
The Future of Engineering
As Gartner predicts the rise of tiny teams, the constant agent-babysitting could become the new norm. However, the jury is still out on whether this new kind of engineering is actually more productive. The key lies in finding the right balance between leveraging AI for efficiency and maintaining a healthy work environment. In my opinion, the future of software engineering will likely involve a blend of technical expertise and managerial skills, with a focus on quality over quantity. The challenge for companies will be to adapt their metrics and evaluation systems to reflect this new reality, ensuring that AI-driven productivity translates into real-world value and a sustainable work culture.