為什么程序員的工作效率跟他們的工資不成比例
英文原文:Why programmers are not paid in proportion to their productivity
最有效率的程序員會比一般的程序員的編程效率高上幾個數量級。但在任何公司里,他們的工資水平卻只會出現很小的浮動差距。甚至在整個行業內,這種差距也不是很大。如果一個程序員的效率能達到其他人的10倍,為什么他不能得到10倍高的報酬呢?
Joel Spolsky在最近的他的一個演講里就這個問題給出了一系列的答案。首先,程序員的工作效率在整個行業內千差萬別,但在一個公司里卻不會有太大的差距。如果一個人比他的同事的效率高10倍,那他基本上會離開,要么去找更有天賦的人一起工作,要么去創業開公司。第二,極高的工作效率并沒有被察覺。這篇文章我們主要討論這第二種情況。
一個人的工作效率比同伴高10倍怎么可能不被察覺呢?在某些行業里,這種差別是顯而易見的。一個銷售人員的效率是他的同伴的10倍,這很容易看出來,而且他也能得到相應的報酬。銷售成績容易測量,就比如有些銷售人員銷售額會是其他人的數十倍。一個泥瓦匠的工作效率是其同伴的10倍,這也很容易看出,但這種事情不會發生:最好的泥瓦匠也不可能比一個一般的泥瓦匠快10倍。軟件的產出不可能像銷售或砌磚那樣容易的測量。最好的程序員并不是能寫10倍多的代碼,他們也不是能多干10倍多小時的工作。
程序員在避免寫代碼時才體現出最高的效率。他們能認識到人們要求他們解決的問題并不需要解決,他們能知道客戶并不清楚自己想要的東西是什么。他們知道什么地方可以重復利用或可修改來解決問題。他們會欺騙客戶。但是,當他們做到了最高的效率時,沒有人會說“哇塞!這比用那笨辦法做會省事100倍。你應該漲工資。”頂多人們會說“這個主意不錯!”然后繼續干活。你需要很長的時間才能發現有些人經常性的顯現出省時省力的睿智。或者反過來說,你需要很長的時間才能認識到有些人雖然經常加班加點的編程卻沒有什么產出。
對超級程序員形象的一種具有浪漫主義色彩的描繪是:他開啟Emacs編輯器,敲起代碼來就像打機槍,把一個軟件從無到有開發成沒有任何缺陷的最終產品。而一個更精確的描繪是:他靜靜的望著太空幾分鐘,然后說“咦,這好像以前在什么地方見過呀。”
留言列表