軟體開發工作
上回提到,當AI技術能夠有效加速各行各業數位化和智慧化的過程,才稱得上第四次工業革命。這件事情正在發生之中,雖然對於資訊科技從業者來說,發展AI技術來自動化設計軟硬體幾乎等同於是革自己的命,但這原本就是資訊科技從業者的常態。
類似的話,我在十多年前談論開源軟體的時候講過,當時我說開發者將辛苦製作出來的軟體開源,等於是在革自己的命,而不懂開源軟體精神和開源生態系的人往往不理解這些人為什麼要幹這種傻事。基本上,軟體開發的思維和大多數的產品設計與製造有許多不同之處,從設計、製造到擴散、維護、升級,幾近乎無形的軟體和有體積、重量的產品大異其趣,因此外行人總是搞不清楚軟體開發者的想法。(想知道開發者為何會將辛苦開發出來的軟體開源,隨便找個AI問問,就能得到相當完整的答案。只是說,缺乏實際經驗的外行人即便看了AI的長篇大論,恐怕還是只知皮毛而已。)
說到底,軟體只是知識的載具,本質上跟書本差不了太多,開發軟體所使用的程式語言,和人類交談所用的自然語言也沒有本質上的差別,只是為了能夠在電腦上執行而將語法定義得更嚴謹而已。
因此我常跟同學們說,學寫程式只是資訊工程的入門技能而已,就算你APCS滿級分、程式競賽得獎,也不要以此自滿;看到其他同學很會寫程式,也不要自我貶抑。話說台大資工系一向有重視程式競賽的傳統,得獎者往往成為同儕所敬仰的大神,我覺得有點超過了。十多年來美國一些大公司廣招資訊人才,以LeetCode之類的平台鑑定面試者的程式寫作能力,造成學生猛刷考古題的現象,國內某些資訊科技業者也跟進,我也曾為文指出過度重視刷題並不合宜,但聽者藐藐,畢竟每個人有其現實考量,多說無益。
而如今殘酷的現實是,軟體開發者的聘僱人數從2019年開始下降,如附圖所示。這張圖取自於[1],是ADP Research Institute在2024年7月的統計結果。近年來科技業也屢有軟體工程師裁員的消息,例如在自由時報2024年9月的這篇引用自外媒資訊的報導[2]:「隨著科技企業調整戰略,並將大量資源投入AI,裁員潮尚未停歇,自今年1月以來科技公司已裁員約13.7萬人,美國的軟體工程師最慘,2020年以來就業機會少了30%以上。」 事實上,很多人開始在AI的協助下,透過所謂的Low-Code/No-Code工具[3],到現在流行的Vibe Coding[4],不用親手寫程式,就可以快速開發出軟體。

於是有人看了這些報導後開始說,不用學程式設計了,不要去念資訊系了,但講這些話的人恐怕根本沒看完整篇報導,不清楚整個局面 -- 究竟哪些軟體工程師被裁?哪些軟體開發的工作反倒變得搶手?使用AI工具開發軟體,仍需具備哪些知識?要開發出與眾不同的軟體,又需要什麼技能?
如果看完以上提到的那篇自由時報的報導[2],會知道最後一段提到:「儘管科技業裁員潮尚未停止,AI工程師需求則非常火熱,曾經參與開發ChatGPT等產品所用大語言模型的人可以輕鬆找到工作,年薪遠超100萬美元。Pequity執行長Knopp表示,AI工程師的薪酬是普通工程師的2到4倍。他說,這是對未知技術的極端投資,正因為如此,他們(科技企業)負擔不起在其他人才身上投資。」
數位時代那篇講Vibe Coding的報導[4]最後也說:「未來,成為工程師或許不再需要精通程式語言,而是學會如何與AI合作,善用這些強大的工具,才能真正發揮最大效能。」這和我的觀點類似,我在課堂上跟學生說,未來軟體開發的重點不在於程式怎麼設計出來,而在於你和你的AI能夠解決哪些別人和別人的AI所不會解決的問題。至於什麼是「你的AI」,要怎麼解決別人和別人的AI不會的問題,那就說來話長了,下一回再多作討論。
[1] https://www.adpresearch.com/the-rise-and-fall-of-the....../
[2] https://ec.ltn.com.tw/article/breakingnews/4804692
[3] https://www.bnext.com.tw/article/64982/low-code-and-no-code