最近在閱讀溫伯格的《程序員開發(fā)心理學(xué)》马昙,這本44年前的書溉知,其中的很多探索和觀點(diǎn)引有,現(xiàn)在看來依然鮮活而不過時(shí)栖秕。它開創(chuàng)了以人為本的軟件開發(fā)研究方法嫩与,是軟件從業(yè)者思想啟蒙的巨著蜂桶,技術(shù)人生的必讀經(jīng)典儡毕。
當(dāng)我想討論加班到底有什么用時(shí),《程序開發(fā)心理學(xué)》中的一些內(nèi)容如同彈幕一樣從眼前浮現(xiàn),啟發(fā)了我腰湾。
放眼周圍雷恃,到處都是加班的程序員。很多公司都加班费坊,這是軟件開發(fā)從業(yè)者的噩夢(mèng)倒槐。
我應(yīng)聘時(shí)被人問過“你怎么看待加班這件事”這個(gè)問題,我面試別人時(shí)也問過這個(gè)問題附井。有的人這么回答:“我希望能在正常的工作時(shí)間內(nèi)有效的完成工作讨越,如果情況需要,也可以適度加班”永毅。有的人這么回答:“我就是因?yàn)槭懿涣思影嗖艔纳霞夜倦x職的”把跨。
這次我不想討論這些,我只想理一理另外一個(gè)問題:加班到底有什么用沼死?
盡管多數(shù)程序員對(duì)加班深惡痛絕着逐,但加班并不是毫無作用。首先它有很多負(fù)面作用:
- 讓程序員厭惡眼下的工作
- 讓程序員厭惡傳遞加班指示的領(lǐng)導(dǎo)
- 讓程序員厭惡所在的團(tuán)隊(duì)
- 讓程序員厭惡所在的公司
- 讓程序員無法對(duì)他需要照顧的家人交代
- 讓程序員懷疑他所從事的這一行是否能長久干下去
- 降低工作效率
- 浪費(fèi)公司資源(水意蛀、電耸别、辦公用品等)
- 耽誤正常工作
- 造成“正常工作時(shí)間瞎胡混,加班趕白天落下的進(jìn)度”這種工作方式
- 有效降低程序員的工作積極性
- 交付低質(zhì)量和埋了各種雷的產(chǎn)品
其次县钥,實(shí)際上秀姐,不管對(duì)個(gè)人還是對(duì)公司,它也可能多多少少有一些“積極”作用:
- 造成一種假象魁蒜,讓領(lǐng)導(dǎo)覺得大家都在忙囊扳,心里踏實(shí)
- 造成團(tuán)隊(duì)凝聚力、執(zhí)行力高的假象
- 不能按時(shí)交付時(shí)兜看,向老板和客戶展示努力的過程,給個(gè)不是交代的交代
- 對(duì)于依賴工時(shí)的任務(wù)狭瞎,是有效的
- 有助于那些不推不動(dòng)的人產(chǎn)出點(diǎn)東西
-對(duì)于海綿一樣的新手或極度渴望學(xué)習(xí)的程序員细移,可以學(xué)到一些知識(shí)、技能熊锭、經(jīng)驗(yàn) - 磨練程序員的心性弧轧,讓程序員變得敷衍或者淡然
影響績效
從另一個(gè)維度來說,加班有沒有作用碗殷,就看這次加班精绎,這個(gè)人是接納的,還是拒絕的锌妻。假如阿猿樂意通過加班來完成某些事情代乃,那自然是有效果的,因?yàn)檫@樣的加班有明確的目的性,阿猿是自發(fā)地奔向它的目的搁吓。此時(shí)的加班原茅,不覺其苦,反倒有愉悅之感堕仔,只恨時(shí)間飛逝不能多做停留擂橘。
《程序開發(fā)心理學(xué)》在“積極性、培訓(xùn)及經(jīng)驗(yàn)”一章里有這么一段話:
過于努力地去查找錯(cuò)誤摩骨,與根本不去查找同樣壞通贞,甚至還要更壞。實(shí)際上恼五,往往要等到程序員已經(jīng)決定放棄從而不再承受壓力之后滑频,許多程序錯(cuò)誤才能被排除掉。給程序員施加高壓唤冈,以期他們能夠很快地排除某個(gè)程序錯(cuò)誤峡迷,這種做法已經(jīng)被證明是最差的策略——盡管截至目前,這仍是最常被采用的策略你虹。
44年過去了绘搞,溫伯格的話還沒過時(shí),我們還天天在用這種“壓一壓就出活”的策略傅物,想想真是令人唏噓夯辖。