AI如何改变GitHub上的开发者文化和工作方式

Inbal Shani(GitHub产品首席官)介绍GitHub自推出Copilot以来看到的令人惊讶的趋势。

译自 How AI Is Shifting Developer Culture and Work at GitHub,作者 Loraine Lawson 是一位资深的技术记者,她已经报道了25年的技术问题,从数据集成到安全。在加入 The New Stack 之前,她担任银行技术网站 Bank Automation News 的编辑。

在各种对生成式AI的恐惧、不确定性和怀疑中,GitHub发现了一些令人惊讶的事情:AI正在使其开发者更加快乐。

Inbal Shani(GitHub的首席产品官)说,软件开发者有太多的事要做。编程可能是工作,但与此同时,开发者现在还必须编写文档、创建测试、运行测试、与内部和有时是外部利益相关者见面、执行代码审查、处理系统架构,哦,对了,还有调试现有代码

“通过开发者的视角看待AI的焦点真正关乎生产力。”Shani说,“开发者正在使其成为行业内的基本配置,他们想要使用它,因为他们理解它为他们带来的选择权,他们理解这些工具为他们带来的灵活性以及他们可以从中获取的潜在优势。”

软件开发的工业革命

Shani坚称,AI正在引发“软件开发的工业革命”,因为它从根本上改变了开发者编写代码的方式以及开发者对软件开发的看法。

时间只是开发者生产力的一种测量标准,她说。根据GitHub的测量,生产力也与减轻开发者的负担和减少压力有关。

“当我们开始在GitHub内部测试AI时,我们开始看到开发者的幸福感上升,”她说。“初级开发者,Copilot就像是那个在高级开发者在场帮助的同时,与他们一起工作通过开始的配对编程者。我们看到高级开发者有更多的时间来专注于系统架构和系统设计,以及他们需要做的更棘手的测试,或者花更多的时间思考文档而不仅仅是编写它。”

她补充说,这可能就是为什么92%的开发者报告说他们已经在使用AI的原因。在微软1月的财报中,GitHub透露有5万个组织和150万开发者已经部署了Copilot。

“这可能是我们在过去70年编写代码中见过的任何开发者工具或转型中扩展速度最快的,”她说。“所以这必须意味着这个神奇的独角兽AI正在做正确的事情。它做的最重要的事情是,当我看Copilot时,它只是解决了开发者面临的真正关键挑战,并减轻了他们的负担,以便他们可以关注重要的事情,即编写代码的复杂性和思考系统架构的复杂性。”

AI采用

相对而言,AI仍处于萌芽阶段。当Shani进入IT行业时,她是一名应用科学家,为解决特定的挑战而开发算法。她说,它仍然是一个利基解决方案。但是2023年是一个转型的年份,AI在这一年中实现了普及。

“我们开始在前所未有的规模上为软件开发带来更多AI能力,”她说。“在过去一年半左右或接近两年的时间里,我们把AI的概念从只有特定人才能知道如何调优的神奇黑盒,转变成所有软件开发都可以更广泛使用的东西。”

她还表示,AI也将改变软件文化。的确,它已经在改变了,她补充道。

“如果你消除了一些压力因素,因为你使开发者的生产力大大提高了,那么你就为那个组织蓬勃发展创造了一个更快乐、更高效的环境,”她说。

就像工业革命改变了工作一样,AI也将如此。例如,过去初级开发者专注于在头几年学习编码和组织编码约定就足够了。但是她说,AI可以通过教他们组织对代码、语法和命名约定的看法、期望和警戒线等需要了解的内容,更快地使初级开发者上手。

“我们已经看到几个使用Copilot帮助新开发者上岗的客户,就像‘这是如何在公司编写代码’一样,”Shanis说。

GitHub看到的变化

生成式AI使开发者能够更创造性地思考他们用代码创造的内容,因为他们可以更快地编程并自动完成他们以前必须手动处理的任务。

“你不必使用Copilot来编写全部代码,你可以选择在哪里使用Copilot,这些通常是你不喜欢做的区域,”她说。“这真的是他们自己的选择,这就是为什么他们是飞行员,而Copilot是他们的副驾驶。”

开发者可以通过在需要时对任务应用生成式AI来适应,或用于他们目前不喜欢的任务,或者对他们以前一直没有时间很好地完成的任务。例如,她说,GitHub正在应用Copilot的一个领域是帮助识别代码集是否存在安全问题。

“我们还将建议如何修复漏洞......或者避免哪些仓库,因为检测到漏洞,所以我们看到AI的巨大元素正在超越Copilot最初的目的,”她说。

她补充说,训练营和大学计划也需要适应。例如,开发人员过去只需学习代码并在头几年专注于此。尽管开发者仍需从编码基础开始,但他们也将被期望更早地学习系统架构和设计。也许更重要的是,AI工具将成为常规课程,因为这是编写代码的新标准,她补充道。

“我们需要教开发者——前端开发者和后端开发者——如何使用它,”她说。“是的,他们必须了解代码,他们需要了解代码......但它也将把对系统设计和系统架构的需求提前到他们职业生涯的更早阶段。”

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注