不招聘初级工程师并不能解决你所认为的那些问题。
Not hiring junior engineers won't solve the problem you think you have

原始链接: https://franciscotrindade.me/blog/the-kids-are-alright/

目前科技公司因 AI 焦虑而质疑是否应聘用初级工程师,这是一种对旧问题的误判。许多机构错误地认为初级工程师是负担,或是 AI 将使他们被淘汰。 作者认为这些假设存在以下三个缺陷: 1. **留才:** 从内部晋升比依赖外部招聘高级人才来填补空缺更具成本效益。 2. **适应性:** 在快速发展的领域,经验是一种折旧资产;适应能力比过时的技能更重要。 3. **价值重于代码:** 工程的本质是交付客户价值,而非单纯编写代码。即便在 AI 驱动的未来,无论是复杂还是简单的项目,依然需要工程判断力。 归根结底,对初级工程师的偏见暴露了系统性的失败:那些将软件开发视为孤立技术任务“流水线”,而非解决客户问题的协作过程的公司,往往处境艰难。高效的组织会将各级别的工程师整合到产品生命周期中。如果你的团队无法为初级人才找到位置,问题不在于工程师,而在于你那破损的开发流程。

关于“公司是否应该停止招聘初级工程师”的 Hacker News 讨论揭示了行业在面对人工智能和远程办公整合时的两极分化。 主要主题包括: * **人工智能的影响:** 持怀疑态度的人认为,人工智能并未取代对初级工程师的需求,而是暴露了团队处理入门级任务时的低效。其他人则认为,由于资深工程师难以监督人工智能生成的初级代码,代码审查已成为当前的“瓶颈”。 * **远程办公的挑战:** 许多参与者认为,远程办公严重阻碍了初级工程师的职业发展,使他们错失了以往在办公室环境中通过有机学习、指导和社交暗示所获得的成长。 * **技能差距与教育:** 人们对计算机科学专业毕业生的质量,以及学术培训与现代行业需求之间的脱节感到日益担忧。一些人认为,“AI 原生”工作流程改变了实际所需的技能。 * **经济压力:** 讨论涉及了 H1B 签证成本的上升,以及利用人工智能取代“流水线式”编码任务的趋势,这导致入门级机会减少,并可能引发长期的人才断层危机。 总体而言,社区对于这些转变究竟是行业发展的必然趋势,还是暂时的应对性举措,仍存在分歧。
相关文章

原文

Not hiring junior engineers won't solve the problem you think you have

I was listening to a podcast recently where the interviewer asked the CTO of a very large tech company if they were still hiring junior engineers. I cannot get over the fact this was a serious question.

We are certainly still going through the fog of change with AI in software engineering. Companies are experimenting, with some making big claims and most feeling behind in adapting. This anxiety leads to simplistic arguments and decisions (hello tokenmaxxing!) as companies try to find simple bets that they hope will put them ahead of the curve.

“Should we hire junior engineers?” is one of those questions. New entrants are facing a real struggle, with lower growth in tech and tooling that can complete the tasks they would perform. I don’t want to minimize that. But this framing is damaging to the candidates and, more importantly, to companies.

Junior engineers are needed today and will continue to be needed. If your organization has doubts about that, you might be facing a different problem.

This is not a new topic

The motivation to avoid hiring less tenured engineers is not new. Tech companies have for a long time aimed at hiring only more tenured employees, on the theory that individuals need to own their work end to end, making it better to invest in experience.

This was the situation in a company I worked at. As I joined, the policy was to only hire senior engineers and above. The argument was that due to the complexity of our system, junior engineers could be a liability, shipping changes that broke things. One of the visible and ironic consequences of this decision was the struggle that managers would face to get simple tasks done, since everyone felt they were above them.

We changed the policy, first by experimenting with hiring a few less tenured people, and then by setting up an intern program that became an entry point for graduates. A few years later, some of those interns were mid-level engineers outperforming people we had hired as seniors.

The AI version of this argument is not a new insight. It’s an old (and mistaken) preference, wearing new clothes.

The wrong assumptions

The junior engineer question rests on a few assumptions, and all of them are flawed.

The most obvious one is the talent retention problem. You will lose people to attrition. Engineers are going to get more experienced and look for bigger challenges. You will need to hire more people. At that point you either go to the market, paying in time and recruiting cost for someone who needs six months to learn your systems, or you promote someone who already knows them. AI is certainly having an impact on team size, but that size will be greater than zero.

Another core assumption is that the industry is changing so much, and the engineer’s role will be so different, that hiring someone who is not experienced now will be wasteful, as they might not be able to adapt to the change.

A story I usually tell on this topic is that when I started my career as a consultant, we would spend our first week on a project setting up our environments. Clients would pay for a full engineering team at very expensive rates to spend a week getting a source control repository and a CI build running. And that was if we were lucky enough to be where the computers didn’t take weeks to be provisioned. A job that can likely be done with a prompt and 10 minutes of waiting nowadays.

I have survived, but my skills setting up a subversion repository haven’t. If the industry is changing that fast, experience is the depreciating asset, and the people arguing juniors can’t adapt have the most to unlearn.

The last, and likely most ingrained, premise is that if the engineer’s job becomes prompting and managing agents that execute the simple (and complex) tasks, what will a junior engineer do?

The main problem with this thinking is that it reduces the engineering job to delivering code. The role of an engineer pre-AI was to deliver customer value by building software. The role of an engineer post-AI is still to deliver customer value, now through agents that are writing code. The goal is still the same and judgment is still necessary. Right now, technical judgment is still a major part of the role. Maybe that will be minimized in the future (a topic for another post), but it will then be replaced by value-focused judgment. Does this actually solve the problem? Does this change fit the features already there?

The engineer's role in delivering customer value, pre-AI and post-AI Even in a fully AI first world, the engineer’s role will continue to be to deliver value.

And it seems obvious to me that if the role of an engineer is to lead a project solo by orchestrating multiple agents, the job of the junior engineer will be to lead simple projects solo by orchestrating multiple agents. Regardless of what the future holds, there will be simpler and more complex versions of the task to be done.

The hidden problem

The assumptions above highlight how the junior engineer question is often misguided in the current tech industry conversation. But they also expose a deeper problem, which is that technology companies struggle to see a place for juniors because they insist on looking at engineering as an isolated discipline within product development.

We are in 2026, decades after the industry rejected waterfall as a productive method to deliver software, but we keep falling back on it. Software teams still often look like a production line, where requirements coming from product managers working in isolation are then turned into design by designers working in isolation, then given to technical leaders who divide the work into simple tasks that then get assigned to less tenured members of the team. If that is the process, then it’s natural to think that you can replace the last step with agents.

However, the problem here is not the role of junior engineers. It is the system. Product development should be a collaboration between product, design, and engineering in delivering customer value. Engineers are not just writing code, they are providing perspective and alternatives on how to solve a customer problem in the most effective way. A simple task should not be to Add a CSV export endpoint, it should be to Allow a customer to export their billing history, which includes thinking about what belongs on that export, what performance is acceptable given you have 10 years of data, and how it integrates with other exporting features in your product.

And if you frame work like that, even in an AI-forward world, there will be more complex engineering problems, like how to deliver a complex strategic initiative in your company’s technology context. And there will be simpler engineering problems, like the example above.

If your team’s engineers are working on technical tasks, the problem is not about juniors and AI. It is about the effectiveness of your engineering organization. You will have a few engineers managing the complexity (and becoming the bottleneck) for others, while your competitors will have every member contributing customer value. A highly productive team, now and in the future, has room for engineers at all levels, juniors included.

Enjoyed this post? I write about leading effective software engineering teams. Subscribe to stay in the loop.

联系我们 contact @ memedata.com