前言
2022年11月,ChatGPT橫空出世,迅速在全球引起風潮,成為史上最快超過一億人使用的App。ChatGPT可以像人一樣對話,還可以快速寫出程式碼,甚至通過Google L3工程師考試。一時之間,「ChatGPT會不會取代軟體工程師?」的議題,在媒體上引發熱烈討論。
為了深入探討這個問題,BHRC耗時一個月的時間,完成台灣第一份<ChatGPT對軟體工程師職涯影響>的實證研究報告。我們訪談來自海內外68間公司的80位軟體人才,深入了解工程師使用ChatGPT的實際狀況。發現和大家常聽到的「AI取代論」很不同:ChatGPT其實是一個強化型的工具,而不是取代型的工具(ChatGPT協助工程師產能提升了11.6%,只有<7.5%的人有可能被取代),ChatGPT不僅不容易取代工程師,更為工程師和企業開啟了寬廣機會。
本報告主要分為五段:
一、研究初衷
二、研究方法和成果
三、為什麼ChatGPT提升了產能,卻很少取代軟體工程師的工作?
四、ChatGPT作為工具的特性
五、結論
一、研究初衷 - ChatGPT真的會取代軟體工程師嗎?
2023年上半年,常常會有機會聽到「ChatGPT會取代軟體工程師」的說法。關於ChatGPT會取代軟體工程師的說法,主要可以歸納為三大類:
ChatGPT能取代工程師: 今年三月,一家新創CEO在商業周刊1846期的專訪中提到,該公司決定採取裁員激進作法,推動AI改革。該公司的會計同仁,使用ChatGPT之後,就能夠寫出原本需要六人團隊(包括RD Lead/ 前後端)才能開發的自動化流程,而且每個成員都可以做到類似的事。
Jr. Engineer會受到較大影響: 今年四月,和資深AI工程師的好友討論時,他提到他和一些工程好友認為:「ChatGPT能發揮類似Jr. Engineer的功能,資深工程師使用ChatGPT會增加產能,未來團隊很可能不用這麼多Jr. Engineer。」他們認為未來Jr. Engineer的職缺會減少。
生成式AI對高薪知識工作者影響最大: 今年六月,麥肯錫發表了<生成式AI經濟潛能報告>,指出生成式AI和以往不同,它能夠將人類的認知能力自動化。因此,生成式AI對於「高薪知識工作者(包括軟體工程師)」的影響最為顯著。
雖然時常聽到「ChatGPT會取代軟體工程師」,但做為軟體獵頭,我們卻很少在人才市場上遇到真的因為AI而失業的工程師。
為了瞭解「ChatGPT會不會取代軟體工程師?」,BHRC進行一份系統性的實證研究:請教80位台灣軟體工程師如何受到ChatGPT影響?希望可以提供給關心「軟體工程師」這份專業的人們參考。以下為我們的研究成果:
二、研究方法和成果
研究方法:BHRC訪談80位軟體人才三個問題,統計分析訪談成果,進一步探討原因,以下為訪談的三個問題:
請問生成式AI/ ChatGPT的興起, 對您們的工作流程有沒有產生影響?
會不會因此增加產能?如果有,大概增加多少%? 或你會如何描述增加了哪些產能?
會不會因此減少或增加團隊的人才需求?
研究成果摘要:ChatGPT提升了軟體工程師產能,卻很少取代工程師。
ChatGPT目前還極少取代工程師:截至目前為止,只有6人 (7.5%) 提到有可能有工程師被取代(但目前都還沒有發生)。反而還有4人(5%)提到公司因為有生成式AI的新專案,有增加工程師需求。
ChatGPT對大多數工程師的產能有正面提升,平均提升11.6%的產能:總共有76.25%工程師表示ChatGPT或生成式AI對他們的產能有正面幫助,產能一般提升在0%~30%。所有工程師平均提升11.6%的產能。
ChatGPT對Jr. Engineer的幫助更大:Jr. Engineer有87.5%有幫助,產能提升率有23%。使用時間也更長。
表1. ChatGPT對80位軟體人才產能和工作機會的影響
| 人數 | 產能提升 人數 | 產能提升 人數比例 | 平均產能 提升率 | 職缺可能會 減少 | 職缺可能會 減少比率 |
工程主管 | 22 | 18 | 81.82% | 12% | 2 | 9.1% |
年資>3年 | 50 | 36 | 72.00% | 10% | 3 | 6.0% |
年資<3年 | 8 | 7 | 87.50% | 23% | 1 | 12.5% |
Total | 80 | 61 | 76.25% | 11.6% | 6 | 7.5% |
樣本簡介
樣本總數:80位軟體人才。
軟體人才年資分佈:22位工程主管 / 50位資深工程師(年資>3年)/ 8位 Jr. Engineer (年資0~3年)
軟體人才背景:80位工程師來自於68家不重複公司,來自包括Apple / Microsoft / Google / Amazon / Meta / TSMC / ASML / MTK / Line,也包括知名軟體和新創公司 Binance / Trend Micro / Smartnews / Appier / Shopee / Shopback / Houzz/ Shopline / 和金控公司中信金/ 元大金。產業則涵蓋純軟,軟硬體整合,IC design,金融Fintech,AI雲端公司。
小結:在訪談80名軟體工程師之後,我們發現了「ChatGPT提升了軟體工程師總產能約11.6%。但只有7.5%的人提到有可能會取代工程師」的現象。在下一段,我們會更深入探討這個現象的成因。
三、為什麼ChatGPT提升了產能,卻很少取代軟體工程師的工作?
為了要回答這個問題,我們嘗試更深入探討兩個根本的問題:
軟體工程師的工作內容是什麼?
軟體工程師如何使用ChatGPT?
軟體工程師的工作內容是什麼?
除了寫程式之外,軟體工程師還需要做很多其他的事。一般而言,軟體工程師的工作內容主要分為三大類,包括「工程任務」「非工程任務」「和人互動」。表2有分類整理「軟體工程師工作內容」。
表2. 工程師工作內容
工作類型 | 工作內容 |
工程任務 | 系統設計、做prototype、學習相關新知識、搜尋技術資訊、寫程式、檢查和debug、上傳和部署程式、寫文件。 |
非工程任務 | 商務溝通:email、寫報告、翻譯、做簡報、教學檔案、讀資料 吸收資訊和歸納摘要 |
和人互動 | 了解需求、參與產品討論、團隊協調、開會、處理人的問題 |
在清楚分析工程師的工作內容後,我們在下一段進一步分析「工程師們如何使用ChatGPT」。
軟體工程師如何使用ChatGPT?
透過分析80位工程師「如何使用ChatGPT?」,我們得到三個重要發現:
ChatGPT對「工程任務」和「非工程任務」都產生正面幫助:ChatGPT除了可以協助工程師寫程式,對「工程任務」有幫助之外。對於工程師的「非工程任務」有時候幫助更大,例如撰寫商務英文書信,撰寫員工績效考核,製作投影片/ 教學檔案,歸納資料,都能節省很多工時。
在工程方面,ChatGPT對「精確度要求低」的任務幫助很大,但對於「複雜,精確度要求高」的任務,幫助很有限:
ChatGPT對「精確度要求低」的任務上幫助很大:包括學習全新技術,撰寫簡單的程式,寫工程文件有很大幫助
ChatGPT對「精確度要求高」的任務幫助有限:包括系統設計,搜尋精確度要求高的答案,寫複雜程式和抓複雜的蟲,則幫助很有限。
ChatGPT沒有辦法代理工程師和人互動:ChatGPT無法代替工程師參加各種會議,了解客戶需求,也無法代為處理人際衝突。
表3 摘要呈現「ChatGPT對軟體工程師的幫助」,表4 將工程師的工作內容更精細分類,並依據工程師們的反饋,為ChatGPT在每個環節上的效用加以評分,也說明ChatGPT在每個環節上提供的幫助和限制:
表3. ChatGPT對軟體工程師的幫助
幫助程度 | 工作內容 |
很有幫助 | 工程任務 ・學習新知和技能 ・撰寫和完成簡單代碼 ・寫文件 非工程任務 ・提供商務溝通建議和歸納資訊 |
幫助有限 | ・系統設計 ・搜尋準確度要求度高的答案 ・寫複雜程式和爬蟲 |
完全沒幫助 | 和人互動 |
表4. ChatGPT對軟體工程師的幫助
工程師工作 | 工作內容 | 評分 | ChatGPT的幫助和限制 |
工程 | 系統設計 | 1 | 只能提供概念性指導,小模塊可激發靈感 缺點:無法根據情境作出系統設計的選擇 |
| 做Prototype / POC | 4 | 做POC / Prototype省很多時間 |
| 學習新技術 | 5 | 學習新語法、框架、技術、工具都很好用 |
| 搜尋問題解答 (對精確性要求高) | 2 | 用途:以前用Google或Stack overflow,ChatGPT多了一項選擇可快速生成解答 缺點-1:隨著技術問題難度增高,ChatGPT回答準確度顯著下降,沒上網搜尋來得快。 缺點-2:查冷門API都是錯的,AI會亂掰幻想 |
| 寫簡單程式碼 | 4 | 找範例程式碼很方便,用Copilot 改重複 config/ code能自動完成滿方便的 |
| 寫複雜程式碼 | 2 | 缺點-1:重視結果正確的任務幫助會降到0~15% 缺點-2:對新問題,或Legacy code,幫助有限 |
| Code Review & Debug | 2 | 用途:可以幫助code review,發現小bug 缺點-1:沒辦法發現稍微複雜或不直接的bug 缺點-2:我有試著拿來幫我寫 test case,但基本上沒辦法幫到忙 |
| 寫文件 | 4 | 寫英文文件,寫個範本請 LLM修,效率兩倍。 |
非工程 | 寫英文email / 寫報告/ 翻譯 | 5 | 對英文商業溝通很有幫助 |
| 做簡報 / 教學檔案 | 5 | 製作投影片/教學檔案很好用 |
吸收資訊和摘要 | 5 | 歸納摘要資料很好用 | |
主動和人互動 | 了解需求 / 參與產品討論 / 團隊協調 / 處理人的問題 | 0 | 大部分讓人心累的事,ChatGPT都幫不上忙 |
小結:
透過分析工程師們如何使用ChatGPT,我們發現ChatGPT對於軟體工程師「非工程任務」和「低精確度要求的工程任務」有很大的幫助,但對於「高精確度要求高的工程任務」表現則遜色很多,也無法代為和人互動。
因此,ChatGPT雖然幫工程師加速某些任務,但很多關鍵任務仍然必須由工程師去完成。因此,ChatGPT對於軟體工程師而言,是一個「強化型工具」,而不是「取代型工具」。下一段會進一步分析ChatGPT作為工具的特性,如何讓它成為強化型而不是取代型工具。
四、ChatGPT作為工具的特性
ChatGPT有三個強項/ 三個弱項(請參考表5):它的強項,讓工程師可以提升商務溝通,加快寫程式和學習新技術的速度。它的弱項,則讓它難以處理複雜問題,會資料外洩,無法獨立推動專案,而難以取代人:
表5. ChatGPT的三個強項和三個弱項
| 能力 | 影響 |
強項 |
|
|
弱項 |
|
|
ChatGPT是很好的強化型工具 — 它重新定義人們學習的方式
在訪談80個軟體工程師後,我們發現,除了生成文字和程式碼,ChatGPT第三個強項「簡潔扼要說明任何概念」很可能是ChatGPT目前最被低估,但長期最有革命性影響的功能 —ChatGPT「簡潔扼要說明任何概念」的能力,正重新定義人們學習的方式,
軟體工程人才為了精進專業,需要持續學習新技術和新工具。傳統上,工程師會透過Google查詢相關文章,或是在Stack overflow的工程師社群平台去找答案。但是Google Search常常會找到過多資訊,每篇文章品質不一,需要花很多時間研究才能夠了解。而讓學習速度比較慢。
但當詢問ChatGPT時,ChatGPT會用簡潔扼要,清楚易懂的方法,介紹新的概念和資料。而且讀者可以不斷透過對話釐清不懂的地方。在ChatGPT出現後,人類第一次擁有7x24小時的國民家教。透過ChatGPT,每個人都可以和人類整個文明對話,只要和ChatGPT聊完後,再去Google上驗證答案就可以。
ChatGPT重新定義了人們學習的方式,大幅加快工程師學習新技術的速度。特別對Jr. Engineer產生了極大幫助。對於軟體工程師而言,ChatGPT是一個很好的「強化型工具」。
ChatGPT三個弱項解決不易,因此ChatGPT難以取代軟體工程師
ChatGPT因為三大弱項:1. 會出錯,不擅長處理複雜問題。2. 資料外洩。3. 沒有動機和意識,不會主動和人互動。所以難以取代軟體工程師.只有當ChatGPT可以邏輯思考判斷對錯,大多數公司都有自己私有的ChatGPT或大語言模型,ChatGPT具有意識和動機,可以主動和人互動。只有當那宛如科幻電影情節那一天的到來,軟體工程師才可能被大幅取代。
五、結論
ChatGPT是至今最像人類的一個工具,人們只要透過自然對話,就能讓ChatGPT產出各種優質文字和程式碼,也能瞭解人類累積千年的文明成果。因為ChatGPT的高度擬人化,引起人們被取代的強烈憂慮。
在這個關鍵的變革年代,世界上有特別多紛紛擾擾的聲音。有假借AI進步名義而裁員的企業主,有誇大它對知識工作者威脅的顧問。也有為了銷售方案和課程,誇大AI效果的商人。
這份報告的出發點是嘗試探討「ChatGPT真的會取代軟體工程師嗎?」在訪談80位工程師之後,我們得到以下三個結論:
ChatGPT是強化型而不是取代型的工具:ChatGPT提升了軟體工程師產能(+11.6%),卻很少取代工程師(<7.5%覺得有可能)。ChatGPT加快了工程師學習新技術的速度,也加快了寫程式和商務溝通,因此提升了工程師產能。而且因為ChatGPT三個弱項:會出錯,會洩露資訊,無法主動和人互動,使它難以取代工程師。
ChatGPT對Jr. Engineer幫助更大:ChatGPT對初學者,展現了比Google Search友善很多的說明能力,ChatGPT是人類歷史上第一個7x24小時的國民家教,透過ChatGPT,每個人都可以和人類整個文明對話。當人們還在擔心有了ChatGPT之後,Jr. Engineer的需求可能會減少,Jr. Engineer卻正用更快的速度成長為Sr. Engineer。
ChatGPT長期最革命性的影響很可能是重新定義了人們學習的方法:對大多數人而言,學習知識都是有些痛苦的,常常會不懂而卡關。有了ChatGPT這個7*24小時的國民家教後,突破學習卡點的摩擦係數大幅降低,從此以後,人們能學得更快速,更廣泛,更深入,也更愉快。「ChatGPT世代」有可能是人類史上掌握最多知識的一個世代,它對未來世界的影響是根本而長遠的。
彼得杜拉克說:「高效能的執行者會專注於機會而不是問題」。而ChatGPT和生成式AI開啟的機會是廣闊的。
政府和教育機構透過ChatGPT可以讓人們學習得更快和更好,也讓教育更普及。企業家們運用員工提升的生產力,提供更好的服務給社會,也賺更多錢。軟體工程師在ChatGPT協助下,成長更快,從事更具有創造性的工作,也獲得更好薪資。而人們則能夠透過ChatGPT學習更多,成就更多。
由衷感謝接受訪談的80位軟體工程專家。這篇報告的出發點,是出於被ChatGPT取代的焦慮,最後卻發現ChatGPT開啟了充滿機會的未來。感謝80位軟體工程專家們用心和無私的分享,我們才能更完整認識ChatGPT的影響。
生成式AI開啟了一個10年以上的長期大趨勢,為軟體工程師的職涯發展帶來嶄新的機會和挑戰。BHRC會持續關注和研究AI趨勢的發展,努力成為軟體工程師們在AI時代最好的職涯夥伴。
Comments