傳統軟體工程已經死了嗎? “這是否意味著傳統軟體工程已經死了?絕對不是。軟體工程師——即使是那些不一定在調整或訓練AI模型的人——現在都是地球上最有槓桿的人之一。當然,那些正在訓練和調整模型的人更有槓桿,因為他們正在建立軟體工程師所使用的工具集。 但軟體工程師仍然有兩個巨大的優勢。首先,他們用程式碼思考,因此他們實際上知道底層發生了什麼。而且所有的抽象都是有漏洞的。因此,當你有一個電腦為你編程時——當你有Claude Code或同等的編程為你服務時——它會犯錯。 它會有錯誤。它會有次優的架構。因此,它不會完全正確。而理解底層發生了什麼的人將能夠在漏洞出現時修補它們。 所以如果你想建立一個架構良好的應用程式,如果你想能夠指定一個架構良好的應用程式,如果你想讓它以高效能運行,如果你想讓它表現最佳,如果你想及早捕捉錯誤,那麼你將需要有軟體工程的背景。 傳統的軟體工程師將能夠更好地使用這些工具。而且在今天的軟體工程中,仍然有許多問題超出了這些AI程序的範疇。最簡單的思考方式是那些超出其數據分佈的問題。 例如,如果他們需要進行二元排序或反轉鏈表,他們已經看過無數的例子,因此他們在這方面非常擅長。但當你開始超出他們的領域——當你需要編寫非常高效的代碼,當你在新穎或全新的架構上運行時,當你實際上在創造新事物或解決新問題時,你仍然需要進入並手動編碼。 至少在這些例子足夠多以至於可以訓練出新的模型,或者直到這些模型能夠在更高的抽象層次上進行充分推理並獨立解決問題之前…… 而且請記住:對於平庸的需求是不存在的。沒有人想要平均的應用程式,至少在它不填補某個由優越應用程式填補的利基市場的情況下。更好的應用程式將基本上贏得百分之百的市場。也許有一些小百分比會流向第二好的應用程式,因為它在某些小的利基功能上比主要應用程式做得更好,或者它更便宜,或者其他類似的原因。 但一般來說,人們只想要最好的東西。因此壞消息是,成為第二或第三名是沒有意義的——就像在著名的《格倫加里·格倫·羅斯》場景中,亞歷克·鮑德溫說的那樣:“第一名獲得一輛凱迪拉克·艾爾多拉多,第二名獲得一套牛排刀,第三名你被解雇。” 在這些贏者通吃的市場中,這是絕對正確的。壞消息是:如果你想贏,你必須在某件事情上做到最好。 然而,你可以做到最好的事情的範圍是無限的。你總是可以找到某個適合你的利基市場,而你可以在那件事情上做到最好。這回到我以前的一條推文,我說過:“成為你所做的事情的世界最佳。持續重新定義你所做的事情,直到這成為事實。” 我認為這在這個AI時代仍然適用。