通过自动化例行任务并增强人类能力,人工智能可以简化工作流程,增强安全性并加速创新。
译自 Modernizing the Developer Experience With AI,作者 Sabrina Farmer。
今年早些时候,当我担任GitLab首席技术官时,我重新阅读了我最喜欢的书之一,“十亿美元教练”。这本摆脱了公司术语的领导力经典著作,提供了切实可行的见解,并让我再次想起我想带到新角色中的经验教训和价值观。
这本书的重点是前足球运动员和教练Bill Campbell,他成为了一名科技高管,并指导了一些科技行业最成功的企业家。Coach Bill(他的昵称)的一句座右铭让我印象深刻:“先处理团队,再处理问题”。对他来说,这意味着领导者应该组建高绩效团队,并为他们提供资源和自由,让他们成就伟大的事业。
在我们应对DevSecOps不断变化的格局和AI的变革力量时,这种理念与我产生了共鸣。通过组建强大的团队并赋予他们创新能力,我们可以在面对复杂性时取得成功。
大多数DevSecOps团队的目标是缩短高质量软件的部署时间,以解决业务问题并增加收入。然而,根据我的经验,许多组织都关注开发人员的生产力,而没有考虑开发人员体验。换句话说,他们拥有专注于耗时、枯燥和重复性任务的优秀开发人员,并且他们在巨大的截止日期压力下完成这些工作。虽然这些任务是可以计算的,但将工程师的生产力衡量限制在这种工作上可能会非常令人沮丧。
好消息是,巧妙地使用AI可以消除软件交付过程中的许多摩擦,因为它可以接管一些最不吸引人的工作。这加快了部署周期,提高了代码的安全性和质量,并提高了开发人员的士气。
例如,AI可以在开发人员工作时建议或自动完成代码,创建和执行各种测试,或者以预定的标准格式自动记录代码功能,所有这些工作否则都会占用开发人员的大部分时间。
所有这些机会都意味着更好的开发人员体验。DevSecOps一直以来都是关于自动化的,那么为什么不自动化团队成员觉得不太吸引人的任务呢?
根据GitLab 2024全球DevSecOps报告对5000多名软件开发人员的调查结果,这种转变正在进行中。他们报告说,AI和机器学习(ML)正在软件开发工作流程中得到广泛应用。不到四分之一的受访者将时间花在新代码的编写上,其余时间花在会议和行政任务上,改进现有代码,测试以及识别和减轻安全漏洞。这代表了开发人员日常任务的75%以上,AI可以在其中提高效率。
当AI承担压力时,人类可以专注于他们最擅长的事情:批判性思维、解决问题和创造性创新。工程师喜欢处理具有挑战性的重大项目,这些项目考验他们的解决问题的能力。为什么不让他们的时间集中在这些方面呢?
当组织有计划地部署AI时,他们还可以为寻求职业发展的有抱负的开发人员创造重要的技能提升机会。它不仅能让他们节省宝贵的时间、精力和专注力来学习新技能,还可以作为他们的优秀教练——就像Bill Campbell一样。
例如,AI可以传授关于优化代码以使其更快的宝贵经验,了解如何更好地构建现有代码,以及在代码部署之前很长时间就识别和修复漏洞。开发人员可以使用AI来学习或重新熟悉不熟悉的代码库、语言和框架。
全球战略公司麦肯锡公司2023年的一份报告发现,在工作中使用基于生成式AI的工具的开发人员报告整体幸福感、成就感和“心流状态”的可能性比没有使用这些工具的同行高出两倍多。根据报告作者的说法,“他们将此归因于这些工具能够自动化繁琐的工作,从而使他们能够完成更令人满意的任务,并比在不同在线平台上搜索解决方案更快地获取信息。” 这些是每个组织都希望招聘并留住的开发人员,正是Campbell所描述的拥有“智慧和爱心”的那种人。而这正是每位工程领导者都应该努力提供的开发人员体验。
Campbell 对构建强大的团队和赋能优秀个人 的不懈关注,与现代 DevSecOps 环境完美契合。通过提供合适的工具和营造积极的工作环境,我们可以吸引、留住和激励顶尖的技术人才。
人工智能成为这个等式中强大的催化剂。通过自动化日常任务和增强人类能力,人工智能可以简化工作流程,增强安全性并加速创新。最终,它使团队能够交付卓越的软件,推动业务成功和个人满意度。