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