There’s no doubt that AI has already improved the productivity of engineering teams, and will only get better in the coming years. However, some leaders think fully-baked features should be banged out as fast as prototypes. Sadly, building production features still seems to take almost as long as it used to. Wasn’t AI supposed to turn us all into hyper-productive 10xers?毫无疑问,人工智能已经提升了工程团队的生产力,而且未来几年只会越来越好。然而,一些领导者认为,成熟的功能应该像原型一样快速产出。遗憾的是,构建生产级功能所需的时间似乎和过去几乎一样长。人工智能不是应该把我们都变成高效的“10倍速工程师”吗?

To understand this AI productivity gap, we need to acknowledge how developers actually break down their days. In reality, coding new features is not where most of their time goes. Senior engineers in particular spend a lot of time figuring out what code they need to write, and AI hasn’t yet made that part any easier.要理解这种人工智能生产力差距,我们需要了解开发者实际上是如何分配时间的。事实上,编写新功能并不是他们大部分时间花的地方。尤其是资深工程师,他们花费大量时间来弄清楚需要编写什么样的代码,而人工智能在这一部分尚未提供太多帮助。

Sometimes I actually find AI makes non-coding work go slower. For example, whenever I have to read a product requirements document or even a Linear ticket that was written by AI, it takes longer than reviewing a human-written document. AI writing can be overly detailed, which can make distilling the key parts harder.有时我甚至觉得人工智能让非编码工作变得更慢了。例如,每当我不得不阅读由人工智能编写的产品需求文档或 Linear 工单时,所花的时间比审阅人类编写的文档还要长。人工智能生成的内容往往过于冗长,这使得提炼关键部分变得更加困难。

But using AI to make your work easier while making other people’s jobs harder is another topic. For now, let’s assume AI only helps. Even then, the picture isn’t as rosy as you might think. First, let’s consider a senior developer. If they work at a big tech company, their day might look like this:但利用人工智能让自己的工作变轻松,同时加重他人负担,那是另一个话题了。现在,我们假设人工智能只会提供帮助。即便如此,情况也并不像你想象的那么乐观。首先,让我们看看一位资深开发者。如果他们在大型科技公司工作,他们的一天可能是这样的:

Senior Developer Pre AI (hours) Post AI (hours)
Writing New Code 1.5 0.5
Reading and Debugging 1.5 1.0
Design And Architecture 1.0 1.0
Code Reviews 0.75 0.75
Documentation and Admin 0.75 0.75
Testing, CI/CD, deployment 0.5 0.75
Mentoring / Pair programming 0.5 0.5
Meetings 1.5 1.5
Total 8.0h 6.75h

So, even if we assume AI makes coding 3x faster (and assuming they spend a bit more on testing, CI/CD and deployment since there’s more new code), this senior developer saves only 1.25 hours per day, or about 15%.1因此,即使我们假设人工智能使编码速度提高了 3 倍(并假设由于新代码增多,他们在测试、CI/CD 和部署上花费的时间稍多一些),这位资深开发者每天也只能节省 1.25 小时,即大约 15% 的时间。1

Now let’s consider an otherwise similar junior developer:现在让我们看看一位情况类似的初级开发者:

Junior Developer Pre AI (hours) Post AI (hours)
Writing New Code 2.75 1.0
Reading and Debugging 1.5 1.0
Design And Architecture 0 0
Code Reviews 0.5 0.5
Documentation and Admin 0.5 0.5
Testing, CI/CD, deployment 0.75 1
Learning / Pair programming 1.0 1.0
Meetings 1.0 1.0
Total 8.0h 6h

AI saves this junior developer 2 hours, making them about 25% more efficient. This is a bigger difference than for the senior developer because juniors spend more time coding, which is the part of the job AI boosts the most.人工智能为这位初级开发者节省了 2 小时,使他们的效率提高了约 25%。这比资深开发者的提升幅度更大,因为初级开发者花费更多时间在编码上,而这正是人工智能最能发挥作用的领域。

Given the bigger boost AI gives to juniors, it’s ironic that I still hear leaders saying things like, “we only hire senior engineers because AI does the work of juniors now”. In reality, it’s juniors who stand to gain the most from AI – especially if they are good at using AI as a learning tool, not just an overeager sidekick who’s willing to do the menial work.2鉴于人工智能对初级开发者的提升更大,讽刺的是,我仍然听到领导们说:“我们只招资深工程师,因为现在人工智能可以做初级工程师的工作”。事实上,初级开发者才是最能从人工智能中获益的人——前提是他们善于将人工智能作为学习工具,而不是仅仅把它当作一个愿意代劳琐事的过度热心的助手。2

If the above observations surprise you, or you think developers spend more than a few hours a day actually writing code, you probably don’t understand the true complexity of the job.3 Try thinking about it like this: imagine hiring someone who is a good coder, but has trouble reasoning about systems, has no patience for working through hard problems with others, and can’t break down vague requirements into tangible action items. I wouldn’t hire this person because the skills they lack are the most important parts of the job. Being a good coder is table stakes.如果上述观察让你感到惊讶,或者你认为开发者每天花在写代码上的时间超过几个小时,那你可能并不了解这份工作的真正复杂性。3 试着这样想:想象一下雇佣一个代码写得不错,但难以进行系统逻辑推理、没有耐心与他人共同解决难题、无法将模糊需求拆解为具体行动项的人。我不会雇佣这样的人,因为他们缺失的技能才是这份工作最重要的部分。擅长写代码只是入场券。

AI is still evolving, of course, and as it gets better at more parts of developers’ jobs it should continue to make them more and more productive. But, for now, don’t expect wildly dramatic increases in productivity – especially in your senior staff.当然,人工智能仍在不断进化。随着它在开发者工作中承担更多任务,生产力理应持续提升。但就目前而言,不要指望生产力会出现剧烈飞跃——尤其是在你的资深员工身上。

NotesPermalink注释固定链接

  1. We can disagree about the specific numbers here, but if you think this is wildly off, you’ve probably never been a senior developer. 我们可能对这里的具体数字有分歧,但如果你认为这离谱得太远,那你可能从未担任过资深开发者。↩

  2. Andrew Murphy writes more about misguided “VPs who went to a conference and came back saying ‘AI does junior work now’ like they’d just discovered fire.” Andrew Murphy 写了更多关于那些被误导的“副总裁们”的文章,他们参加完会议回来就说‘人工智能现在能做初级工作了’,仿佛他们刚刚发现了火一样。↩

  3. For this reason, I’ve heard a lot of people talking about the doorman fallacy recently. 出于这个原因,我最近听到很多人在讨论“看门人谬误”(doorman fallacy)。↩