软件开发者角色重塑

1 views

软件开发者角色重塑
Loading...

这是一篇关于 GitHub CEO Thomas Dohmke 在其部落格文章〈Developers, Reinvented〉中剖析AI和开发者的文章的译文。 原文:

软件开发领域正在发生一场重大变革,它不仅重新定义了我们的开发方式,也重塑了我们作为开发者的身份。在最近的采访中,我们与 22 位已在工作流程中大量使用 AI 工具的开发者进行了交流,了解到他们是如何走到这一步的,他们的工作方式发生了哪些变化,以及他们对未来的展望。

重塑自我

一场正在进行的变革

对于这些走在前沿的开发者来说,将AI作为工作的核心部分并非遥远的未来,而是正在发生的变化。许多人最初接触AI工具时都持怀疑态度。“很酷,但有点花哨”是常见的评价,如今开发者们认为,这是因为人们最初的高期望与AI不可预测的能力之间存在差距。很多人因此认为AI工具毫无用处,但那些继续尝试的人会迎来关键的“顿悟时刻”——既节省了时间,也弄清楚了工具的能力以及如何将其与工作匹配。

成功使用AI工具的开发者有一个强烈的潜在动机:为他们所预期的职业变革做准备。为此,他们坚持不懈地尝试各种AI工具,即使这些工具并非一直有用。一位开发者说:“要么拥抱AI,要么退出这一行。

” 这些开发者是如何拥抱AI的呢?我们认为这是一个分阶段的演进过程,由日常的反复试验推动:

  • 第一阶段:AI怀疑者。在小任务和小问题中尝试使用AI。开发者主要使用代码补全功能,对迭代和错误的容忍度较低。如果他们坚持下去,就会放弃对一次性成功的期望。
  • 第二阶段:AI探索者。使用AI进行调试、编写样板代码和代码片段,开发者开始了解AI的局限性。他们使用补全和聊天功能,从基于浏览器的大型语言模型(LLMs)中复制粘贴代码。通过练习,他们逐渐开始构思更复杂的任务,接受迭代提示,并意识到当结果不佳时,重新开始比继续推进获得递减回报更好。
  • 第三阶段:AI协作者。积极与AI共同创作,培养语境工程直觉。开发者使用支持AI的集成开发环境(IDEs)完成多步骤任务和多文件更改,并养成先提示制定计划、精心设计代理规则、以及根据AI的“思维过程”战略性地在工具和模型之间切换等习惯。在这个阶段,开发者还会参与讨论或内部演示,分享有效的提示、用例和经验教训。
  • 第四阶段:AI战略家。将AI视为功能开发、复杂任务和大规模重构的强大合作伙伴。开发者构建精心设计的多代理工作流,结合规划和编码模型,不断提高自主性和并行性。处于这个阶段的开发者对未来充满信心和乐观。

第四阶段的开发者一致表示,他们的角色已经发生了转变。他们现在专注于任务的委派和验证。委派是指通过丰富的语境和指令为代理的成功奠定基础,设计和完善提示,审查AI的计划和权衡,并在推进之前进行调整。验证则是对代理的工作进行全面检查——他们审查并验证AI生成的实现是否满足所需的目标和约定。这些开发者已经从编写代码转变为设计架构和验证由AI代理执行的实现工作。

你可能会猜到接下来发生了什么。当我们询问开发者关于AI编写90%代码的可能性时,他们的回应是积极的。一半的人认为90%的代码由AI编写不仅可行,而且很可能在5年内实现,另一半人则预计在2年内实现。但至关重要的是,在他们看来,这种未来场景并不会削弱他们的价值或身份,反而会重塑它们。他们亲身体验到有效管理代理工作所需的技能和努力,现在很清楚这将是增值活动,而不是主导实现。一位参与者总结道:“也许我们会从代码生产者转变为代码赋能者。我的下一个头衔可能是代码创意总监。”

乐观?现实?还是两者兼具?

我们倾向于认为乐观和现实是相互对立的心态。但我们采访的开发者却有一种有趣的融合——他们是现实的乐观主义者。他们看到了这种转变,不否认这会改变他们的工作,但也相信这是一个提升自己的机会。一位开发者说:“我认为自己是一个平庸的工程师,而这次AI重置给了我一个机会去培养技能,让自己更接近卓越。”

让我们用现实的乐观主义视角来看本节的其余部分。

就业前景

AI正日益自动化许多编码任务,加速软件开发。随着模型和工具的改进,我们看到在开发者的编排下,更复杂的编码任务也在实现自动化(就像我们采访的那些开发者一样)。这已经成为现实,不再是未来的趋势。

进一步思考,如果核心焦点从编写代码转向委派和验证,一些传统的编码角色将会减少或发生显著演变。与此同时,美国劳工统计局预测,未来十年软件开发者的就业岗位将增长18%——几乎是全国所有职业平均增长率的五倍。这些岗位不会和我们今天所知道的软件开发者岗位完全相同,但我们更有理由承认这种变革并积极适应,而不是绝望。

我们在采访中还注意到一点:开发者很少将“节省时间”视为与代理以这种新方式工作的核心好处。他们关注的都是如何提升目标。我们认为,这意味着我们应该更新谈论(和衡量)使用这些工具时成功的方式,并且应该预期在最初的效率提升之后,我们的重点将放在提高工作和成果的上限上,这是一种非常不同的解读工具投资的方式。这也解释了为什么我们采访的许多开发者都在为顶级订阅付费——这一点起初可能不太直观。当你的思维从减少努力转向扩大范围时,只有最先进的代理能力才够用。

新旧核心技能

如果我们接受开发者角色正在转变这一事实,那么哪些技能会成为核心呢?

  • AI熟练度:理解不同AI工具、平台和模型的能力和局限性,从而相应地调整实践和工作流程,这一点至关重要。鉴于AI创新的“惊人”速度,这需要通过不断实践来学习,并致力于适应变化。
  • 委派和代理编排:要让代理成功,需要依赖语境和提示工程、问题框架构建、优化任务分解、工作并行化,以及明确成功标准和约束条件。随着AI熟练度的提高,开发者还将改进他们的判断和策略,决定何时与代理同步协作,何时将任务交给它们在后台处理。不要低估沟通技能在委派中的重要性——这不仅仅是使用自然语言。模糊的或一句话的指令从来不足以让人类同事成功达成目标,对AI代理来说也一样。
  • 人机协作:与代理同步工作时,重要的是要有紧密的迭代反馈循环,设定停止点,指示自我批判,并鼓励代理提出问题。我们的一位受访者提示他们的代理采访自己,以此将语境融入指令中。
  • 基础知识:理解和推理代码及系统仍然至关重要。尽管AI具有代码生成能力,开发者仍需要深入理解编程基础、算法、数据结构和整个软件系统。这种基础知识使开发者能够批判性地理解复杂代码,评估AI输出的质量及其生成过程。在编排代理时,这对开发者角色中的“验证”部分至关重要。
  • 验证和质量控制:由于AI输出需要仔细检查,因此严格审查、测试和验证AI生成代码的能力至关重要。开发者已经在通过手动代码审查、运行测试和确保符合标准来实践这一点。如果说有什么不同的话,那就是代理工作流需要更强的这种技能,需要扩展测试覆盖范围,并在更早的阶段考虑质量和安全性。
  • 产品理解:这完全关乎系统思维,即从整体上看待产品。它将推动开发者采用混合思维,融合工程、设计和产品管理。在这里,定义需求、原型设计、想法探索和理解用户需求将是确保为代理安排的任务是从结果角度而非仅仅从代码输出角度考虑的关键。
  • 架构和系统设计:随着AI处理更多低级编码,理解整体系统架构、设计模式以及不同组件如何交互的重要性日益凸显。这对于指导AI并有效整合其输出至关重要。

对教育的启示

从现实的乐观主义角度来看,AI在软件开发中的兴起也意味着计算机科学教育需要重塑。持这种心态的教育者会承认变革的规模,同时抓住机会让学生为在塑造数字世界中扮演更广泛、更具战略性和更具创造性的角色做好准备。

学生将越来越依赖AI来编写大部分代码。以评估死记硬背的语法或API记忆的方式进行教学正变得过时。基础编码仍然是一项关键技能,但现在它是理解系统、调试AI生成的代码以及向人类和机器清晰表达想法的一种方式。我们需要从“编写这个循环”转变为“理解这段代码的作用,以及如果你修改它会出现什么问题”。

大型语言模型和代理在现实世界中已经在编写代码,在课堂上忽视它们会让学生准备不足。将AI工具融入教育可以促进学习,为更深入的设计、分析和创造腾出更多时间。课程必须包括AI辅助编码,但重点是如何与AI协作:提示、审查、编辑和验证输出。简而言之,教授AI熟练度。

许多计算机科学(CS)项目仍然围绕着AI现在已经能熟练解决的问题。未来属于那些能够建模系统、预测边缘情况并将模糊性转化为结构性的开发者——这些是AI无法自动化的技能。我们需要教授抽象、分解和规范,不仅将其作为编码前的步骤,更要将其视为新的编码方式。

软件开发者角色的重塑也为跨学科思维和多样化的软件职业道路打开了大门。我们可以将计算机科学与设计、伦理、系统思维和人机交互相结合,鼓励学生将自己视为计算创造者,而不仅仅是编码者。

这一切也影响着评估方式。传统的编程考试不再反映现实世界的技能组合,尤其是当AI能比人类更快地解决问题时。评估学生构建问题框架、指导AI、批判解决方案和调试复杂输出的能力更有意义,也更具前瞻性。我们希望设计需要与AI协作的作业:“这是AI写的,有什么问题?”或者“改进这个规范,让AI能构建出你想要的东西。”

总结

软件开发者的角色正走上重大变革之路。并非所有人都愿意做出改变。管理代理以实现结果对许多人来说可能听起来没有成就感,尽管我们认为开发者一直在较低的抽象层次上做着类似的事情——通过编程语言管理计算机以实现结果。尽管如此,作为人类,我们往往不愿改变,这也没关系。

世界各地的开发者已经从怀疑走向自信,在与AI合作的过程中重塑他们的角色、实践和心态。对他们来说,最初对AI取代自己的恐惧正转变为务实地拥抱AI带来的宏伟现实,将其视为一个成长机会。在我们构建未来的工具时,我们可以引导开发者完成其角色的重塑,以直观、愉快的方式满足开发者的好奇心,让他们在转型过程中感到满足和快乐。这让我们感到乐观。现实地说。