作为新技术和实践的早期采用者,开发人员往往是业务环境变化的领头羊。这就是为什么在GitHub,我们相信,越多的企业能够理解开发人员需要什么才能发展壮大,他们就越能更好地支持其他组织。
这一点在他们采用人工智能的过程中表现得最为明显。虽然世界仍在努力解决其用例,但我们发现开发人员已经在大规模使用它。事实上,我们最近对开发人员的调查发现92%的人已经在使用AI工具在工作或私人时间。通过研究它们的采用和实现方法,我们可以在工作场所更好地应用这些工具,让所有团队受益。
这就是我们进行这项调查的原因,详细内容如下:了解开发人员对人工智能技术的看法以及他们想如何使用它。我的看法是,他们希望在时间紧迫的情况下合作解决实际问题并推动影响。好处是什么?他们相信人工智能会有所帮助。
下面,我将讨论如何充分利用人工智能和投资于优秀的开发人员体验(DevEx),即系统、技术、流程和文化,以帮助开发人员推动影响力,提高生产力和协作。
开发人员希望推动影响力和协作,他们认为AI将有所帮助
开发商排名设计新问题的解决方案在对工作日产生积极影响的四大任务中。你可以在下面的图表中看到其他内容:开发人员希望有机会与最终用户接触并产生影响,但他们通常会花费更多的时间等待构建、测试和部署。
![调查结果显示,软件开发人员认为什么对他们的工作日和实际工作时间最长的任务影响最大。](https://github.blog/wp-content/uploads/2023/10/image1.png?resize=1024%2C967)
开发人员也希望进行协作。在我们最新的调查中,他们报告说,在一个典型项目中平均与21名其他工程师合作,52%的人说他们每天或每周与其他团队合作。
![调查结果显示,软件开发人员和工程师在一个典型项目中与多少人合作,以及他们与其他团队合作的频率。](https://github.blog/wp-content/uploads/2023/10/image2.png?resize=1024%2C967)
开发人员认为协作对他们的工作至关重要,因此当被问及他们的绩效指标时应该通过衡量,他们将协作和通信列为优于代码质量的首选度量标准。
![对软件开发人员和工程师的调查结果表明,他们的公司使用什么指标来衡量他们的绩效,以及他们的公司应该使用什么指标衡量他们的性能。](https://github.blog/wp-content/uploads/2023/10/github-developer-productivity-survey.png?resize=1024%2C778)
事情是这样的:开发人员认为AI可以帮助改进协作、个人生产力和解决方案设计。最大的好处包括:
- 81%的人认为AI编码工具将帮助他们更好地协作,这就是为什么GitHub相信AI将成为构建公司文化和信任的游戏规则改变者。
- 超过50%的人认为人工智能工具将帮助他们将注意力从重复性任务转移到更高价值的问题解决上。
- 近50%的人认为人工智能将帮助工程团队更加关注解决方案设计和创新。
早期研究还表明,人工智能编码工具,如GitHub Copilot,做实际上也可以改善协作。在一项研究中,我们发现使用GitHub Copilot时,开发人员完成代码审查的速度提高了15%.和采用GitHub Copilot后,Duolingo的代码审查时间中位数增加了67%-这表明使用人工智能的开发人员确实花了更多的时间进行协作。
如果实施人工智能意味着提高工程团队的生产力、协作和创新,那么组织也会在其他团队中实施人工智能。了解如何最好地做到这一点,首先要关注一个已经在使用这些工具的群体:你的工程师。
![软件开发人员调查结果显示开发人员在哪里使用AI编码工具。](https://github.blog/wp-content/uploads/2023/10/image3.png?resize=935%2C1024)
![软件开发人员调查结果显示,开发人员认为AI编码工具在哪些方面对他们的日常工作最有帮助。](https://github.blog/wp-content/uploads/2023/10/image6.png?resize=855%2C1024)
现在怎么办?让您的组织做好采用人工智能的准备
开发人员现在是公司中首批大规模使用人工智能的团队之一,组织应该注意他们的开发人员如何使用和围绕生成性人工智能进行构建,并将这些实践扩展到工程之外。
在GitHub,我们从开发人员社区吸取了教训,以改进整个组织的运营,包括非开发团队。我们还从发布开发人员优先的产品中学到了一些东西,包括GitHub Copilot,世界上第一个大规模和最广泛采用的生成性人工智能编码工具这里有三个建议,供其他想要操作人工智能的组织领导人参考全部的团队。
提示1:优先考虑敏捷性
GitHub在中构建新产品小型灵活的老虎队并集成紧密反馈回路在整个产品开发过程中。我们还试图避免沉没成本谬论团队继续走他们知道的路是不正确的,因为他们已经投入了资金和时间。这种敏捷性允许我们的团队高效地构建并在没有瓶颈的情况下做出决策。
事实上,正是这种方法引导我们发展GitHub Copilot公司是业界第一个大规模AI编码工具。几年前,我们从OpenAI获得了一个AI模型,我们知道这个模型很强大,我们想把它交给开发人员。
然而,如何将这种人工智能模型转化为一种产品还不完全清楚,我们需要一个由高度协作的主题专家组成的小团队来找出最好的方法,研究人员很容易就一个重点明确的问题达成一致意见,让开发人员在IDE(集成开发环境)中使用编码功能——更快的实验,最终,更快上市。一旦你有了一个最小可行产品(MVP),你就可以开始在一个给定的项目中引入更多的人来继续迭代。
我们的调查结果表明,开发人员与许多不同的人合作。所以,你可能想知道为什么我要强调小团队的效率。
开发人员依靠跨功能协作来确保他们正在构建的产品能够解决实际问题。如果协作做得好,整个组织的团队都会专注于正确的问题,这将带来更好的解决方案和更强的业务影响。底线是,尽管软件可能由一个小团队编写,但开发人员并不是在孤岛中构建产品。
提示2:改进与AI驱动的内部源代码的协作
我作为开发人员的经历告诉我,软件开发是一项团队运动,这使得协作至关重要。我们的调查中大量的人类合作也表明组织的运营问题本质上是人的问题这意味着除了正确的工具之外,文化也会影响协作的质量。
组织可以从开源社区学习创建协作文化的最佳实践,然后在流程中使其适应内部团队称为内部源.
开发人员已经在innersource中看到了价值。在我们的调查中,近90%的开发人员表示,内部源代码实践提高了团队绩效。
![软件开发人员调查结果显示了开发人员使用innersource为其团队和公司带来的好处。](https://github.blog/wp-content/uploads/2023/10/image4.png?resize=597%2C1024)
从更高的层次上讲,内部源代码通过公开记录工作流、决策(包括围绕这些决策的上下文)和解决方案等实践,使工作在整个组织中更加可见和可发现,对于开发人员来说,这些实践通常归结为代码。
但这些实践不仅对开发人员有用。根据我们的经验,他们在与整个组织分享重要决策的背景方面非常有效,鼓励每个人参与并解决问题,并帮助团队避免重复工作。事实上,实用主义工程师之前已经指出最好的开发公司专注于为人们提供上下文和信息,以解决关键的业务问题这与分配待完成工作的更传统、层次分明的公司形成了对比。
Innersource还承诺帮助团队提高生产力和协作性,同时让他们从人工智能中获得更大的利益。在GitHub,我们经常说,如果某些东西没有写下来并且很容易发现,那么它就永远不会发生。我们这样做是为了确保没有人会受到他们目前拥有的信息量或上下文(包括我们的人工智能模型)的限制。
我们不仅为我们的开发人员优先考虑文档。例如,我们最近发布了一个早期的alphaGitHub支持中的GitHubCopilot,客户无需等待我们的支持团队即可获得问题的解答。此次发布是一项持续努力的一部分,旨在将AI引入GitHub内的所有团队,以便团队成员能够专注于最重要的影响领域。
如果你想让你的团队今天取得成功,为了明天的AI利益,这里有一些你可以开始推广的内部实践:
- 如果你喜欢你听到的,把它录下来并让它被发现(记住:现在有很多视频和生产力工具提供AI驱动的总结和行动项目)。
- 如果你为你的团队提出了一个有用的解决方案,请与更广泛的组织分享,这样他们也可以从中受益。
- 为公开共享的信息和解决方案提供反馈。但记住要批评作品,而不是批评人。
- 如果您请求更改项目或文档,请解释您请求更改的原因。
提示3:使用人工智能进行学习和发展
提高技能对开发人员来说很重要:它有助于他们领先于技术变革并设计更具创新性的解决方案。提高技能对其他团队同样重要,尤其是随着AI进一步进入劳动力市场。
那么,开发人员如何学习新技能,我们可以从中学习什么?
在我们的调查中,开发人员始终将学习新技能列为积极工作日的首要贡献者。然而,30%的人也表示学习和发展会对他们的整个工作日产生负面影响,这表明开发人员有时将学习和开发视为额外的工作.
不仅仅是开发人员有这种感觉。一般来说,员工发现学习和发展往往需要不切实际的时间承诺,研究表明将技能提升构建到工作流中时最具影响力.
你如何为整个组织的知识共享和学习创造时间和文化?以下是我们在GitHub的做法。
我们尝试使用AI编码工具,这些工具可以帮助在其工作流中直接教育开发人员例如,在GitHub Copilot for CLI的技术预览,有一个解释功能GitHub Copilot建议命令后出现。该特性解释了建议的shell命令背后的函数,这样开发人员可以针对他们试图解决的原始问题验证该命令。同样GitHub Copilot聊天使开发人员能够要求AI助理解释代码块应该做什么、调试代码、解释如何使用新语言或框架等。
![命令行界面中AI编码工具GitHub Copilot的屏幕截图。](https://github.blog/wp-content/uploads/2023/10/image8.png?w=822&resize=822%2C404)
AI驱动的学习也不仅仅适用于开发人员。随着越来越多的人工智能工具进入工作场所,更多的团队将能够在工作流程中提问,并通过人工智能助理获得答案。随着人工智能模型的改进,它们将能够基于内部知识库提供更加个性化的答案、建议和输出,这将进一步强调文档和内部源代码实践的重要性。积极的内源文化可以导致AI驱动的工具,将持续学习贯穿始终全部的工作流.
AI承诺在帮助个人和团队提升方面具有巨大潜力,但单靠电脑不足以帮助某人全面发展技能我们鼓励高级工程师花更多时间指导初级或中级工程师的工作,而不是将其视为一项单独的任务。在实践中,这意味着如果开发人员不确定某个东西是如何工作的,他们会被鼓励在代码准备好之前就打开一个pull请求进行审查,而不是对他们的不确定性保密。其他角色也是如此。我们的内部文化鼓励人们大声说话,创造学习的机会。因此,公司的导师和领导者在需要的时候进行教学授权所有员工拥有自己的工作这些都是创造一个信任、协作的环境、产生创新解决方案的关键因素。
我相信,学习和教授如何做好一件事,无论是编写干净有用的代码,还是与不同的群体进行清晰的沟通,都将继续是一项需要时间的人类努力。然而,人工智能工具,以及成功的内部资源和人工智能采用所产生的协作文化,可以帮助人们腾出更多时间进行提升,这是一个巨大的胜利.
前进的道路
人工智能将改变建立公司文化和信任的游戏——从提高协作和绩效到提高工作技能。随着公司准备采用人工智能,各种规模的组织都将从以下方面受益:
- 小型、高度协作、敏捷的团队,专注于推动新产品和创新。
- 来自真实用户的更多反馈,告知产品可用性,并加快迭代,从而提高产品质量。
- 采用内部源代码实践,帮助开发人员今天更高效、更协作,同时使组织能够从明天的AI中获得更大的利益。
- 拥有AI工具的更智能、更协作的劳动力为提高技能和指导提供了更多机会。
从本质上讲,对DevEx进行投资——所有这些系统、技术、流程和文化共同努力,以提高开发人员的生产力和满意度——将做好准备全部的AI推动增长和创新的企业团队。