前文中談到,有些工作性質適合用明確的工時、甚至是嚴格的時間制度,而有些工作則需要在時間上有所彈性,而對於這種工作,公司有時候會使用所謂的「責任制」來管理員工的上班時間。

而責任制要能施行,必須存在雇主及員工間的信任關係,一旦有任何一端濫用,就會破壞這種互信關係,讓雙方都用很消極的心態來看待。

其實只要稍微一想,對於上班時間用消極的心態來看待,其實根本沒有太多實質上的意義。

因為公司雇用員工進來公司,是希望他們能有真正的實質產出,幫助公司達到商業上的目標、賺到錢,而不是請他們準時或是超時的來坐在座位上。對員工來說,更是如此,我們對於自己工作是有期許的,我們希望透過工作來達到自我實現,而不單只是時間到了就去上班,只等每個月發薪水的時間到來。

工作的目的是什麼?
我相信許多投入軟體開發領域的程式設計者,絕對不是只是為了想糊一口飯吃而已,我們都希望可以透過我們的工作做出一些有用的東西,可能是讓別人覺得很酷、或者是讓別人覺得很好用,有時候我們甚至希望讓別人的生活變得更好、改變這個世界。軟體絕對具有這種特質。

我也相信,對於從事軟體開發的人們來說,對工作保有熱情是最關鍵的要素。當你對工作有所熱情時,你會完全投入在你的工作,你也會希望在工作的過程中不斷成長,讓自己變得愈來愈強,也會希望自己所做的軟體,真的有一天能夠成為對其他人來說有用的東西,甚至讓這個世界變得有那麼一點不同。

這時候,你會想到,你必須和公司斤斤計較你今天是不是又多做了一個小時,而讓公司佔了你便宜嗎?我並不覺得如此。因為,當你很投入在你的工作時,或許你會覺得,可以工作的時間可能不夠用了。

我這並不是鼓勵大家要投入無止盡的時間在工作上,相反的,我反而希望大家在工作時間上有所節制。我知道真正的程式設計者一旦投入在工作中是很難抽離的,但你必須適時讓自己離開工作。

一方面,這是因為每個人都應該有自己的人生。或許每個人的價值觀都不同,但我會覺得工作是人生的一部份,但不是全部,在工作之外,你會需要經營人生的其他部份,像是你的家庭、朋友、還有其他興趣。

另一方面,每個人都需要適度休息,尤其是程式設計的工作,長時間耗用體力及腦力,對於工作產出只會帶來負面的結果。

我們並不需要每個人沒日沒夜地投入在工作,因為除非是超人,否則沒有人承受得了那樣的負荷,工作品質也會變很低。所以,除了工作之外,也需要適度的休息,以便得到更好的工作狀態。而且,有工作以外的人生,往往才能讓人對工作更有興趣、更能投入。

理想的工時配置

如果你讀過關於極限編程(eXtreme Programming,XP)的介紹,裡頭有個實踐的準則很有趣,叫做「每週四十工時」,而這基本上規範了程式設計者的工作時數。 我相信每個人的腦力狀態或體力狀態不盡相同,適用的參考工時時數也因人而異,但這個時數反映了一個平均的數字。

因為XP的發明者相信,倘若認真實施XP(這有部份的意義是指你們採用搭檔編程,大大增加了真正的有效工時),每週四十工時就是很足夠的工作負擔了。若再額外增加,因為腦力及體力的消退,長期平圴起來,沒有辦法得到更多、更好的產出。若是少於這個時數,工作上的進度,又有可能會推展得太慢。

我心目中比較理想,適合管理程式設計者工作時間的模式是怎樣呢?我覺得,有著適度彈性、每週能夠達到一定工作時數的方式,還挺適合的。怎麼說呢?

每週四十小時的工時,平圴起來是每天八小時,其實差不多是許多工時制度下的規範了。倘若在每天的八個小時中都有充份有效的工作,其實是足夠的,而且負擔也夠了,應該要休息了。這個時間長度的規範不僅是保障雇主端的權利,同時也是保障員工端的權利。對雇主而言,可以在最低的底限上確保員工的上班時數,而對員工來說,也可以避免自己過度勞累。

但是,正如前文所提及的,像程式設計這樣的工作,又需要在時間上有所彈性以便增加效率。我的看法是,保有適度的彈性。所以我說每週維持大概四十小時,但是,有時候程式設計者身心狀態好,也就是所謂的「手感正燙」,那一天或許就工作較長的時間。但或許有時狀態不那麼好,需要休息一下,當日的工作時數或許就少一點。總的來說,維持每週約是四十小時的時數,或許多一點、或許少一點,就能維持較好的工作狀態,以及穩定、可估計的工作產出。

但是這彈性並不適合無限度的擴張,例如,你今天工作一個小時,明天卻工作十五個小時,平均也是每天八小時。

之所以不建議有這麼大的彈性,是因為軟體開發時常是一個團隊的活動,它需要討論、需要互動,甚至有時候會需要一些人一起開會,如果大家的時間都如此飄忽不定,那麼這些討論、互動、開會的活動就很難進行。所以,團隊中的每個成員還是要有足夠長的共通時間,是大家都會一起出現的,以便這些活動能夠順利進行。

在這種有限的彈性下,你或許今天工作六小時,明天工作十小時,但大家還是有一長段可以被預期會一起出現的時間。

這一方面鼓勵大家作息盡量正常化,二方面,從管理的角度來看,這樣每個人也才能夠提供穩定而且可估計的工作產出。

從單日的工作產出曲線來看,你的曲線就不會一下子很高、一下子又很低。那樣子不好估計,也不那麼好管理。

彼此的信任關係是關鍵
以上是我覺得適合程式設計者工作時間管理的模式,不過,回到問題的源頭,工時制度的問題往往不在制度本身,而在人。任何一個制度都會有漏洞,真正關鍵的因素還是人。

有了正確的人,即使制度有所缺陷,或不那麼完美,還是可以運作的很好。相反的,若是不對的人,不論制度設計再如何嚴密、再怎麼完備,都不見得能達成目的。所以,在本文一開始,才會再度提到「信任關係」。當你信任團隊成員都能夠有所自律也都對團隊有所認同時,你根本不會懷疑或擔心他工作得不夠或不認真。

那麼,或許你會說,「我就是不能信任某些人呀!」,或是「並不是每個人都能自律或對團隊認同呀!」。事實上,若是身為管理者,你應該要有能力評估團隊成員是否能自律、是否對團隊有所認同,以便決定是否將他留在團隊之中。

對軟體開發工作而言,人扮演如此關鍵的角色,所以應當是「用人不疑、疑人不用」。倘若你懷疑他可能會偷懶、對團隊不忠實,那麼你根本就不應該讓他留在團隊裡頭。而不是為了防止他偷懶,而設計出各種會造成額外負擔的形式及制度,因為那反而會阻礙到其他成員的正常工作。

制度的設計是為了輔助我們把事情做得更好,而不是用來做為絆腳石,阻擋我們更快速地向前進。

 

專欄作者

熱門新聞

Advertisement