人工智慧似乎正在快速取代程式設計工作。公司凍結招聘,並裁減開發人員。許多人認為,我們所知的軟體開發將在未來幾年內結束。但究竟有多少是炒作?有多少是猜測?現實情況又是如何?
要回答這些問題,需要具備一些經驗才能提出明智的看法。
經驗需求
-
高層決策經驗: 具備從高層次指導專案的經驗。
-
專案管理經驗: 具備在設定目標後,從專案管理角度與開發團隊合作完成專案的經驗。
-
實地程式設計經驗: 具備實際的程式設計經驗,包括使用不同的語言、編譯系統、框架和函式庫,與開發人員合作,並真正了解程式碼的運作方式。
Cameron 是一位擁有多家百萬美元軟體開發公司的經營者,他們曾參與過一些世界上最大的專案,包括與美國太空總署(NASA)、Steelcase 和 Bissell 的合作。他從小就開始寫程式,並擁有豐富的實務經驗。他將分享他對目前人工智慧發展現況、未來走向以及人工智慧對日常程式設計工作的影響。
人工智慧對程式設計的影響
1. 大幅減少除錯時間
AI 能夠快速找到語法錯誤,並診斷邏輯條件等問題。對於解析陣列等操作,AI 也能提供有效的協助,從而大幅減少除錯時間。
-
問題熱門程度的影響: AI 更容易解決常見問題,而對於較冷門的問題,則可能無法提供協助。
-
可能誤導方向: AI 可能會導致除錯方向錯誤,浪費時間。
儘管存在這些限制, Cameron 認為 AI 已經自動化了他日常 50% 到 75% 的除錯工作,這對於不喜歡花大量時間解決難以解決的錯誤的程式設計師來說非常有幫助。
2. 協助克服程式設計的「寫作障礙」
程式設計師就像作家一樣,有時會遇到「寫作障礙」。AI 可以提供程式碼的初步草稿,即使是不完美的草稿,也能提供一個起點。
-
提供起點: 即使 AI 提供的程式碼不理想,也能激發程式設計師的靈感,幫助他們更清楚地了解自己想要什麼。
-
加速啟動: AI 可以幫助程式設計師更快地進入工作狀態,減少花在思考如何開始的時間。
3. 提供即時的中階程式設計師協助
雖然目前的人工智慧 (例如 Claude 或 Gemini) 還不具備資深開發人員的技能,無法全面考慮專案的各個方面,並將業務目標與程式碼架構相結合,但 AI 在執行初級和中級程式設計師的工作方面表現出色,並且可以即時提供協助。
-
擅長現有基礎架構: AI 擅長根據現有基礎架構和需求產生相似的輸出。
-
立即協助: 雖然仍存在提示、回應、實施和檢查等步驟,但 AI 提供的即時協助比傳統的專案管理流程更快。
4. 成為你的「橡皮鴨」
程式設計師經常需要「橡皮鴨」,也就是一個可以向其解釋程式碼的人或物。
-
程式設計界的傳說: 一位沮喪的程式設計師向一個橡皮鴨解釋問題,結果意外地解決了問題。
-
陪伴與對話: 與 AI 互動編碼就像擁有一個可以對話的對象,可以幫助程式設計師理清思路。
預測時間變得更容易,銷售也變得更容易
由於 AI 的協助,預測專案所需的時間變得更加容易,這使得銷售也變得更容易。在過去,由於存在許多未知因素,程式設計專案的估算往往不準確。現在,AI 可以幫助減少這些不確定性,從而提供更準確的報價,更容易獲得客戶的批准。
人工智慧的未來與程式設計工作
Cameron 認為,AI 最終將能夠完成所有的程式設計工作,甚至所有白領知識型工作。然而,他認為 AI 要真正取代知識淵博的程式設計師或專案領導者,可能需要比我們想像的更長的時間。
-
程式設計師類型的轉變: 能夠根據需求編寫程式碼的程式設計師可能會被淘汰,而能夠理解複雜系統、業務目標,並能推動大型專案的程式設計師將變得更有價值。
-
成為「星際戰鬥機飛行員」: 未來的程式設計師將需要具備快速應變能力,並能利用各種工具和框架快速解決問題。
結論
人工智慧正在迅速發展,並對程式設計工作產生重大影響。然而,人類的智慧和創造力仍然是不可或缺的。未來,程式設計師的角色將轉變為更像一個「星際戰鬥機飛行員」,能夠利用人工智慧等工具,快速解決複雜的問題。Cameron 相信,即使在人工智慧時代,人們仍然有價值,因為他們是解決問題的人。