你是一名努力工作的程序員,還是懶惰的程序員?

jopen 10年前發布 | 6K 次閱讀 程序員

英文原文:Code rant: Are Your Programmers Working Hard, Or Are They Lazy?

  當人們在進行一項體力工作時,你很容易評估他們工作的努力程度。你可以看到他們的身體動作,看他們流了多少汗水。也可以去看他們的工作成果:磚墻越砌越高,地上的洞越來越大。對努力工作的認可和獎勵是人類一個非常基本的本能,這也是為什么我們對耐力運動如此著迷的原因之一。然而,在管理一些技術創造型的員工時,這種對體力上的努力工作的本能欣賞卻變成了一個問題。高效率的知識工作者通常看起來并不像是在努力工作。

  早在 2004 年,我還是個工作在一家有線電視公司計費和配置系統的初級開發者。像所有的大型系統一樣,它由許多相對獨立的部分組成,分別由不同個人或小團隊負責。模擬電視配置系統和數字電視配置系統幾乎是完全分開的,分別由不同的團隊負責。

  模擬電視團隊已經決定在早期的微軟 Biztalk 平臺上開發他們的系統,由我們公司的四個伙伴和微軟的一個團隊共同開發,并負責在生產環境中運行。他們工作都非常努力,并且經常工作到夜晚,甚至周末加班。每個人都會放下自己正在做的事情去幫助解決產品問題,經常是幾個家伙圍在一張桌子周圍,提出哪里可能 會出現問題以及如何修復這些問題的建議。他們的工作氛圍非常活躍,僅憑這一點,任何人都能夠看出,不僅是整個團隊,而是他們每一個人都真的真的非常努力工作。

  數字電視配置系統開發團隊卻是完全不同的。代碼大部分是由一個叫戴夫的家伙編寫的。我當時是這個團隊的一名初級維護開發者。起初,我在理解代碼的過程中遇到了很多麻煩,因為它并不是用一個很長的程序來包含所有的內容,取而代之的是許許多多小的類文件和僅包含幾行代碼的方法。我的幾個同事都抱怨戴夫把代碼搞得過于復雜。但戴夫把我招致麾下,并建議我閱讀一些面向對象編程方面的書籍。他教給我設計模式,SOLID 編程原則以及單元測試。不久,我便開始能夠理解這些代碼,而且我越研究它就越欣賞它的優雅設計。在生產環境中它周而復始的運行,沒有出現任何錯誤。代碼改變起來也相當容易,因此,實現新的特性并不困難。單元測試則意味著要保證生產環境中盡可能少地出現 bug。

  這樣做的結果就是,我們看起來好像根本沒有努力工作。我每天下午5:30 準時回家,周末從不加班,我們也不會擠在一起去猜測一些失敗的生產系統可能會遇到的問題。表面上看起來就像是分配給我們的任務一定是比分配給模擬電視團隊的任務容易得多。實際上,兩個團隊的需求是非常相似的,只是我們擁有一個設計和實現地更好的軟件系統,更好的支持基礎架構,尤其是單元測試。

  管理部門宣布他們將根據個人的工作表現加薪,當輪到我和老板談話時,他說只有給那些真正努力工作的人加薪才算是公平,而我們的團隊看起來似乎并不太關心公司的發展,不能和那些犧牲了自己的休息時間來工作的人員去比較。

  這家有線電視公司是一個非常少見的實驗室,你能夠對好的軟件設計和壞的軟件設計、好的團隊行為和壞的團隊行為之間的效果有一個直觀的比較。大多數組織并不能夠進行這樣的比較。你很難判斷那些汗如雨下、工作到深夜并在周末加班、一直奮斗在一線的家伙是展示了他們在做一件真正復雜的系統工作時的偉大承諾,還是只是表明了他們的失敗。除非你能夠負擔得起請兩個或者更多的競爭團隊來解決同樣的問題,但是你永遠也不會知道哪個公司會愿意這樣做。相反地,那些整天朝九晚五、坐在角落里、看似花費很多時間瀏覽網絡的家伙們呢?是只是因為他們非常精通編寫穩定可靠的代碼還是因為分配給他們的工作比別人的更簡單?從常人的眼光來看,第一個家伙是在真正努力工作而第二個沒有。努力工作值得表揚,而懶惰卻是不好的,不是嗎?

  我認為努力工作的表象往往意味著失敗。在一個高壓,中斷驅動的環境下,通常是不能夠進行高質量的軟件開發的。長時間工作通常也并不是一個好主意。有時解決一個困難問題的最好的方式就是停止思考,出去散個步,甚至最好去睡個覺,讓你的潛意識去解決它。我最喜歡的書籍之一,是由 20 世紀一位領軍的英國數學家G. H. Hardy 撰寫的《A Mathematician’s Apology  一個數學家的辯白》,他在這本書里描述了他的日常生活:每天上午工作四個小時,然后看一整個下午的板球。他說一天中,超過四小時艱難的腦力工作是毫無意義并且徒勞的。

  我想要對管理者說的是,應該根據結果及可運行的軟件來評判人們的工作,而不是通過他們看起來的努力程度來判斷。與直覺相反,你最好不要和開發者們坐在一起,這樣你才能夠對他們的產出有一個更好的、不受常規或直觀指標影響的了解。遠程工作非常有好處,你只能根據產出來衡量他們的貢獻,而不是簡單地看他們是否每天 8 小時都坐在桌前對著 IDE 噼里啪啦敲鍵盤,或者是否“熱情地”圍在彼此桌前提供“有效的”建議。

  翻譯: 伯樂在線 - yixingqingkong

  譯文鏈接: http://blog.jobbole.com/55284/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!