為什么程序員得到的報(bào)酬與他們的生產(chǎn)力不成正比
最高產(chǎn)程序員的生產(chǎn)力是普通程序員的好幾倍。但是在任何公司,薪水通常在相當(dāng)小的范圍內(nèi)變動(dòng)。即使在整個(gè)行業(yè),工資也相差不是很大。如果一些程序員的產(chǎn)量是別人的十幾倍,那為什么得到的薪水不是別人的十幾倍呢?
對(duì)這個(gè)問題,JoelSpolsky在他的播客中給出了兩個(gè)解釋。第一,整個(gè)行業(yè)中,程序員的生產(chǎn)力可能大不相同,但在同一個(gè)公司內(nèi)部,這種差別卻不大。那些比他的同事多產(chǎn)十幾倍的程序員有可能離開公司,或者與其他很有才華的程序員共事,或者自立門戶;第二,極端的多產(chǎn)可能不明顯。這條播客詳細(xì)說明第二個(gè)原因。
如果一個(gè)程序員的生產(chǎn)力比他同事高十幾倍,他怎么會(huì)不被注意到呢?在一些職業(yè)這樣的差別可能會(huì)很明顯。銷售量是同事十幾倍的銷售員會(huì)受到關(guān)注,并會(huì)得到相應(yīng)的報(bào)酬。銷售量是容易衡量的,而且一些銷售比其他人多賺成倍的錢。
如果一位磚瓦匠比同事有十幾倍的能干,這也會(huì)很明顯,但是這并沒有發(fā)生:最好的磚瓦匠也不能比普通的磚瓦匠多壘十幾倍的磚。軟件的產(chǎn)出不像美元和磚那樣容易衡量。最優(yōu)秀的程序員也不能編寫十幾倍于他人的代碼,而且工作時(shí)間也達(dá)不到他人的十幾倍。(編注: “一個(gè)優(yōu)秀程序員的效率會(huì)是一個(gè)普通程序員的十倍之上”,參見《一些鮮為人知的編程真相》。)
當(dāng)程序員不用寫代碼時(shí)是他們最有效率的時(shí)候。他們可能發(fā)現(xiàn),待解決的問題根本不需要解決,因?yàn)橛脩羲蟮膶?shí)際上并非用戶想要的。他們可能知道在哪里找到能解決問題的可復(fù)用代碼或重新編輯的代碼。他們可能會(huì)使用現(xiàn)成的代碼。
但是,就在他們編寫代碼最富有成效的時(shí)候,也沒有人說:“哇!比起用那種困難的方式去解決,你高效100多倍。你理應(yīng)加薪。”他們最多會(huì)說:“好主意!”然后繼續(xù)工作。這可能需要花費(fèi)一小段時(shí)間去認(rèn)識(shí)到一些人照例地提出這種節(jié)省時(shí)間的意見?;蛘呦麡O的說,要認(rèn)清一些人編程過程中動(dòng)作很大,但辦不了什么實(shí)事兒可能需要花費(fèi)一段時(shí)間。
頂級(jí)程序員的完美形象是,Ta在開發(fā)項(xiàng)目時(shí),打開編輯器(Emacs),像機(jī)關(guān)槍一樣快速編寫代碼,從零開始最終給出一個(gè)完美的產(chǎn)品。一個(gè)更為精確的形象是,Ta靜靜地凝視空白處,幾分鐘然后說:“嗯,我想我曾經(jīng)看過與這類似的。”
譯文鏈接:http://www.jobbole.com/entry.php/558
英文原文:http://www.johndcook.com/blog/2009/12/23/why-programmers-are-not-paid-in-proportion-to-their-productivity/
【編輯推薦】
























