ChatGPT會取代程序員嗎?
?
ChatGPT在國內被炒得很兇,說很多職業都將被這個人工智能產品取代,其中排在最前面的就是程序員。有人試著用它寫代碼,說它的編碼能力一流。我還發現身邊的程序員已經開始用它改bug,效率超高。
?
我相信人工智能技術一定可以取代只寫代碼的程序員。
?
在軟件行業以外,大部分人會認為程序員就是寫代碼的,客戶寫需求,程序員寫代碼。就像裝修房子,客戶講需求,裝修公司做就好了?;谶@個認識,就產生出現在的軟件外包行業,客戶出需求,外包公司評估給報價,程序員寫代碼,測試交付。按照這個邏輯,人工智能技術取代程序員,外包公司就可以歇菜了,客戶有需求,用人工智能寫代碼就好了,都不用測試就可以交付。
?
但實際上,客戶的需求到可用的軟件之間,還有一條人工智能無法逾越的鴻溝,就是需求分析和設計。在一般的軟件開發過程中,需求分析和設計是由需求分析師、架構設計師或產品經理完成的,程序員只要拿到清晰的需求寫代碼就好。需求分析和設計工作需要結合企業的業務特點、管理模式、用戶的使用環境等多個維度不同因素的考量,再加上設計人員的技術能力,才有可能完成的工作,而這些工作是ChatGPT工作的起點——就是我們向它提出的問題。
?
沒有正確的問題,ChatGPT也無能為力。用ChatGPT改bug效率高,原因也是問題明確。提出正確的問題,就是未來程序員的核心價值。只寫代碼的程序員會被淘汰,尤其是年輕程序員,滿足于在團隊里寫代碼的工作會很危險。經驗多一些的程序員就會思考多一點,項目經理給的任務不用分析太細,他們也能做對。但在一般的開發過程里,程序員還是會認為自己的工作就是完成代碼,其實代碼是結果,中間的設計與分析才是關鍵。
?
敏捷開發有別于一般的開發過程,并不是快速迭代或沒有文檔,敏捷開發依賴程序員的敏捷程度,敏捷程度越高的程序員花在代碼上的時間越少;敏捷團隊里,程序員能夠以分析師/架構師視角,自己完成需求分析和設計,代碼只占很少的時間,將來借助人工智能技術,代碼占用時間會更少。
?
隨著人工智能技術的發展,軟件外包行業將發生翻天覆地的變化,中小企業借助信息化提升競爭力會變得更容易,只借助少量敏捷程序員,就可以持續完善信息化、乃至數字化進程。同時,敏捷程序員也將成為市場上極度稀缺的人才。
?
?
?
Add new comment