AI 没有抹杀初级工程师的价值,反而提升了它。
AI didn't erase the junior engineer's value, it increased it it

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

与“人工智能通过自动化基础编程任务使初级工程师过时”的观点相反,人工智能实际上提升了他们的价值。虽然有人认为初级工程师已沦为人工智能生成代码的“管道”,但这种观点忽视了工程学的核心目的:通过技术和产品判断力来解决客户问题。 工程学不仅仅是编写代码,它更关乎于管理复杂性和权衡取舍。通过利用人工智能处理繁重的技术工作,初级工程师甚至实习生现在能够全权负责交付以前因优先级过低而无法由资深员工处理的功能。 此外,人工智能充当了高效的导师,通过提供即时的上下文和技术指导,缩短了入职培训的过程。这种加速使初级工程师能够更早地做出实质性贡献。由于行业需要人工智能无法提供的深度技术判断力,企业必须投资培养自己的人才。通过赋予初级工程师“人工智能原生”的能力,组织可以提高整体生产力,从而解决以前被忽视的问题,并确保储备未来的专家,使他们具备在人工智能驱动的环境中引领行业的独特资质。

关于 AI 对初级工程师影响的讨论,Hacker News 上的观点呈现出严重分歧。 原作者认为,AI 并没有抹杀初级工程师的角色,而是暴露了过时的管理实践。他们主张,通过让初级工程师利用 AI 工具填补知识空白并负责端到端的功能开发,企业能够释放出以往无法触及的潜在生产力。 然而,许多评论者强烈反对,并警告称这会导致工程人才出现“断层”。批评者认为: * **技能退化:** 将 AI 作为“拐杖”依赖,阻碍了初级工程师掌握基础概念、调试技能及故障模式。 * **“黑箱”问题:** 初级工程师往往将 AI 的输出视为黑箱,无法验证所提交代码的正确性,从而导致系统脆弱。 * **管理负担加重:** 资深工程师现在面临着大量未经核实的 AI 生成代码(即“垃圾代码”),这为代码审查带来了巨大且不可持续的瓶颈。 * **缺乏指导:** 传统的“学徒制”模式——即初级人员通过反复试验并在资深人员监督下学习——正在被 AI 所取代,这可能会切断未来资深人才的培养路径。 最终,共识倾向于认为:虽然 AI 可以提高开发速度,但它可能会以牺牲深厚、直觉性的专业素养为代价,而这种素养正是真正的工程能力所必需的。
相关文章

原文

AI didn't erase the junior's value. It increased it.

“AI ate the junior’s marginal value”. This is the feedback I got from the last post on this topic. According to this argument, the work of a junior engineer goes something like this:

  • There is a need for a solution. Someone more experienced (a senior engineer) plans it and designs it.
  • The senior engineer breaks down the work in multiple small tasks, clarifying the steps to be taken. Each task is given to a junior engineer.
  • The junior engineer executes it, which nowadays means prompting it to an AI tool, and creating a pull request (PR).
  • The PR receives feedback from more senior engineers. The junior engineer gets the feedback and takes it to the AI tool again, proposing changes.
  • Repeat until done.

If the process above is what happens in practice, why do we need a junior engineer? They are just passing through requests (and sometimes adding noise) from one place to the other, and they cost a full time salary. That’s fair.

Before we jump to conclusions, let’s look at a different story. Or maybe the same story, approached in a different manner.

In our product, there was a feature which had been requested for years, but had not been built yet. It wasn’t overly complex, but it was not critical. Or at least not critical for enough customers to make it through the prioritization threshold. This meant that year over year some customers were frustrated they didn’t have a feature they needed.

This summer, we assigned the problem to an intern (that’s less tenure than a junior engineer). The intern led the development of this feature. They talked to the product manager to understand the problem and requirements. They wrote the design document on how to approach it, aligned with the team, and built it. Of course they did that with the help of AI, and the team they were working with.

But they led it. They dealt with the inconsistencies, with understanding trade-offs, both in the technical and product areas. They adapted the approach as they found issues. And delivered value. AI did produce much of the code, and they owned the decisions. A customer problem that would not have been solved has now been solved. By an intern, at a very low cost for the company.

All engineers manage complexity. What changes is how much. All engineers manage complexity. What changes is how much.

Beyond the fact that any company will need senior engineers in the future, there are very pragmatic reasons why junior engineers are still valuable.

Junior engineers still add capacity to an organization. And that’s because the work of an engineer is not to write the code (or prompt an AI tool) according to a spec. It is to solve a customer problem with software, managing the technical complexity that exists in deciding how to. That applies to all engineers. Staff engineers manage a lot of complexity. Junior engineers manage a little complexity. But the role is the same.

This goes beyond coding. It requires understanding the problem, and also the customer perspective. It requires understanding that if you build a feature in a particular manner, it will lead to a particular set of trade-offs. And those trade-offs are beyond what AI can decide, because they require context that is broader than the codebase. Technical decision making is still very important and junior engineers add to it, enabling an organization to do more.

Training actually became much cheaper. Most of the training cost for an early tenure engineer is to understand the company’s technical context, meaning the nuances of a large codebase and architecture, and to provide basic training on software, like the language, the tooling, the patterns.

In the past, this either required meaningful proactivity from a junior engineer, researching topics and studying, or it required actual human effort from more senior peers, who would spend time explaining basic concepts. This effort has not been eliminated, as context coming from humans is still key for productivity in software. But a lot of this work can be short-circuited with the use of AI.

Being AI-native is valuable. We cannot, as an industry, say that engineers need to be AI-native in job descriptions and then not hire the people that fit this description the best. If the assumption is that AI is going to radically simplify the technical portion of the role, then the people who have started their careers with AI will be in the best spot once they have acquired the experience.

Going back to the earlier example, the feature the intern shipped had been requested for a long time. It wasn’t important enough to get prioritized, but required too much judgment to hand it to AI. These tasks exist and will continue to exist in every team. AI expands what every level can handle, including juniors.

More important than that, engineering organizations will continue to need technical judgment. And the future judgment for your organization should be growing right now.

联系我们 contact @ memedata.com