您的位置:首頁 >聚焦 > 關注 >

新資訊:Github調研:開發者對生產力、協作和AI編碼工具的看法

2023-06-24 07:59:31 來源:程序員客棧

Datawhale干貨?

翻譯:段秋陽 Datawhale成員


(資料圖片)

調研背景

GitHub首席產品官Inbal Shani如是說:

今天的開發人員所做的不僅僅是編寫和發布代碼,他們還需要熟練應用各種工具、環境和技術,包括生成人工智能編碼工具這個新領域。但對開發人員來說最重要的不是故事點或部署速度。這是開發者體驗(DevEx),它決定了開發人員如何有效和高產地超越標準、進入心流狀態并產生影響。

我不僅是作為GitHub的首席產品官這么說的,還作為一個長期從事開發工作并在整個技術棧的各個部分都有過工作經驗的開發人員。幾十年前,當我獲得機械工程碩士學位時,我成為第一批在實驗室里應用人工智能的技術人員之一。那時,我們的模型需要五天時間來處理我們的大型數據集--考慮到今天的人工智能模型的速度,這一點令人震驚。我渴望擁有能提高效率并縮短生產時間的工具。這就是為什么我對開發者體驗充滿熱情,并將其作為GitHub首席產品官的重點。

在生成式人工智能的快速發展中,我們希望從開發人員那里更好地了解新工具和當前的工作流程是如何影響整個開發人員體驗的。作為一個起點,我們關注了開發者體驗的一些最大的組成部分:開發者的生產力、團隊協作、人工智能,以及開發者認為他們如何能夠最好地推動企業環境中的影響。

為此,我們與 Wakefield Research 合作,對企業公司的 500 名在美國擁有1,000多名員工的公司的開發人員。

我們將展示組織如何消除障礙,幫助企業工程團隊在這個新的軟件開發時代推動創新和影響。歸根結底,大規模創新的方法是通過提高開發人員的生產力、提高他們的滿意度并使他們每天都能做到最好來賦予開發人員權力。畢竟,如果沒有有權推動影響的開發人員,就不可能有進步。

調查的主要結論人工智能已經到來,而且正在大規模使用。92%的美國開發者已經在工作中和工作外使用人工智能編碼工具。等待構建和測試仍然是一個問題。盡管整個行業都對 DevOps 進行了投資,但開發人員仍然表示,除了編寫代碼之外,他們在工作中做的最耗時的事情就是等待構建和測試。開發人員希望有更多的合作。企業環境中的開發人員平均與其他21名工程師一起工作,并希望協作成為績效評估的首要指標。他們認為人工智能會有所幫助。超過五分之四的開發人員預計 AI 編碼工具將使他們的團隊更具協作性。開發人員還看到了 AI 的巨大好處。70% 的人表示,人工智能編碼工具將為他們提供工作優勢,并將更好的代碼質量、完成時間和解決事件列為一些AI會帶來的最重要的好處。

在 GitHub,我們意識到大多數開發人員的日常與“關于‘開發人員想要什么’的對話”之間往往存在巨大差距。

通過這項調查,我們希望更好地了解開發人員的典型體驗,并確定公司可以為其開發人員提供支持并取得更大成功的關鍵方式。

C = 協作,整個開發人員體驗的倍增器。

開發者體驗(DevEx) 是一個考慮到以下因素的公式:

開發人員在代碼上實施改變有多簡單和快速--或者說有多高產。從創意到生產再到影響力有多順暢。工作環境、工作流程和工具如何積極或消極地影響開發人員的滿意度。

對于領導者來說,開發者體驗就是要創造一個協作環境,讓開發者能夠在工作中最高產,最有影響力和最滿意。對于開發者來說,合作是方程式中最重要的部分之一。

調研具體結果1.當前的考核指標未達到開發人員的預期在許多情況下,開發人員重視并希望做更多的事情,與他們的績效衡量方式相沖突。學習新技能和設計新問題的解決方案對開發人員的工作日有最積極的影響,但他們的大部分時間是在等待代碼審查、構建或測試。開發人員還認為,他們與他人合作的能力和他們的代碼質量,而不是他們產出的數量和效率,應該是衡量他們的首要績效指標。2.開發人員表示考核指標不符合預期

目前對開發者的評估方式與他們認為應該如何衡量他們的表現并不一致。

例如,我們調查的開發者說他們目前是以他們解決的事件的數量來衡量的。但開發人員認為,他們如何處理這些bug和問題是更為重要的績效表現。這與代碼質量高于代碼數量的信念是一致的,即代碼質量應該仍然是最重要的考核指標。開發人員還認為,在績效指標方面,協作和溝通應該和代碼質量一樣重要。他們與他人協作和溝通的能力對他們的工作至關重要,但只有33%的開發者表示他們的公司將其作為績效指標。

目前用于衡量績效的指標,與開發者認為應該用于衡量其績效的指標進行比較。

排名最高的回答,開發者們表示他們的團隊在包括寫代碼和尋找、修復安全漏洞上花費的精力最多。

3.開發人員希望有更多機會提高技能并提高影響力

當開發人員被問及什么對他們的工作日產生積極影響時,呼聲最高的是學習新技能 (43%)、從最終用戶那里獲得反饋 (39%) 和自動化測試 (38%) 以及設計新問題的解決方案 (36 %) 。

開發人員認為的對他們工作影響最大的任務

但開發人員表示,他們大部分時間都花在編寫代碼和測試上,然后等待代碼被審查或構建和測試被執行。

在平常的一天,我們調查的企業開發人員報告說他們的團隊忙于各種任務,包括編寫代碼、修復安全漏洞以及從最終用戶那里獲得反饋等。開發人員還說,他們在這些任務上花費的時間差不多,這表明他們一整天都很捉襟見肘。

開發人員指出的他們每天花費時間最多的任務

值得注意的是,開發人員表示,他們等待構建和測試的時間與編寫新代碼所花費的時間相同。

這表明盡管在過去十年中對 DevOps 工具進行了投資,但構建和測試的等待時間仍然是一個長期存在的問題。開發人員還繼續面臨障礙,如等待代碼審查、構建和測試運行,這可能會阻礙他們學習新技能和設計新問題的解決方案的能力,我們的研究表明,這些因素會對他們的整體滿意度產生最大影響。4.開發人員希望得到最終用戶的反饋,但面臨挑戰

開發人員說,從終端用戶那里獲得反饋(39%)是對他們的工作日產生積極影響的第二重要的事情--但對于開發團隊來說,直接獲得這種反饋往往具有挑戰性。

產品經理和營銷團隊經常充當中間人的角色,使得開發人員很難直接收到終端用戶的反饋。理想情況下,開發人員會收到來自自動化和驗證測試的反饋以改進他們的工作,但有時這些測試會先發送給其他團隊,然后再移交給工程團隊。

開發團隊的排名最高前兩項日常任務包括編寫代碼 (32%) 和查找并修復安全漏洞 (31%)。

這表明開發人員對安全性的重視程度越來越高,并強調了公司如何將安全性放在首位。這也證明了企業開發團隊在滿足安全方面的政策和董事會指令方面發揮的關鍵作用。5.開發人員在協作環境中茁壯成長

在我們對企業工程師的調查中,開發人員說他們在一個典型的項目中平均與其他21名開發人員合作,52%的人報告說每天或每周與其他團隊合作。值得注意的是,他們將定期接觸列為有效合作的最重要因素。

企業環境中的開發人員通常每天或每周平均與其他21名開發人員一起工作。

但是,開發人員對協作也有一個整體的看法--它不僅被定義為與他人交談和會面,而且還被定義為不間斷的工作時間、進入完全配置的開發人員環境以及正式的導師-學員關系:

沒有團隊溝通的時候給了開發人員時間和空間來編寫代碼,并為團隊目標而努力。對完全配置的開發者環境的訪問促進了整個開發過程的一致性。它還可以幫助開發人員更快地協作,避免聽到臭名昭著的一句話:"但它在我的機器上能用"。導師制度可以幫助開發人員提高技能,建立人際關系技能,這在協作的工作環境中是必不可少的。

我們的調查表明,對有效合作最重要的因素是如此關鍵,以至于當它們沒有有效地完成時,它們會對開發者的工作產生明顯的負面影響。

開發人員表示最常對他們的工作日體驗產生負面影響的任務。

無效的會議可能會分散開發人員的注意力,而不是幫助他們。

6.我們想更多地了解開發人員如何協作

因此,我們從 Twitter 上的關注者那里獲得了一些答案。我們詢問了開發人員他們有哪些有效協作的技巧。這是一位開發人員不得不說的話:

通過與同伴合作并融合他們的想法來展示協同行為。分享信息和資源以促進團隊合作。定期安排會議進行頭腦風暴,設定目標,并對角色進行對齊。使用協作聊天工具,如Slack或Teams,以保持開放的溝通。鼓勵面對面或視頻會議以便更清晰地溝通并避免誤解。通過共享文檔并實時合作來"并肩作戰"。快速且專業地解決沖突以維持健康的團隊環境。以身作則,邀請共同創作和開放溝通。鼓勵團隊成員在需要幫助或支持時尋求幫助。設定清晰,可衡量的目標以跟蹤協作進度和改進。

我們還詢問了是什么讓會議富有成效且有價值:

如果可以異步解決,就不要開會。提前宣布會議議程。設置合理的時間框架。會后明確定義清晰的目標。由沖突驅動(我們在每個人都同意的主題上浪費了太多時間),我們應該專注于沒有達成共識的事情。提前發送主題和閱讀資料。記錄/分享筆記。會議結束后明確的行動和其所有權7.有效協作提高代碼質量

隨著開發人員體驗的不斷定義,成功的開發人員協作也將如此。太多的艾特和消息會影響工作流,但仍然需要保持聯系。

在我們的調查中,開發人員表示有效的協作可以提高測試覆蓋率并更快、更清潔、更安全地編寫代碼——這對任何開發團隊來說都是最佳實踐。這表明,當開發人員與他人有效合作時,他們相信他們會構建出更好、更安全的軟件。

開發人員普遍認為有效的協作有助于改進他們發布的內容以及發布的頻率。

我們調查的開發者認為合作和溝通--連同代碼質量應該是評估的首要任務。

從DevOps到敏捷方法論,開發者和更大的商業世界長期以來一直在談論協作的重要性。但開發人員仍未在這一點上被衡量。

我們請開發人員分享他們對衡量他們的合作情況的想法。以下是一位開發者的看法:公司和工程經理應該鼓勵定期的團隊溝通,并設定時間來檢查--特別是在遠程環境中,但要尊重開發人員的工作需要和專注。

開發人員認為,與同事的有效和定期接觸對有效的團隊合作至關重要。

8.工程經理改善協作的 4 個技巧

在 GitHub,我們的研究人員、開發人員、產品團隊和分析師致力于研究和提高開發人員的生產力和滿意度。以下是他們給希望改善開發人員之間協作的工程領導者的建議:

在績效目標中把合作作為一個目標。這就為人們建立了合作的空間和期望。這可以以午餐和學習、聯合項目等形式進行。定義和界定您組織中的協作情況。讓人們知道他們何時被告知某事與被咨詢某事。概述角色和職責的矩陣有助于定義每個人的角色,這也是 GitHub 團隊已經實現的。讓開發人員有時間交談并相互了解。特別是,遠程或混合組織需要將開發人員的一部分時間和虛擬空間用于建立關系。確定主要和杰出的工程師。學術研究支持變革推動者在組織中的積極影響——以及他們應該如何成為特別擅長協作的人。這是識別您杰出的工程師并將他們提升到可以模擬所需行為的地方的問題。

9.開發人員已經在工作中使用 AI 編碼工具

在美國大公司工作的開發人員中,有92%的人表示在工作或私人時間使用人工智能編碼工具,70%的人說他們看到了使用這些工具的巨大好處。

人工智能將繼續存在——它已經在改變開發人員處理日常工作的方式。這使得企業和工程領導者采用企業級 AI 工具以避免他們的開發人員使用未經批準的應用程序變得至關重要。公司還應該建立使用人工智能工具的治理標準,以確保它們的使用合乎道德和有效。

幾乎所有的開發者都已經在工作中和工作之余使用人工智能編碼工具。

10.開發人員相信 AI 編碼工具將提高他們的表現

由于大多數開發人員都在工作場所嘗試使用 AI 工具,我們的調查結果表明,導致開發人員使用 AI 的不僅僅是興趣。相反,這是對人工智能編碼工具將幫助他們達到性能標準的認可。

在我們的調查中,開發人員表示,人工智能編碼工具可以幫助他們達到現有的性能標準,提高代碼質量,加快輸出速度,減少生產級事件。他們還認為,這些指標應該被用來衡量他們在代碼數量之外的表現。
大約三分之一的開發人員報告說,他們的經理目前根據他們編寫的代碼量來評估他們的績效——同樣數量的開發人員預計,當他們開始使用基于 AI 的編碼工具時,這種情況將持續存在。
值得注意的是,開發人員產生的代碼數量不一定符合其商業價值。保持聰明。隨著軟件開發中越來越多地使用 AI 工具(這通常會增加代碼量),工程領導者需要問,衡量代碼量是否仍然是衡量生產力和產出的最佳方式。11.開發人員認為人工智能編碼工具將帶來更好的團隊協作

除了提高個人績效外,超過五分之四的受訪開發人員 (81%) 表示 AI 編碼工具將有助于加強其團隊和組織內的協作。

事實上,安全審查、計劃和結對編程是最重要的合作點,也是開發團隊在人工智能編碼工具的幫助下應該進行的任務。這也表明,隨著開發人員在工作中增加對人工智能編碼工具的使用,代碼和安全審查仍將十分重要。

開發人員認為,隨著他們開始使用人工智能編碼工具,他們的團隊將需要變得更加協作。

有時,開發人員可以用一行或多行代碼來做同樣的事情。盡管如此,在我們的調查中,仍有三分之一的開發人員表示,他們的經理根據他們編寫的代碼量來衡量他們的績效。

值得注意的是,開發人員認為人工智能編碼工具將使他們有更多的時間專注于方案設計。這有直接的組織效益,意味著開發者相信他們會花更多時間用人工智能設計新功能和產品,而不是編寫模板代碼。

開發人員已經在使用生成式 AI 編碼工具來自動化部分工作流程,從而騰出時間用于更多協作項目,例如安全審查、規劃和結對編程。12.開發人員認為人工智能可以提高生產力并防止倦怠

開發人員認為,AI編碼工具將幫助他們專注于更有價值的問題解決。

根據我們的調查,AI 編碼工具不僅可以幫助提高整體生產力,而且還可以提供技能提升機會,幫助打造更智能的員工隊伍。

57% 的開發人員認為 AI 編碼工具可以幫助他們提高編碼語言技能——這是他們看到的最大好處。除了作為提高技能的輔助工具之外,開發人員還表示,AI 編碼工具還可以幫助減少認知工作,而且由于心智能力和時間都是有限的資源,41% 的開發人員認為 AI 編碼工具可以幫助防止倦怠。在我們之前進行的研究中,87% 的開發人員報告說,AI 編碼工具 GitHub Copilot 幫助他們在完成更多重復性任務的同時保持腦力勞動。這表明 AI 編碼工具允許開發人員保留認知努力,并專注于軟件開發或研發中更具挑戰性和創新性的方面。AI 編碼工具可幫助開發人員在工作時提高技能。在我們的調查中,開發人員始終將學習新技能列為積極工作日的第一大貢獻因素。但 30% 的人還表示,學習和發展會對他們的整體工作日產生負面影響,這表明一些開發人員認為學習和發展會增加他們工作日的工作量。值得注意的是,開發人員表示 AI 編碼工具的最大好處是學習新技能——這些工具可以幫助開發人員在工作時學習,而不是讓學習和開發成為一項額外的任務。

開發人員已經在使用生成式 AI 編碼工具來自動化部分工作流程,從而騰出時間用于更多協作項目,例如安全審查、規劃和結對編程。

展望

開發人員滿意度、生產力和組織影響力都可以從 AI 編碼工具中獲得提升——這將對整體開發人員體驗產生重大影響。

92% 的開發人員已經表示他們在工作和私人時間使用 AI 編碼工具,這清楚地表明 AI 將繼續存在。在我們調查的開發人員中,70% 表示他們已經看到使用 AI 編碼工具帶來的顯著好處,在我們調查的開發人員中,81% 期望 AI 編碼工具能夠讓他們的團隊更加協作——這對于希望同時提高開發人員效率和開發人員體驗的公司來說是一個凈收益。

值得注意的是,57% 的開發人員認為 AI 可以幫助他們提高技能,并具有將學習和發展融入日常工作流程的潛力。考慮到所有這些,技術領導者應該開始探索人工智能作為提高滿意度、生產力和整體開發人員體驗的解決方案。

除了探索 AI 工具外,工程和業務領導者還應考慮以下三個要點,以改善開發人員體驗:

使用工具、流程和實踐幫助您的開發人員進入心流狀態,從而幫助他們提高工作效率、推動影響并開展創造性和有意義的工作。通過打破組織孤島并為開發人員提供有效溝通的機會來促進協作。通過對 AI 的關鍵投資為開發人員工作流程中的技能提升騰出空間,以幫助您的組織為未來進行實驗和創新。

參考資料:

https://github.blog/2023-06-13-survey-reveals-ais-impact-on-the-developer-experience/

整理不易,點贊三連↓