[譯] 程式設計師該如何提高生產力?

未進化的類人猿發表於2020-02-15

[譯]程式設計師該如何提高生產力?

圖片來源: 50 Inspirational (and actionable) time management quotes

原文連結: How to Improve Your Productivity as a Working Programmer

譯文連結: 程式設計師該如何提高生產力?

在過去的幾周裡,我著迷於生產力提高的實踐.在這段時間裡,我一直關注著我自己完成工作過程,嘗試做出一些改變來提高自己的生產力.僅僅兩個月後,我現在可以在同等時間裡有效地完成比之前更多的工作任務了.

如果在這之前你問我關於程式設計師生產力的看法,那麼我可能沒法談論太多.回顧過去,看到自己可以做更多工作後,現在我認為了解如何提高生產力是一個程式設計師需要擁有的重要技能.下面是這幾周我認為顯著影響我生產裡的改變.

消除分心

第一個也是最簡單的改變是:儘可能消除讓自己分心的事情.之前,我會把大量的時間花在閱讀Slack訊息,電子郵件,Hacker News上.如果我把這些時間花在專注完成工作,那麼幾乎所有的這些時間都能得到有效利用.

為了儘可能的消除讓我分心的事情,我首先改掉了當我完成了部分工作後就拿出手機的習慣.現在,只要我拿出手機來,我立馬又把它放回去.為了減少Slack的打擾,我退出了那些我無法立即獲取有價值資訊的閒聊群.現在我只保留與我團隊和工作相關的群.此外,我只讓自己在特定時間檢視Slack,比如,開會之前,或者午飯之前,或者下班前.當我開始上班的時候,我故意不去檢視Slack,而是開始工作.

養成持續專注工作的習慣

Flow,有時也被稱為領域, 是指你的注意力全部集中在手中工作時一種精神狀態.我努力地營造一個環境來最大限度延長保持這種狀態的時間.比如,我把我的工作臺搬到辦公室的一個安靜的角落,營造長時間不受打擾的環境.當我想進入這種狀態的時候,我會帶上耳塞,關掉所有的不相關的瀏覽器選項卡,然後把所有的精力集中在我當前的工作上.

根據自己生產力最高的時間來安排一天工作任務

當我開始計劃當天任務時,我腦海裡主要有兩個目標.

第一是把所有我需要參與的會議集中安排.這使我專注狀態的時間最大限度地延長了.我遇見過最差的安排是幾個會議相隔半小時.半小時不足以讓我完成任何重要的工作,因為半小時後,我就會被下個會議中斷當前工作.相反,我將所有會議安排在一起,這樣開完一個就可以接著開另外一個.這樣我就需要長時間等待來進入進入專注並保持專注了.

第二個是儘量把計劃安排在我生產力最高的時間段.比如,我發現自己一般在早上最具有生產力.然後下午4點的時候,我通常精疲力竭,沒有足夠的精力去完成所有的工作.為了減弱這種情況對我的生產力的影響,所以我現在會把會議時間安排在這個我生產力最低的時間段.畢竟,全程坐著開會並不需要很多能量.這種方式可以讓我在自己生產力最好的時候工作.想想看,如果我把我最有生產力的時候半小時的開會時間換到我生產力最低的時間段,那麼我這一天就可以增加30分鐘有效工作的時間了.

觀察自己寫程式碼的過程

我發現一個個非常有效的實踐就是觀察自己的寫程式碼的過程.在某一週裡,我執行著一個錄屏軟體記錄我操作過程.然後,在週末,我會觀看上一週的幾段影片.我通常會關注任務實際完成比任務原本計劃完成長很多的時間.當我關注這些的時候,我會集中注意力觀察時間花在何處,並且找出那些我本可以做的更好的事情.當我第一次嘗試後,我被自己的時間開銷記錄震驚了.

比如,以前我寫程式碼的時候,我會在完全實現功能的所有程式碼後,集中測試這些程式碼.而當我按照這種方式測試的時候,我需要先隔離bug可能會出現的函式,然後再debug單個函式.在我看完自己寫程式碼的過程後,我發現我幾乎花費了總時間的四分之一來實現追蹤功能可能出現bug的函式上.在這之前,這並不是顯而易見的,如果不對自己編碼過程做記錄,我根本無法發現這些.現在,我意識到我在隔離可能出現bug的方法上花費了太多時間,所以現在我寫完方法就立即對他們進行測試,確保這它有效.這讓我可以快速寫程式碼,因為這種方式大大減少了我除錯時間.

追蹤過程並且完成改變

在下班前,我會花上15分鐘來回顧這一天.我回顧自己在一天中哪些事情做好了,哪些事情是我本來可以做好的事情.然後再花上15分鐘,把自己的這些想法寫下來.每週六,我會再讀一遍這一週裡的回顧筆記,並根據這些筆記來實現一些改變.

舉個簡單的例子,以前週末早上,我在起床前在手機上花上一兩個小時.那個時間我本來可以用來幹其他事情.為了解決這個問題,我晚上臨睡前會把手機放到離床很遠的地方.然後早上醒來的時候,我強迫自己不帶手機去衛生間.這就使得我很難在早上浪費時間了,每週可以為我節省幾個小時。

耐心

我並不是一次性完成所有的這些改變.我一次只做出一兩個改變.試想下,如果我嘗試一次性完成上面的那些改變,那麼我會很快精疲力竭,然後放棄的.相反,我可以更慢的引入每個改變來做更多改變.每週只需要做一兩次,然後雪球將會越滾越大.僅僅過了幾周,我就發現我比以前更具有生產力了.作出任何改變總比沒有改變要好很多.我認為哈佛大學John Ousterhout的話恰當地描述了這一點.他說:”A little bit of slope makes up for a lot of y-intercept“ - 類似”千里之行,始於足下!”.

Note

更多內容,請檢視本人部落格Noape’s blog

本作品採用《CC 協議》,轉載必須註明作者和本文連結
禁止轉載

相關文章