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

2021-09-08 08:05:58 字數 1284 閱讀 4979

john d. cookjohndcook.com上發表的《why programmers are not paid in proportion to their productivity》,由國內整理編譯成《程式設計師得到的報酬與他們的生產力不成正比》。john d. cook是一位數學教授、程式設計師、顧問、經理人和統計學家,善於並享受結合運用這些技能來解決問題。

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

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

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

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

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

程式設計師的生產力

剛剛看到一篇文章,說是好的程式設計師生產力是普通程式設計師的幾倍,甚至上百倍。文章是乙個台灣人寫的 對裡面關於 工具 和 自動化 的描述,有了一些新的領悟,故記錄於此。公司總是在強調,完成本職工作,只是meet,如果想exceed some 或是 exceed most,一定要有創新思維或者積極主動...

程式設計師如何提高生產力,程式設計師如何提高工作效率

分享 我總結的提高程式設計師生產力的方法 被 打斷 是破壞程式設計師生產力的罪魁禍首。程式設計師在被打斷後一般不能做到立刻重新開始程式設計。被打斷之後繼續程式設計通常程式設計師需要重新看一遍 才能進入到程式設計的思維環境中,才能想起來被打斷之前的思維邏輯,再從被打斷的點重新開始。這個過程大概要花 3...

程式設計師程式設計生產力相差10倍意味著什麼?

在軟體工程研究中,被驗證得最多的結論就是對於同等經驗的兩個不同程式設計師,在效率和質量上可能會有10倍的差距。研究人員還發現,這種差距也適用於團隊級別上,也就是說在同一行業內不同的團隊也是如此。軟體開發中個人效率的變化 首先發現不同的人在程式設計生產力上的巨大差距的研究,是1960年由sackman...