No More Code Monkeys

In the fast-paced world of software engineering, an industry characterized by an average tenure between 1-2 years1, the notion of seniority has always been somewhat fluid. It is an environment where you’re expected to go from “new grad” to “senior” within 36 months, which presents a pace much faster than in most other professions. But this swift movement through ranks, and perhaps the structure of seniority itself, faces disruption at the hands of emerging technologies, namely Language Learning Models (LLMs) like Copilot and ChatGPT.

The Changing Dynamics of Workflow

To understand the seismic shift that’s underway, you only need ask the seasoned engineers in your team: has Copilot or ChatGPT had an impact on their workflow? Anecdotal evidence2 will tell you that in a vast majority of cases, these tools have indeed been game-changing, despite the shaky early criticisms of Copilot. LLMs have the potential to churn out low-level code, provide debugging insights, and even advise on high-level architecture, amplifying productivity in an unprecedented way.

The immediate repercussion is a trend toward hiring fewer interns and junior engineers. In a world where an LLM can provide most of the heavy lifting and augment the efforts of a mid-level or senior engineer so effectively, the traditional utility of the junior engineer as a “code monkey” diminishes.

Therefore, as a young engineer you may be worried about your career prospects, especially considering the spate of recent layoffs in big tech companies.3 4 5

The Dilemma of Experience

There’s an unsettling irony in these circumstances. With a bottleneck at the entry-level, how does one gain the experience necessary to become a senior engineer? You can’t become seasoned without seasoning, so the system no longer seems sustainable.

However, at FAANG and startups that follow Silicon Valley philosophies, teams already measure engineers by their impact rather than the hours they log. Furthermore, the barrier to entry is low for learning to use LLMs as part of the software engineer’s toolkit.

Here’s what I think it boils down to:

  1. Educational Shift: Programming education must adapt to include tools like LLMs, to produce graduates who can compete in this changing landscape.

  2. Business Acumen: Understanding the business goals and how engineering concretely and effectively leads to those goals has never been more critical. These were previously expected at a later stage in one’s career, after naïveté had been nurtured away on the job, but now becomes important for even junior engineers to achieve impact.

  3. Productivity Expectations: With LLMs setting a new baseline for what one engineer can accomplish, the bar for individual productivity is inevitably raised, both for junior engineers and senior engineers.

Moreover, companies that incorporate LLMs into their internal processes will not only build faster but are also more likely to be the desirable workplaces of the future. Until the broader industry adapts to these new norms, it’s likely that fewer junior roles will be available. This will continue to be the case until product management teams fully understand and integrate the new engineering capabilities, at which point their engineering queues may scale up again.

Actionable Takeaway

If you’re navigating the waters of this industry, the message is clear: adapt or fall behind. Learning to integrate with these LLM tools is not optional; it’s a necessity. Failing to do so might not just leave you behind; it might lock you into a subset of companies that themselves are slated for obsolescence.

The age of the code monkey is drawing to a close. In its place rises a more refined, business-savvy engineer, not just a coder but a problem solver. This transformation could either be a bottleneck that cripples the industry or a gateway to a new paradigm of engineering. The choice, in many ways, is ours to make.

Discuss on Hacker News

← Back to home