程式設計師,在很多人的心目中,包括程式設計師們,都認為是個「爆肝」的行業。也就是說,時常必須工作到很晚才能休息。除了工作時間比較晚之外,有一些程式設計師,也不容易在典型的上班時間(例如早上八點或九點)準時上班。

關於程式設計師上下班時間的特性,其實是一個值得探討的問題。其中,下班時間晚,通常公司不會有太多的意見,許多公司樂見員工加班、鼓勵員工加班,甚至把加班工時當做是一個評量員工績效的指標。但是,如果員工上班的時間晚了,有時候公司就不是那麼願意接受了。

工時長,產出不一定增加
許多程式設計師,其實整體的工時總和並不短,甚至時常超過公司所規範的時數。但是,即使你前一天工作到深夜,為的只是希望專心衝刺完成某一個里程碑的工作,但是當隔天早上比起其他同事更晚進到辦公室時,難免引起側目。姍姍來遲的形象,很容易會給公司的其他員工一種不認真工作的感覺,尤其是公司的行政管理部門。在有些人的印象裡,程式設計師就是出缺勤上不好管理的一群人,這樣的印象究竟從何而來,而關於這一行,為什麼有時候上下班的時間容易呈現上述的現象,其實有滿多東西值得討論的。

程式設計這樣的工作有個特性,就是工作時間的長短和產出不見得有必然的關係。工作時間長,有效的產出不見得就多;而工作時間短,有時候往往可以得到更好的工作成果。這一方面是因為程式設計是個和腦力及精神有關的工作,當你工作時間過長時,你的精神及專注力都會受到影響。精神好時的工作效率,往往遠勝過精神差時的工作效率。另一方面,真正有效的工作時間長短,也是主宰工作產出的重要關鍵。

能否維持專心狀態是提升效率的關鍵
在《Peopleware》一書中提到,當人們專心埋首於工作時,會進到一個心理學家稱為「神馳(flow)」的狀態,這種狀態和進入冥想的狀態很接近,人們會產生一種沉醉於其中的感覺,而且在這種狀態下,時間好似在不知不覺中就流失。

相信不少程式設計者都有類似的經驗,當你專注在撰寫程式或甚至是除錯時,你的大腦是完全聚焦在你所專注在面對的問題,當你把問題解決之後,看了一下時間,才發現原來時間過得這麼快。除了程式設計工作之外,其他需要高度集中精神及注意力的工作類型,都會有這樣的特性。

能在工作中進入到這種狀態當然很好,但是,想要進到這種狀態需要一段前置的時間,讓你慢慢開啟大腦和專注的心智。一旦在這段前置時間內受到干擾,就得重新來過。而且,即使你已經進到這種狀態中,只要被一個干擾所中斷,一切仍然得重新來過。

你是否有意識過電話對你的程式設計工作所造成的傷害呢?當你正專心一致地解決某個設計問題時,你已經花了一些時間才進到專注的神馳狀態,但是,此刻桌上的電話鈴聲響了。「鈴…鈴…鈴…」所有的鈴聲都設計成讓人很難忽略,所以你被迫拿起話筒,好中斷這強制性十足的鈴聲。即使話筒的另一方,只是想跟你口頭確認一個簡單的問題,三言兩話你就回答完成。但是,當你從電話中回到解決問題的世界裡,你會發現你的神馳狀態消失了,得重新來過才行。

倘若在你的工作中,有非常多小小的干擾及中斷,無論它們有多麼的小,對神馳狀態造成的傷害都是一樣的,那麼你真正能專注在工作中解決問題的時間,就會變得十分地零碎、不連續,同時也很少。

相較而言,像MSN Messenger之類即時通訊的機制,其中斷能力就比電話小很多。程式設計者可以選擇忽略電腦畫面上打開的即時通訊視窗,繼續專心工作。而像電子郵件,其中斷力就更小了。除非程式設計者得了電子郵件焦慮症,反覆不斷地檢查他的郵件信箱,否則,電子郵件是不容易打擾到正專注在工作的程式設計者。

如果程式設計者處在這種容易受到干擾的環境,那麼即使他表面上的工作時間看起來好像很長,但也會因為其中真正專注的時間並不多,而沒有辦法得到太多的有效產出。而且,在這漫長的工作時間中,很容易讓程式設計者覺得心情煩躁,因為一直被中斷的感覺多半不會太好。

上班時間充滿各種干擾,只好利用其他時間
有時候,這是一些程式設計者之所以會漸漸將他們實際上的工作時段,移至表定的下班時間或甚至更晚的深夜的原因,因為在這樣的時段中,絕大多數的干擾都消失了,最適合專心完成工作。

這真是有點諷刺,因為上班時間反而不適合工作。只要這樣的作息模式產生了慣性,那麼上床睡覺的時間,一定也會跟著延遲。有時候,當你好不容易進到神馳狀態,你會捨不得讓自己從這個狀態中離去,甚至你根本忘了時間。有人用「手感正燙」來描述這種情況,我覺得十分貼切。等到你醒過來的時候,才發現時間已經很晚了。在日積月累的情況下,生活習慣就開始演變成為夜間模式。要你早起有時像要你的命,到了晚上卻好似一條龍。而這或許是一些程式設計師開始晚進辦公室的原因之一。

若能降低工作時間所遭遇的中斷和分心,不加班將是有可能的
從人員出缺勤的管理角度來看,公司有既定的制度,在規定的上班時間之後才來上班,終究不是一件好事。

即使公司默許程式設計師,可以有較晚的上班時間,但對於準時上班的其他同事而言,並不容易解釋為何程式設計師有其特殊性,有時候,還會因此影響到其他同事上班的心情或士氣。

另一方面,出缺勤的情況,也有可能是公司用來評量員工績效的一種指標。倘若公司默許程式設計師可以比起其他員工更晚進到公司,那麼就比較難從出缺勤的情況,來評量程式設計師是否貢獻了公司所規範的工作時數。人們會擔心,時常晚到的程式設計師,是否在這個過程中偷懶了,沒有做足公司所規定該有的工作時數。

但這正是這件事情有趣的地方。正如本文一開始就提到的,程式設計工作時間的長短和產出不見得有必然的關係。一名程式設計師即時能夠準時的上下班,也不意謂著他能提供足夠的產出。我們是否因為沒有能力或害怕沒有能力從產出來評量一名程式設計師是否稱職,所以才會退到依賴程式設計師的出缺勤情況來做績效評估。

當然,足夠的工作時數是每名員工應盡的義務、責任以及承諾。上述的說明,並不在論述從管理的角度可以不理會程式設計師的工作時數,而是提醒工作時數這個指標的局限性。

有些公司會更進一步設計浮動的上下班制度,讓員工選擇適合自己模式的上下班時間,這當然是個能發揮作用的設計。只不過,如果我們回過頭思考之所以造成員工工作時間移至較晚時段的原因,從管理的角度來看,更應該努力試著降低程式設計師在正常工作時間內所會遭遇到的干擾。倘若能從管理面上,降低程式設計師在正常工作時間內所受到的干擾,那麼他在正常上班時間內的有效工時,就能增加,也能避免他將實質的工作時間移至非上班時間的情況。這麼一來,也就更能夠準時在正常的上班時間,進到辦公室了。

 

專欄作者

熱門新聞

Advertisement