從眾多的工作中,軟體開發無疑是很適合遠端工作的一種。所謂的「遠端工作」指的是員工毋需進到固定的辦公室,而是在家,或是可以選擇自己覺得合適的工作地點來工作。
遠端工作有什麼優點呢?
對公司來說,可以節省辦公室的相關實體成本,像是辦公室空間的租金、水電、辦公設備及其他器材的開支。
而對員工來說,一來可以省去從家裡至辦公室之間的通勤成本以及通勤的時間,二來可以更靈活支配自己工作及生活的時間,因為遠端工作通常除了賦予員工工作地點的彈性之外,同時也意謂著工作時間上的彈性。在一些都會區,員工每日從家裡來回辦公室的通勤時間,可能接近兩小時之久,若能省去通勤的時間,生活及工作的品質都有可能變得更好。
這一兩年來,我們開發團隊中有陸續有同事選擇了遠端工作的選項,實際運作起來也很理想。同事甚至可以一邊在國外旅行、一邊參與工作。
網路與網站發達,許多溝通可透過各種軟體應用達成
軟體開發的性質之所以適合遠端工作,有一個基本條件是因為:我們每個人工作的產出(主要即程式碼),都是虛擬非實體的。
在過去,尚沒有發達的網路基礎設施連結每個人時,即使工作產出都是數位化的虛擬內容為主,但工作的產出交換及合併,還是得倚靠實體途徑。因此,倘若遠端工作的話,就不容易讓同一團隊的成員彼此便利的交換工作產出。
更重要的是,有了發達的網路基礎設施後,人人家中都有便利的固定網路、許多餐廳、咖啡館也都提供無線網路,甚至,透過 3G/4G 手機連接的網路也很普及,這等於是讓參與開發工作的人,只要能夠獲得充足的電力及網路設施,其實處處都可以是辦公的地點。
除了有普及、幾乎隨手可得的網路基礎設施做為支持的條件之外,相關遠端工作所需的輔助軟體及系統,也發展到一定的成熟程度。
除了傳統古老的電子郵件之外,還有一些其他軟體開發中需要的輔助系統。像利用 GitHub 來做原始碼的版本控管、議題追蹤;用 Trello 做專案待辦事項的管理;用 Slack 之類的通訊軟體來做團隊裡的即時訊息溝通。
有了這些現成的協同工作系統,對軟體開發團隊中的成員來說,不論是否遠端工作都相當的好用,而它們所能協助的,也幾乎讓是否遠端工作都顯得毫無差異。
在辦公室裡,同事們需要面對面的原因之一是會議,不過,透過各種協同工作軟體一起工作的同事們,其實需要舉行會議的比例降低很多。因為所需要的各種討論、溝通及協調,早就在平日時的協同工作中進行了。
非同步進行的協同作業, 比較有彈性
值得注意的是,大多的協同工作模式都是非同步的,也就是說,並不會要求所有的人在同時間一起進行,就像利用 Slack 之類的通訊軟體來討論工作事項,並不需要所有人在約好的時間一起,它允許大家在方便的時間閱讀訊息並且回覆。
這對程式設計者的工作來說是很重要的,因為程式設計工作需要專注持續的進行,要進入高度專心及高生產力的心理狀態(有人稱之為「流」),需要一段時間。倘若中間被打斷,想要重新再進入「流」,就得再耗去一些時間。因此,這些在時間上非同步的協同工作模式,就比較不會造成讓程式設計者從「流」中被中斷離開,致使必須再花時間重新進入,這對生產力會有幫助。
當然,在時間同步的開會有時仍然是必須的,因為,非同步的討論雖然比較不會打斷程式設計者專注的工作狀態,但由於參與討論的人員其時間都是錯落的,致使討論的效率會受到影響,一項議題所需的討論時間,可能會拉得較長。對於需要快速回應、快速互動的討論,利用時間同步的會議,還是比較有效率。
幸好,在網路科技的加持下,開會需要時間的同步,但不見得需要地點的同步,也就是說,與會者可以在不同的地點,透過即時的通訊軟體來開會。不論是語音會議,或是可以彼此看到影響的視訊會議,透過網路,都可以輕易地召開。因此,需要大家坐在一起面對面開會的需求,就會降低非常低。
信任是關鍵
軟體開發工作幾乎遠端就能完成絕大多數,而且還能帶來諸多好處,那麼為什麼不是目前軟體公司的主流?為什麼軟體公司不能接受提供員工遠端工作的選項?
我認為最根本的問題在於信任。這陣子的勞資工時爭議不休,然而,之所以勞資雙方如此在意工時,是因為工時是最簡單、最直接的工作生產量的評估方式。
當然,針對軟體開發這種運用腦力的工作來說,利用工時來評估工作生產量,會有好些失準之處。公司之所以不能提供員工遠端工作的選項,是因為當員工不在辦公室裡時,公司不能確定員工是否提供他應該提供的工作時數,倘若員工在家工作,卻整天睡覺或是沒有將時間花在工作上,公司豈不蒙受損失。
所以,公司提供員工遠端工作選項的要件,就是信任員工,相信員工能投入他所承諾的工作時數於公司的工作之上。
關於工時,很多公司有很多制度在控管,像是常見的打卡制度。為什麼需要嚴加控管,其中的原因之一,便是出自於不能完全信任員工,因此必須以此制度來約束。
事實上,軟體工作並不難評估工作的產出是否合理,做為一名軟體開發團隊的管理者,應該有能力評估每一個開發者其工作產出,與所對應的工時是否相稱。
更重要的是,正所謂「疑人不用、用人不疑」,與其把心思花在懷疑員工可能不夠全力投入,不如不用會讓你懷疑的員工。所有用來防弊的心力,都可以轉而用在興利。因此,確定自己能信任自己的團隊成員,是很重要的。
信任關係的建立是雙向的,公司願意信任員工,而員工需要的就是自律。當沒有固定的辦公室及固定的上班時間來約束時,你自己能否能夠具備自律的能力,自我要求自己的工作節奏。自律的確不容易,你知道自己的工作目標,然後自己規畫時間配置,來完成這工作目標。
也許在每一天中,你不是都工作八小時,可是你大概會維持每週四十小時,也許有些天多、有些天少,這是遠端工作的彈性及更好的時間效率,但你不該濫用公司提供的遠端工作選項,反正沒有人監看你的一舉一動,於是,你就把時間花在自己私人的事務上。
當員工能自律,也展現出自律時,公司自然傾向於更相信員工。這時候,工時的規定或是概念,幾乎會淡到沒有人在意。員工對工時的概念,變成了要以工時規畫自己的工作節奏及進度,因為太長的工時對生產力也有害。不論是公司或是員工,大家思考的重心會更放在工作目標本身,計劃每天的工作投入,來達成這個目標,甚至會思考如何提高自我的生產力。這是很好的事,因為大家的主軸從「滿足公司的工時要求」變成了「如何規畫時間達成工作目標」。
當我們團隊出現愈來愈多的遠端工作成員後,我發現工作的品質絲毫不受影響,甚至更好。我們能完全的相信員工,因為他們能提供穩定、一如預期的工作成果。他們生活的品質也因此改善,時間配置更彈性。而這些優點是需要雙方一起努力配合,才能得到的。