2008年11月15日

程式設計師的經濟學

有個問題困擾我很久了。長久以來,我一向對軟體工程師的待遇感到很困惑:是的,通常他們在所處的社會中應該可拿到中位數以上的薪資,但工作本身的難度與所需持續付出的努力,與薪資水平似乎不成正比。

以我較熟悉的職業來說,商業管理路線,除了工作時間外,需要的充實自我大概是商業評論刊物,中英文報紙等等,有些需要精讀,但不是做學問,你不需對著一篇論文苦參。又或是新聞媒體:是的,工作時間外仍需要注意時事,但你不需要在假日研究最近有甚麼新的新聞理論。

工程師就完全不同。一旦停止學習,你就掉入後段班,等待被淘汰。這裡說的學習是真正紮實的:你必須閱讀通訊協定、理解各種技術文件、了解演算法,偶爾溫習一些數學、電子物理等等。這些是需要用做學問的努力去面對的東西。這種職業一般稱為專業人士,具有某種經過訓練得來的特殊技能,進入門坎較高。然而在我有限的知識中,沒有類似的專業人士需要付出這麼高的維護費用。律師、會計師、醫師,都會有一段辛苦的養成過程,但養成之後,維護費用相對較低,沒有這麼辛苦。

軟體工程師經常有華爾街的工作時間、律師的職業挑戰、醫師的工作壓力。但是,他們的收入通常比起這些職業,都還有段差距。這讓我百思不解。

晚餐時與同事聊起,讓我決定再挑戰一次。這是個經濟學問題,供給與需求,而價格基本上是由這兩者決定。接下來我想到世界上跳踢最高的人,然後,我好像突然懂了一點。

跳踢最高的人?甚麼跟甚麼啊?

這是之前看到的金氏世界紀錄節目。那集有紀錄保持人跟挑戰者,紀錄保持人看來毫不特殊,自稱沒有特別鍛鍊;挑戰者則是穿著緊身衣繃著一身的肌肉,顯然狠狠的練過,勢在必得。結果卻出乎意料:紀錄保持人輕鬆的打破自己的紀錄,而挑戰者怎麼也跟不上他那看似簡單的動作。

很明顯,衛冕者具有某種罕見的才能:跳踢。在具有這種才能的人們中,他是世界第一。問題來了:如果比較世界前一百名擅長跳踢者的薪水,與前一百名擅長財務操作者的薪水,讀者覺得哪個平均會比較高呢?

這個例子讓我理解到,才能、難度是一回事,但這種技能可以為你獲得的利益則是另外一回事。有了很棒的供給,還要注意有沒有夠大的需求。明顯的,我們需要不少會賺錢的金融人才,但卻不需要很多跳踢很高的人,儘管他很厲害,而且這才能很罕見。

那讓我們觀察軟體市場的「需求」吧。軟體的特色是甚麼?複製的阻力幾乎沒有。這意味著,我們並不需要很多從非常好到普通好到不怎麼樣的軟體,我們只需要一套最好的就行了。我們不需要二十種搜尋引擎、二十種網路瀏覽器、二十種作業系統。大部分人用的軟體都差不多。

於是我理解到一個冷硬的事實:世界並不需要很多軟體。如果你是能夠設計出常用軟體的工程師,那麼你會得到非常棒的報酬。但,如果你不是,那麼請準備好接炸彈:

並沒有人想要用你做出來的廢物。儘管你以及你公司花了那麼多錢財與心血,但如果它不是前五名,它就是廢物。廢物賣不了錢,所以你當然沒賺頭。如果不是最好的,市場就從華爾街變成跳踢了。

這點一想通,我有恍然大悟的感覺。好的室內設計師並沒有辦法把他的巧思大量的複製。我們可以用相同的搜尋引擎,但不想住在裝潢都一樣的房子裡。而如果需要對每棟房子做風格相同但細節不同的客製化,就無法大量生產。所以,一名超級厲害的設計師並沒有辦法統治世界,讓其他的同業都沒飯吃,但是一個很強的搜尋引擎卻可以。同理可證:Armani 很貴,Net 很便宜,但軟體可以很輕鬆的用 Armani 的品質賣 Net 的價錢,然後把 Net 擊潰。

意思是,軟體設計師是贏者全拿的。你要嘛就是最好的(此處的最好,是指最受歡迎,不是指技術最難),要嘛你就乖乖領那點薪水吧。

因應策略則是:

如果你是最好的那類工程師,恭喜你。

如果目標是薪水最大化,那你不該選擇你最擅長的事情作為職業。你應該選擇薪水最高的。

如果薪水不是最重要的,那將薪水以外的事情列入考慮。如果你喜歡工程的單純與愉悅,那麼這也是你的所得,金錢跟快樂都是報償。反之,如果你並不能從工程中獲得快樂,那麼請思考是否轉行吧。

最後,下次覺得不公平時,請記得告訴自己:「跳踢也很難啊」。

4 則留言 :

  1. 這篇講的很好啊,software engineer沒辦法只侷限自己在「普通」的等級,因為要做到勝者全拿一定要更努力啊。

    回覆刪除
  2. 每次讀到你這種文章,就覺得一定要寫些什麼... let me do it later.

    回覆刪除
  3. 已經一個多月了, 怎麼都沒有新文章.

    回覆刪除
  4. 很誠實的文章, 可是其中有很多的盲點.
    1. 顯然我的律師兄弟與醫師朋友, 不會同意軟體設計師職業上維護成本較高的論點. 醫師的養成期可能是軟體設計師的兩倍以上. 而面對的壓力也能相比擬. 律師的養成也不短, 現今科技社會, 進步日新月異. 法律的改變的腳步也不比科技進步的素的慢多少.
    2. 大量複製的本質, 在於科技的演進, 載體成本的最小化. 再加上全球化的演變. 軟體業不是唯一. 高度開放, 極度競爭. 贏者全拿是必然的趨勢. 拿電影產業來說. Hollywood 席捲全球. 各國電影產業都是窮兮兮. 將來科技繼續演進, 難保設計師, 醫師的飯碗不會受到全球化的競爭.
    3. 但是只要是文化產業, 就有在地化的成分. 像海角七號的成功. 對應到軟體也是一樣. 網路的使用習慣各國不同, 這就是 ebay 打不進台灣. Google 打不進中國的原因. 只能說台灣的經濟規模只養的起小小軟體公司. 所以在台灣最大就是只有雅虎奇摩這麼大.
    4. 跳踢跳的好, 似乎真的沒啥用處. 只能說快樂不是金錢可以買到.

    回覆刪除