別再用「代碼量」衡量產出了!GitHub發布調研報告:92%開發者都在用AI工具寫代碼
編程不僅僅是編寫和發布代碼,還需要熟練使用諸多開發工具來進行版本控制、團隊協作、配置環境等。
而隨著GitHub Copilot和ChatGPT類大語言模型的發布,編程這件事究竟是變難了(需要學習一個新AI工具),還是變簡單了(讓AI輔助編程)?
最近,GiHub展開了一項關于「AI對開發者體驗影響」的調查,有500名美國企業開發人員參與了調研報告,主要關注AI工具在生產力、團隊協作,以及如何在工作環境中發揮最大作用等方面的影響。
調查結果發現:
1. 92%的美國開發人員在工作內和工作外都會使用AI編程工具,并且70%的程序員認為人工智能可以帶來效率的提升。
2. 構建和測試中的等待問題仍然嚴重。
盡管在DevOps上,全行業都在積極投資和開發,不過開發人員仍然表示,除了編寫代碼之外,在工作中做的最耗時的事情是等待構建和測試。
3. 開發者需要更多的合作。
企業環境中的開發人員平均需要與21名工程師一起工作,他們希望協作成為績效評估的首要指標。
4. 開發者認為AI會有所幫助,超過五分之四的開發人員希望AI編碼工具能讓開發團隊更具協作性。
5. 開發人員也看到了AI帶來的巨大優勢。
70%的受訪者表示,希望AI編碼工具可以幫助提高代碼質量、縮短完成時間和解決事故。
GitHub首席產品官Inbal Shani表示,「工程領導者需要思考,代碼量是否仍然是衡量生產力和產出的最佳方式。」
答案顯然是否定的。
Inbal Shani認為,「大規模的創新就是通過提高開發人員的生產力和滿意度,并使開發者能夠每天都做最好的工作。」
根據調查,開發人員希望提高技能、設計解決方案,從最終用戶那里獲得反饋,并對團隊溝通技巧進行評估。
換句話說,用AI生成代碼是達到目的的手段,而不是目的本身。
用AI提升績效
從調查結果來看,幾乎所有(92%)的開發人員都會在工作中使用AI編碼工具,大多數(67%)開發者在工作環境和個人時間中都使用過,不過還有6%的開發人員表示他們只在工作之外使用編碼輔助工具。
超過70%的開發者表示,AI輔助編程已經改變了開發人員處理日常工作的方式,這一趨勢也迫使項目領導人不得不采購企業級AI工具以避免開發人員使用未經批準的輔助工具。
不過,企業也應該建立使用人工智能工具的管理標準,以確保輔助工具的用途符合道德規范并且高效率。
用AI=高績效
越來越多的開發人員開始在工作中使用AI工具,調查結果表明,開發者不僅僅只是出于好奇或無聊的興趣,而是認定AI編碼工具可以幫助提升效率。
開發人員表示,AI編碼工具可以滿足現有的性能標準、提高代碼質量、更快地輸出代碼,而且生產級事故也會更少,這些指標也應該用來衡量代碼量以外的績效。
開發人員普遍認為人工智能編碼工具將融入他們現有的工作流程并帶來更高的效率,但他們不認為人工智能會改變軟件的制作方式
大約三分之一的開發人員報告說,部門經理目前會根據編寫的代碼量來評估績效,而使用AI可以更快地編寫更多的代碼,不過需要注意的是,開發者的代碼量可能并不一定與其業務價值相對應。
隨著軟件開發中使用的人工智能工具的增加,代碼量也會飛速增長,項目領導者需要思考「代碼量」是否仍然是衡量生產率和輸出的最佳方法。
AI促進團隊協作
除了提高個人表現外,超過五分之四(81%)的受訪開發人員表示,AI編碼工具將有助于提高團隊和組織內部的協作。
事實上,安全審查、項目規劃和結對編程都需要開發者之間的協作,也是開發團隊期望并且應該在AI編碼工具的幫助下完成的任務,調查結果也表明,代碼和安全審查仍然很重要。
值得注意的是,開發人員認為使用AI編碼工具可以讓他們有更多時間專注于解決方案設計,對于開發團隊來說也有益處,意味著開發人員會花更多的時間用AI設計新功能和產品,而非編寫模版代碼。
開發人員已經在使用生成式AI編碼工具來自動化他們的部分工作流程,為安全審查、項目規劃和結對編程等更多協作項目騰出了時間。
用AI防止員工倦怠
根據調研中開發人員的說法,AI編碼工具不僅可以幫助提高整體生產力,還可以提供提升技能的機會,幫助打造更聰明的員工隊伍。
其中57%的開發人員認為AI編程工具可以幫助他們提高編程語言技能,也是最直接、最大的受益點。
開發人員一直將「學習新技能」列為讓工作更積極的頭等大事,但也有30%的人表示,學習和開發會對他們的整天工作產生負面影響,可能會在工作日內增加工作量。
41%的開發者認為AI工具也可以幫助減少認知上的負擔,因為人的精力都是有限的,更快地完成工作可以減少倦怠感。
在之前的一份研究中,高達87%的開發者認為GitHub Copilot可以幫助完成重復性任務,保留腦力,可以專注于解決軟件開發中更具挑戰性和創新性的工作。
AI正在全面改善開發者體驗
在調查中,開發人員表示,使用AI編碼工具可以更好地滿足代碼質量、完成時間和事故等標準,這些也是開發人員自認為關鍵的代碼評估指標。
AI編碼工具還可以幫助降低編碼錯誤的可能性并提高代碼的準確性,最終為用戶帶來更可靠的軟件、更高的應用程序性能,以及讓開發者取得更好的績效指標。
隨著人工智能技術的不斷進步,這些編碼工具很可能會對開發人員的績效和技能提升產生更大的影響。
AI編碼工具正在分層到現有的開發人員工作流程中,并創造更高的效率。
開發人員認為AI編碼工具可以提高生產力,但他們并不認為AI工具會從根本上改變軟件開發的生命周期。
自動化和人工智能的使用已經成為開發人員工作流程的一部分,目前已經有諸如基于機器學習的安全檢查和CI/CD管道等工具,但這些工具并沒有改變操作,而是通過提高效率,為開發者騰出了更多時間專注于開發解決方案。
除了探索人工智能工具外,工程和商業領導者還應該考慮以下三個要點來改善開發人員體驗:
1. 使用工具、流程和實踐幫助開發者流暢工作以提高生產力、推動影響力,并進行創造性和有意義的工作。
2. 打破組織孤島,為開發人員提供有效溝通的機會來增強協作。
3. 對人工智能工具進行投資,預留出給開發人員提升技能的時間和空間,可以幫助公司布局未來,提前進行實驗和技術創新。