The Death of Apprenticeship: Why Programming Still Sucks
In a recent viral essay, Steven Langbroek presents a scathing critique of the modern software engineering landscape. While the public discourse often centers on whether AI will "take our jobs," Langbroek argues that the real threat isn't the technology itself, but the greed and short-sightedness of the leadership wielding it.
For many, the image of a tech career is one of clean desks, strategic planning, and the seamless production of perfect software. The reality, as Langbroek describes it, is more akin to being a captain on a burning ship where the manuals have been lost, the crew is exhausted, and the navigation is handled by a malfunctioning doll. This metaphor captures the chaotic state of many legacy systems and the precarious nature of modern development.
The Illusion of AI Productivity
The core of the crisis lies in a fundamental misunderstanding of what software engineering actually is. Executives, dazzled by demos of AI agents writing features in minutes, have begun to view engineering as a simple assembly line of output. This has led to a dangerous trend: cutting engineering staff—particularly juniors—under the mistaken belief that AI can fill the gap.
As Langbroek points out, this optimization for immediate output ignores the long-term necessity of judgment and institutional knowledge. When the "people who catch the errors get pushed out," the stability of the entire system begins to degrade. This is a manifestation of Goodhart's Law: when a measure becomes a target, it ceases to be a good measure. Velocity metrics and story points are being chased at the expense of systemic health.
The Vanishing Junior and the Seniority Gap
Perhaps the most poignant argument in the piece is the "funeral" for junior engineers. The industry has largely abolished the apprenticeship model, replacing entry-level roles with AI tools that can produce code faster and cheaper than a human beginner.
"Juniors weren't valuable for what they produced, they were valuable for who they would become: the senior engineer who knows where the bodies are buried. We optimized for output, and abolished apprenticeship. A few years from now, we'll wonder where all the seniors are."
This creates a looming talent cliff. Senior engineers are not born; they are forged through years of making mistakes, receiving rigorous code reviews, and maintaining complex systems. By removing the entry point for new developers, the industry is effectively destroying its own future supply of experts.
The "Sara" Problem: The Fragility of Institutional Knowledge
To illustrate the danger of this trend, Langbroek introduces "Sara," a fictionalized representation of the unsung heroes of legacy tech. Sara is the engineer who knows exactly why a critical cron job from 2016 still runs and how to fix it using a USB stick inherited from a predecessor. She represents the institutional knowledge that doesn't exist in a Jira ticket or an AI's training data.
When companies prioritize "transformation" and cost-cutting over the preservation of this knowledge, they create a house of cards. As one commenter, @TacticalCoder, noted, many SMEs are essentially depending on a single person's knowledge to keep their payrolls running. If that person leaves or the system fails, there is no "reboot" button because the people capable of building the system from scratch were never trained.
Counterpoints and Industry Perspectives
Not everyone agrees with this cynical outlook. Some veterans argue that programming has always been a joy when decoupled from corporate bureaucracy. @monkeyballs suggests that the "sucking" isn't a property of programming itself, but of corporate acquisitions and "tech-ignorant MBA decisions."
Others argue that the nature of the job is simply evolving. @ksd482 suggests that while manual coding may be becoming less critical, "systems thinking" and the implementation of guardrails have become more important. In this view, the engineer's role shifts from a writer of syntax to an architect of logic and a validator of AI output.
Conclusion: Greed, Not Robots
The overarching theme is that the current instability in tech is a human failure, not a technological one. The anxiety felt by developers isn't caused by the existence of LLMs, but by a leadership culture that views engineers as interchangeable units of production rather than craftsmen in an apprenticeship.
As Langbroek concludes, the forces destroying the profession are the same ones that outsourced manufacturing to the lowest bidder: a relentless drive for short-term margin at the cost of long-term sustainability. The "burning ship" continues to sail, but the industry may soon find that it has forgotten how to build a new one.