工程師打造高效工作的秘訣
有沒有常常覺得一整天都無精打采,明明工作進度差一大截,但就是提不起勁呢?或者工作常常做到一半就被打斷,本來高度集中的狀態因此消失得無影無蹤,那麼究竟該如何一直保持高效率的工作狀態呢?
作息正常,隨時保持思緒靈活
簡單說就是「要睡飽」,如果你一直持續在睡不飽的狀態,腦袋就很容易混沌。我遇到很多人在工作的時候會惡性加班,以致於讓自己的作息變得極不正常,更常見的是早上來到公司後,人雖然來了,但你的思緒並還沒有到公司,往往要再過好幾個小時才會回神。但是寫程式是極度需要高度思考的工作,如果你在上班時間一直處於精神不佳的狀態,你認為寫得出好程式嗎?所以在前面的章節才會提到不要加班,讓自己的生活品質正常,在工作時間保持最佳狀態,工作產能才會越來越好。
自主經營不被打擾的環境
接下來就是工作環境了,以前我剛進公司時常會被同事密集性地打擾,寫前端寫到一半,其它部門都會不時來找我討論事情,原本在很集中的狀態因此被打斷真的氣得咬牙切齒。直到工作幾年後才發覺環境要自己營造出來的,那麼究竟該如何做呢?
讓同事養成不會一直想要密集性找你的習慣
有些同事可能會因為你就坐在旁邊,想到雞毛蒜事的事情就會想找你討論一下,也因此被打斷的頻率也會跟著升高,因為他並不知道你目前的工作狀態,所以較好的方式是說,你主動跟對方說目前你的狀況,請他有事情時先整理列表起來,等到你忙到個段落時再回頭找他討論。當每位同事都瞭解你的工作狀態,久了以後他們也會習慣和你討論的流程。
但是你要記得並不能因為這樣就忽略同事交辦給你的工作,如果你都在忙自己的工作,並沒有依照時程提供給他們要的東西,想當然爾他們就會對你產生不信任感,以致於就會想不時去盯你的進度。要打造適合自己的工作環境,首先你必須取得同事與主管的信任,否則一切都是空談。
透過線上專案管理工具來交代中小型任務
除了面對面溝通外,另外一個不會被打擾的方式就是推坑公司用專案管理服務,例如 Trello、Asana,當有工作任務或發現網站有 Bug 時,假使並非緊急狀況,其實都能用類似這樣的服務,請同事先發 Issue (代辦事項) 出來,等到你有空時,再到服務上來看有沒有問題。像是我們公司目前就是使用 Trello 搭配 Git 來討論程式 Issue 的。
先主動完成「溝通性質」的工作
當我工作到個段落時,我會定期去找其它部門溝通工作項目,有任何細節都一次講完,例如說早上一來上班時就相當適合,大家都還在暖機的狀態,為了讓一天工作有個好的開始,10 ~ 15 分鐘密集溝通要做的項目,通常就能將當天 80% 的討論細節都說得差不多,其它就用 Trello 來輔助即可。
瞭解自己的生理狀態
你知道自己一天當中的生理狀態嗎?我們先來看一張圖。
紅色虛線是一般人認為工程師的產能,而藍線才是你的工作狀態。其實還蠻合理的,例如你剛上班時還沒進入狀態,然後才慢慢進入狀態,那因為中午吃飯後血液都跑到腸胃,大腦就不輪轉。下午五點血糖變低但是過了那段飢餓期後精神反而會越來越好。
所以有些軟體公司甚至會十二點半 ~ 一點才吃午餐,或是自己抽出一小時去吃飯,用意也是希望能讓工程師保持高效,有趣的地方是工程師晚上十一至凌晨兩點產能更高不是沒有原因的,因為這段時間不會有人會打擾你寫程式,所以效率自然會高到爆炸。
而右上角則是大家對工程師的誤解,他們都會認為說被打擾一下,工程師會很快恢復狀態,實則不然,其實是會緩慢上升才對,所以不要小看被打斷的力量。
當然每個人的生理狀態都不一樣,但只要掌握到這個觀念,你就能知道自己什麼時間點適合去溝通,什麼時間適合寫程式。以我來說我很習慣早上九點跟中午吃飯過後溝通事情,3 ~ 5 點就專心寫程式。當我評估有一個複雜程式在公司裡會需要一個禮拜才寫得出來時,有時候我會帶回家寫,往往兩個小時就戰勝我預期要花三個工作天的 Coding 量。
第三方軟體輔助
以前剛工作時我的心情很容易浮躁,沒辦法定下心來工作,再加上在網路上搜尋資料時,很容易被其它資訊牽著鼻子走,無形之間就變成時間殺手,最後再來分享幾個 Chrome 插件與軟體給各位:
- StayFocus:能設定一天你看特定網站的時間限制,例如你一天看 FB、Twitter 只能限制 25 分鐘,超過時服務就會婊你應該要工作了吧?
- Life Is Too Short:打開 Chrome 後就會倒數你的人生,下意識提醒自己不要再耍廢。
- RescueTime:裝在自己電腦的程式,會記錄你用每個軟體的時間,每週會發一封 Mail ,讓你知道你在用各個軟體的總時間,便可藉此觀察自己在「社群網站」、「商業」、「設計軟體」、「開發類軟體」上花了多少時間,好讓自己評估產能成效。
- 關掉所有聲音通知:在寫程式期間我會關掉手機與 Mac 上面任何會發出聲音的通知,以避免有提醒導致讓我分心,例如 LINE、Mail,在 iPhone 預設設定上也有個勿擾模式可以使用