外媒:AI時代寫程式碼不再為王幹軟體質檢才能飯碗長存
隨著人工智慧技術的興起,軟體界流傳著這樣一則笑話:過去,軟體開發人員需要兩天時間編寫程式碼,而軟體品質工程師則需一天時間進行測試。但在人工智慧的輔助下,編寫程式碼的時間縮短為一天,測試時間卻延長至兩天。
這項轉變可能讓開發人員不以為然,但對軟體產業的工程師和企業而言,卻是一項嚴峻的挑戰。人工智慧正在推動生產效率的提升,並正在改變勞動力配置。原本佔據開發工作主體的程式碼編寫任務,現在逐漸向軟體發布前的各項準備工作轉移。
長期以來,所謂的內循環一直是軟體開發的核心,而如今,外循環的重要性日益凸顯。這個改變聽起來宛如科幻電影劇情,彷彿人類被賦予了功能強大的機器人助手。
人工智慧在軟體開發領域的應用尚處於初期階段,因此這種戲劇性的變化尚未波及整個產業。但這樣的日子終將到來,為了不被時代潮流淘汰,企業和團隊應從現在開始做好規劃。
內循環與外循環
儘管並非一成不變,但許多軟體團隊在產品開發過程中都採取了類似的勞動分配方式。
所謂的內循環涵蓋了開發軟體過程中涉及的各種高價值、創造性任務,如設計、編寫、建構和調試程式碼等。這些任務通常由單一開發人員在程式碼共享給團隊其他成員之前獨立完成。
相較之下,外循環則著重在更多重複性工作,這些工作往往會分散人們對內循環中高價值任務的注意力。其中,主要任務包括測試程式碼的安全性、可靠性、品質和可用性等。
那麼,人工智慧是如何改變內外循環之間的平衡的呢?人工智慧助理能夠幫助開發人員輕鬆創建程式碼,將一個概念轉化為程式碼可能原本需要幾天甚至幾週時間;而有了人工智慧的幫助,幾秒鐘即可完成。但生成的結果更類似意識流作品,而非精心打磨的小說。在作品能夠發布之前,所有這些生成的原料還需一位「編輯」進行打磨。
舉個例子,GitHub的Copilot人工智慧助理讓開發人員的生產力提高了55%,但Copilot產生的程式碼有安全漏洞和設計缺陷的機率有40%。隨著程式碼量的增加,這些問題將外循環轉變為生產的瓶頸。
這種情況將如何影響開發團隊?通常,開發人員與測試人員的比例為3:1。在一家擁有四萬名軟體工程師的大型銀行中,可能有一萬名員工負責安全、可靠性和品質控制。但人工智慧的效果如同擠壓氣球,它會使另一邊膨脹。測試工作量的激增抵消了編碼效率的提升。
開發團隊如何取得進展
對軟體開發團隊而言,挑戰在於如何適應這項變革。想要在競爭中保持領先,公司首先需要解決長期的敵手:瑣事(toil)。
瑣事指那些耗費開發者大量時間和精力的重複性乏味任務。手動測試程式碼、漫長的等待開發完成以及工作進度的申請等,都讓軟體工程師感到沮喪,減緩了工作節奏,推動創新的創意工作也越來越遠。
隨著人工智慧自動化加速內循環,外循環面臨的挑戰可能比以往任何時候都要多。解決方案在於引入可擴展的自動化系統,以確保程式碼的安全性、可靠性和品質。許多人認為這一切都是事後諸葛亮。事實上,許多工程團隊都樂意自己動手DIY修補程式。
專業工具對於消除困擾軟體開發生命週期中的繁瑣任務至關重要,持續整合/持續部署(CI/CD)是關鍵之一。高效率的軟體團隊利用CI/CD方法完成推向產品流程所需的大部分工作。CI/CD能處理建置、測試、部署過程中的瑣碎任務。
安全測試,作為最耗時的任務之一,CI/CD可以提供關於漏洞的詳細信息,優先處理緊急漏洞,並提供快速的修復建議。
雲端成本管理也是最適合自動化的任務之一。恰當的工具可以幫助開發人員詳細追蹤雲端使用情況,透過關閉不活躍資源以降低成本。根據經驗,這甚至可以節省高達70%的成本。
即便是內部開發者平台這樣簡單的工具,也能改變遊戲規則。這些自助式服務入口網站透過整合工具、服務和訊息,加速了生產進程。
得益於生成式人工智慧,這些工具降低瑣事工作量、加快部署速度的能力正不斷增強。
現在就開始培養人才
自動化雖然是成功的關鍵,但隨著外循環的任務不斷擴大,人才短缺的問題也日益嚴峻。很快,我們將進入一個軟體品質工程師比程式設計師更受歡迎的時代,專注於測試的人才可能獲得更高的薪酬。
公司應制定計劃,招募和培養所需的人才。吸引軟體開發人才的關鍵在於提供有吸引力的工作體驗。薪酬是基礎,但開發人員也需要了解公司的使命,在工作中面對挑戰,並使用適當的工具。
當人工智慧重新定義軟體開發生命週期時,最受需求的職位會是什麼?預計軟體品質管理者、工程師以及可靠性工程師將成為搶手人選。
人工智慧引發的這種變革不會一夜之間發生,但提前做好準備的軟體團隊將處於更有利的位置,更快地將產品推向市場。最終,如何支撐外循環可能成為成功與否的關鍵。