當(dāng)人們?cè)谶M(jìn)行一項(xiàng)體力工作時(shí),你很容易評(píng)估他們工作的努力程度。你可以看到他們的身體動(dòng)作,看他們流了多少汗水。也可以去看他們的工作成果:磚墻越砌越高,地上的洞越來越大。對(duì)努力工作的認(rèn)可和獎(jiǎng)勵(lì)是人類一個(gè)非常基本的本能,這也是為什么我們對(duì)耐力運(yùn)動(dòng)如此著迷的原因之一。然而,在管理一些技術(shù)創(chuàng)造型的員工時(shí),這種對(duì)體力上的努力工作的本能欣賞卻變成了一個(gè)問題。高效率的知識(shí)工作者通常看起來并不像是在努力工作。
早在2004年,我還是個(gè)工作在一家有線電視公司計(jì)費(fèi)和配置系統(tǒng)的初級(jí)開發(fā)者。像所有的大型系統(tǒng)一樣,它由許多相對(duì)獨(dú)立的部分組成,分別由不同個(gè)人或小團(tuán)隊(duì)負(fù)責(zé)。模擬電視配置系統(tǒng)和數(shù)字電視配置系統(tǒng)幾乎是完全分開的,分別由不同的團(tuán)隊(duì)負(fù)責(zé)。
模擬電視團(tuán)隊(duì)已經(jīng)決定在早期的微軟Biztalk平臺(tái)上開發(fā)他們的系統(tǒng),由我們公司的四個(gè)伙伴和微軟的一個(gè)團(tuán)隊(duì)共同開發(fā),并負(fù)責(zé)在生產(chǎn)環(huán)境中運(yùn)行。他們工作都非常努力,并且經(jīng)常工作到夜晚,甚至周末加班。每個(gè)人都會(huì)放下自己正在做的事情去幫助解決產(chǎn)品問題,經(jīng)常是幾個(gè)家伙圍在一張桌子周圍,提出哪里可能 會(huì)出現(xiàn)問題以及如何修復(fù)這些問題的建議。他們的工作氛圍非常活躍,僅憑這一點(diǎn),任何人都能夠看出,不僅是整個(gè)團(tuán)隊(duì),而是他們每一個(gè)人都真的真的非常努力工作。
數(shù)字電視配置系統(tǒng)開發(fā)團(tuán)隊(duì)卻是完全不同的。代碼大部分是由一個(gè)叫戴夫的家伙編寫的。我當(dāng)時(shí)是這個(gè)團(tuán)隊(duì)的一名初級(jí)維護(hù)開發(fā)者。起初,我在理解代碼的過程中遇到了很多麻煩,因?yàn)樗⒉皇怯靡粋€(gè)很長(zhǎng)的程序來包含所有的內(nèi)容,取而代之的是許許多多小的類文件和僅包含幾行代碼的方法。我的幾個(gè)同事都抱怨戴夫把代碼搞得過于復(fù)雜。但戴夫把我招致麾下,并建議我閱讀一些面向?qū)ο?a href="http://m.xsypw.cn/v/tag/1315/" target="_blank">編程方面的書籍。他教給我設(shè)計(jì)模式,SOLID編程原則以及單元測(cè)試。不久,我便開始能夠理解這些代碼,而且我越研究它就越欣賞它的優(yōu)雅設(shè)計(jì)。在生產(chǎn)環(huán)境中它周而復(fù)始的運(yùn)行,沒有出現(xiàn)任何錯(cuò)誤。代碼改變起來也相當(dāng)容易,因此,實(shí)現(xiàn)新的特性并不困難。單元測(cè)試則意味著要保證生產(chǎn)環(huán)境中盡可能少地出現(xiàn)bug。
這樣做的結(jié)果就是,我們看起來好像根本沒有努力工作。我每天下午5:30準(zhǔn)時(shí)回家,周末從不加班,我們也不會(huì)擠在一起去猜測(cè)一些失敗的生產(chǎn)系統(tǒng)可能會(huì)遇到的問題。表面上看起來就像是分配給我們的任務(wù)一定是比分配給模擬電視團(tuán)隊(duì)的任務(wù)容易得多。實(shí)際上,兩個(gè)團(tuán)隊(duì)的需求是非常相似的,只是我們擁有一個(gè)設(shè)計(jì)和實(shí)現(xiàn)地更好的軟件系統(tǒng),更好的支持基礎(chǔ)架構(gòu),尤其是單元測(cè)試。
管理部門宣布他們將根據(jù)個(gè)人的工作表現(xiàn)加薪,當(dāng)輪到我和老板談話時(shí),他說只有給那些真正努力工作的人加薪才算是公平,而我們的團(tuán)隊(duì)看起來似乎并不太關(guān)心公司的發(fā)展,不能和那些犧牲了自己的休息時(shí)間來工作的人員去比較。
這家有線電視公司是一個(gè)非常少見的實(shí)驗(yàn)室,你能夠?qū)玫能浖O(shè)計(jì)和壞的軟件設(shè)計(jì)、好的團(tuán)隊(duì)行為和壞的團(tuán)隊(duì)行為之間的效果有一個(gè)直觀的比較。大多數(shù)組織并不能夠進(jìn)行這樣的比較。你很難判斷那些汗如雨下、工作到深夜并在周末加班、一直奮斗在一線的家伙是展示了他們?cè)谧鲆患嬲龔?fù)雜的系統(tǒng)工作時(shí)的偉大承諾,還是只是表明了他們的失敗。除非你能夠負(fù)擔(dān)得起請(qǐng)兩個(gè)或者更多的競(jìng)爭(zhēng)團(tuán)隊(duì)來解決同樣的問題,但是你永遠(yuǎn)也不會(huì)知道哪個(gè)公司會(huì)愿意這樣做。相反地,那些整天朝九晚五、坐在角落里、看似花費(fèi)很多時(shí)間瀏覽網(wǎng)絡(luò)的家伙們呢?是只是因?yàn)樗麄兎浅>ň帉懛€(wěn)定可靠的代碼還是因?yàn)榉峙浣o他們的工作比別人的更簡(jiǎn)單?從常人的眼光來看,第一個(gè)家伙是在真正努力工作而第二個(gè)沒有。努力工作值得表揚(yáng),而懶惰卻是不好的,不是嗎?
我認(rèn)為努力工作的表象往往意味著失敗。在一個(gè)高壓,中斷驅(qū)動(dòng)的環(huán)境下,通常是不能夠進(jìn)行高質(zhì)量的軟件開發(fā)的。長(zhǎng)時(shí)間工作通常也并不是一個(gè)好主意。有時(shí)解決一個(gè)困難問題的最好的方式就是停止思考,出去散個(gè)步,甚至最好去睡個(gè)覺,讓你的潛意識(shí)去解決它。我最喜歡的書籍之一,是由20世紀(jì)一位領(lǐng)軍的英國數(shù)學(xué)家G. H. Hardy撰寫的《A Mathematician’s Apology | 一個(gè)數(shù)學(xué)家的辯白》,他在這本書里描述了他的日常生活:每天上午工作四個(gè)小時(shí),然后看一整個(gè)下午的板球。他說一天中,超過四小時(shí)艱難的腦力工作是毫無意義并且徒勞的。
我想要對(duì)管理者說的是,應(yīng)該根據(jù)結(jié)果及可運(yùn)行的軟件來評(píng)判人們的工作,而不是通過他們看起來的努力程度來判斷。與直覺相反,你最好不要和開發(fā)者們坐在一起,這樣你才能夠?qū)λ麄兊漠a(chǎn)出有一個(gè)更好的、不受常規(guī)或直觀指標(biāo)影響的了解。遠(yuǎn)程工作非常有好處,你只能根據(jù)產(chǎn)出來衡量他們的貢獻(xiàn),而不是簡(jiǎn)單地看他們是否每天8小時(shí)都坐在桌前對(duì)著IDE噼里啪啦敲鍵盤,或者是否“熱情地”圍在彼此桌前提供“有效的”建議。
-
程序員
+關(guān)注
關(guān)注
4文章
954瀏覽量
30331
發(fā)布評(píng)論請(qǐng)先 登錄
阿里云升級(jí)通義靈碼AI程序員,全面上線
TMS320C55x DSP CPU程序員參考補(bǔ)充

UCD3138A64/UCD3138128程序員手冊(cè)

機(jī)械革命發(fā)布CODE AI程序員本
Linux驅(qū)動(dòng)程序程序員指南

AI編程工具會(huì)不會(huì)搶程序員飯碗
軟通動(dòng)力子公司鴻湖萬聯(lián)助陣鴻蒙1024程序員節(jié)成功舉辦

第五屆長(zhǎng)沙·中國1024程序員節(jié)開幕
90后程序員的職業(yè)成長(zhǎng)漫談

京東上萬程序員都AI用它!

程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎(jiǎng)

程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

助力程序員告別困擾已久的夢(mèng)魘-Bug

乘云出海,華為云 618 營銷季跨境電商解決方案激發(fā)行業(yè)新增長(zhǎng)

評(píng)論