為什麼程式設計師得到的報酬與他們的生產力不成正比

伯樂線上讀者發表於2011-03-15

編者按:原文作者John D. Cook是一位數學教授、程式設計師、顧問、經理人和統計學家,善於並享受結合運用這些技能來解決問題。

最高產程式設計師的生產力是普通程式設計師的好幾倍。但是在任何公司,薪水通常在相當小的範圍內變動。即使在整個行業,工資也相差不是很大。如果一些程式設計師的產量是別人的十幾倍,那為什麼得到的薪水不是別人的十幾倍呢?

對這個問題,Joel Spolsky在他的播客中給出了兩個解釋。第一,整個行業中,程式設計師的生產力可能大不相同,但在同一個公司內部,這種差別卻不大。那些比他的同事多產十幾倍的程式設計師有可能離開公司,或者與其他很有才華的程式設計師共事,或者自立門戶;第二,極端的多產可能不明顯。這條播客詳細說明第二個原因。

如果一個程式設計師的生產力比他同事高十幾倍,他怎麼會不被注意到呢?在一些職業這樣的差別可能會很明顯。銷售量是同事十幾倍的銷售員會受到關注,並會得到相應的報酬。銷售量是容易衡量的,而且一些銷售比其他人多賺成倍的錢。如果一位磚瓦匠比同事有十幾倍的能幹,這也會很明顯,但是這並沒有發生:最好的磚瓦匠也不能比普通的磚瓦匠多壘十幾倍的磚。軟體的產出不像美元和磚那樣容易衡量。最優秀的程式設計師也不能編寫十幾倍於他人的程式碼,而且工作時間也達不到他人的十幾倍。(編注: “一個優秀程式設計師的效率會是一個普通程式設計師的十倍之上”,參見《一些鮮為人知的程式設計真相》。)

當程式設計師不用寫程式碼時是他們最有效率的時候。他們可能發現,待解決的問題根本不需要解決,因為使用者所要求的實際上並非使用者想要的。他們可能知道在哪裡找到能解決問題的可複用程式碼或重新編輯的程式碼。他們可能會使用現成的程式碼。但是,就在他們編寫程式碼最富有成效的時候,也沒有人說:“哇!比起用那種困難的方式去解決,你高效100多倍。你理應加薪。”他們最多會說:“好主意!”然後繼續工作。這可能需要花費一小段時間去認識到一些人照例地提出這種節省時間的意見。或者消極的說,要認清一些人程式設計過程中動作很大,但辦不了什麼實事兒可能需要花費一段時間。

頂級程式設計師的完美形象是,他在開發專案時,開啟編輯器(Emacs),像機關槍一樣快速編寫程式碼,從零開始最終給出一個完美的產品。一個更為精確的形象是,他靜靜地凝視空白處,幾分鐘然後說:“嗯,我想我曾經看過與這類似的。”

 

原文:John D. Cook   翻譯:伯樂線上 – 魏哲

相關文章