程式設計師如何保證「專注」與「效率」

JerryC發表於2016-12-15

什麼是專注

簡而言之,專注就是注意力分散的對立面。
記得大學時候教我英語的老教授說過的一句,
「知道為什麼你們一直都學不好英語麼,你們這一代人生活在一個太多誘惑的世界。」

每一天,我們坐下來開啟電腦,想做點什麼正經事情的時候。
卻又無意中開啟微博看看熱搜榜,看看林丹出軌,宋冬野吸毒入獄,papi醬和邏輯思維鬧分手。
又會拿起手機刷刷朋友圈,看看小夥伴自拍照,旅遊照,三姑六婆姨媽姑丈的心靈雞湯。
還會開啟知乎,看看各種「如何評價XXX」,「XXX是什麼樣的體驗」。

就像吳曉波每週都會說的「世界如此喧囂」。
現代人生活在一個充滿了干擾的世界,社交、郵件、電話、簡訊、走神、打斷,紛至沓來。

不知道你還記得最近一次解決真正的難題是什麼時候嗎?
你可能是在試圖修復一些BUG,或者要弄清楚為什麼程式碼跑不動。
時間飛逝,你忘了吃飯、喝水乃至睡覺,一門心思撲在你的任務上。
你全身心的投入到單個專案上,如果任何人膽敢打擾你,你就會暴跳如雷。
這就是「專注」。
就像生活中許多事情一樣,專注就像一個「衝量」的遊戲,想要達到專注工作的狀態很難,但是一旦進入專注狀態,就能輕鬆的保持下去。

衝量

「衝量」是一個物理詞彙

衝量是作用在物體上的力在時間上的累積,一個隨時間改變的力對一個物體的衝量指這個力的作用對時間的積累效果。

我覺得用來形容人類思維從一個「注意力分散」的狀態進入到「專注」狀態的過程是再好不過的概念了。

就像我們開車在高速公路上行駛時的提速過程,車在進入高速行駛之前需要更換幾個檔位,讓車提到五檔,需要點時間和油耗。一旦開到五檔,那就能輕鬆巡航了。
倘若你開在每隔一百米一個紅綠燈的道路上,總是不斷的起步停車,那麼整體的速度會很慢,且油耗高,順帶還給「霧霾」增添多一分貢獻。

又像我們啟動電腦程式,第一次開啟程式往往需要較長的時間。因為計算機要花一些時間把程式程式碼寫入到記憶體,之後,你使用軟體就更加順暢了。
就像以前寫Java的程式設計師,上班第一件事開啟MyEclipse,然後直到下班才關閉。
也像你忽悠產品經理,開啟網站第一次會慢點,第二次就會飛快了。

所以,當我們需要對一件事情「專注」的時候,我們需要花一些時間把所有的事務在腦子裡過一遍,然後才能達到思維高峰以完成任務。

如果不幸,你專注期間,產經忽如其來討論需求,測試忽如其來報BUG,之後你還需要重新回想剛才做到哪裡,重新花一些時間來形成「衝量」。就像計算機執行緒間來回切換所需要花費的成本。
被打斷的間隔越長,需要繼續之前的任務所需要的成本也就越高。
忽然想起個段子:「你跟產經討論了一天,他的需求有了,你的程式碼呢?」

思維體力

我覺得進入專注所需要的「衝量」是可以通過鍛鍊來縮短的。
也就是說每個人進入「專注」狀態所需要的時間是不一樣的,並且我們可以通過特定技巧和方法來鍛鍊,進而縮短進入「專注」所需要的成本。

如果把這個過程比喻為「思維預熱」,那麼「思維體力」可以用來指的長期保持專注狀態的能力。
這個能力,因人而異,也因事而異。

有些人能一下子專注幾個小時,例如愛音樂的吉他手可以抱著吉他玩一下午直到腰痠背痛。
有些人卻只能一下子專注半小時,例如開個會議,直到聽到老領導說「我再講最後幾句」。
還有些人只能專注前面的十分鐘,例如大部分學生,聽老教授講枯燥無味的課。(不排除趣味相投的學生聽的津津有味)

長時間的「專注」,容易讓人思維疲勞。
不同人對於不同的事情保持「專注」的時間也不一樣。
明白這樣的道理,我們可以通過一些規則或者靈活的方法來讓我們的思維可以在「休息」和「執行」的狀態有序的切換。

比如「番茄工作法」。
番茄工作法的核心概念也很簡單,可以總結成:

一個標準番茄時間是25分鐘(工作),前後兩個番茄時間的標準間隔時間是5分鐘(休息)。
把一個任務所需要完成的時間,細分到以番茄時間來做單位。
番茄時間內強迫自己專注到當前任務中,休息時間可以用來處理需要處理的其他事務(回郵件,回簡訊等等)。
以這種「工作」,「休息」的狀態來回切換,達到高效率完成工作任務。

單執行緒

人的思維,就像一臺「單核計算機」,同一個時間,你只能處理一個任務。
我們所承擔的多個任務都要「環境切換」的成本。
當我們從一個任務切換到另外一個任務的時候,我們必須要喚醒某些記憶才可以重新開始工作。

想必你也試過,一下子想完成多個事情,猶豫再三,決定從某一個任務開始著手,結果在執行這個任務的過程中,心理還想著其他的任務,以至於沒有完全投入當前任務,大大降低效率。

如果把「人腦」比作「CPU」,那麼我們需要一些方法來進行「資源排程」,以及「任務管理」。
讓我們的大腦「明確目標」,專心處理當前任務,而不用去考慮其他沒有完成的任務。

如何保持專注

明白了什麼是「專注」,以及專注的剋星「打斷」。
我們可以總結保持專注所需要解決的幾個主要問題:

  1. 鍛鍊專注,縮短衝量的成本
  2. 減少干擾源,避免打斷
  3. 注意休息,注意思維體力
  4. 學會管理任務,明確目標

下面是,一些建議與安利。

「番茄鬧鐘」類工具

番茄土豆
我用了最久的一款整合了 GTD 應用,它整合了「番茄鬧鐘」和「任務管理」的功能。
以下是這款產品做的很不錯的幾點:

  1. 支援多個客戶端,囊括了iOS、Android、Mac、Windows以及網頁端。
  2. 還支援「時間記錄」的功能,一週下來,你可以看看時間都花在哪裡了,效率如何。
  3. 支援任務打標籤

此刻
一款iOS平臺的單純的「番茄鬧鐘」,別有任務管理,沒有白噪音。只有單純的「25分鐘-5分鐘」的迴圈。
當我極簡風的情緒來了,就會用這個APP。

「白噪音」類應用

潮汐
iOS平臺獨佔,融合了「冥想」「白噪音」「番茄鬧鐘」的應用。
也用過一段時間,是一款難得的優秀作品,只有五種白噪音,清新的介面,很適合調整心情,來裝一會逼。

程式設計師如何保證「專注」與「效率」
潮汐

(注:介面太美,忍不住貼個圖了)

「一副耳機」 加 「一份後搖歌單」 再加 「一雙普通的海綿耳塞」

當我開啟IDE或者文字編譯器,準備專注的寫幾段程式碼的時候。
發現戴上耳機,播放著一張「後搖」歌單,特別能讓我專注的思考如何實現功能,編碼的效率也提升不少。

一副耳機
這裡我不需要討論耳機的選購,每個人的愛好需求都不一樣。選擇你自己喜歡的就好。

一份後搖歌單
有些人把後搖看作搖滾樂的一種,雖在音樂界這個叫法有些爭議,但我們不需要去管。
後搖的一個特點是,所用樂器一般與搖滾樂相同,但節奏、和聲、旋律、音色及和絃進行,都有別於傳統搖滾。
沒有歌詞,沒有人聲,打破傳統歌曲長度,有些甚至長達二三十分鐘。
後搖給我的感覺,不像傳統類似「班得瑞」那種「輕音樂」,它多了一絲激情,多了一份節奏感,更適合寫程式碼。

如果你不嫌棄的話,這裡有一份不錯的網易雲音樂的歌單:多巴胺作菜,後搖作酒

再額外推薦點,班得瑞十三張專輯
如果你不喜歡「後搖」,想找一份不錯的「輕音樂」歌單,可以試試「班得瑞」十三張專輯。
班得瑞(Bandari)是瑞士音樂公司AG旗下的一個新紀母音樂專案。
其作品以環境音樂、冥想音樂為主,主要以睡眠、減壓為主要音樂功能。
風格方面,班得瑞的音樂有許多改編自日本和歐美的新世紀音樂、凱爾特音樂、鄉村音樂或老式情歌的樂曲。

一雙普通的海綿耳塞
耳機戴多了,戴久了,是會嚴重影響聽力的,並且是不可恢復的損傷。
「白噪音」的方法並不能濫用,所以你的抗噪音能力較弱的話,可以去淘寶十幾塊錢買一副普通的海綿耳塞,戴上也可以隔離世界。但就是有點撐耳朵,一開始會不習慣。

「GTD (Go To Do)」類工具

Wunderlist
中文叫「奇妙清單」,一款我從大學就用到現在的GTD應用,對比 Trello,Teambition,這款更適於個人使用。
單純的記錄想做的事情,做完了就打鉤,打鉤的那一聲清脆的「叮」還是百聽不厭。
一個賬號通用Android、iOS、Mac、Windows、網頁平臺。

Trello
更適合團隊協作的,「皮膚式」的任務管理工具。
能把任務分為不同的狀態,分配給不同的人,定義好時間。
專案進度,個人進度一目瞭然。
支援Web、iOS、Android三個平臺

Teambition
這也是一款在我大學和小夥伴做專案的就開始用的團隊任務協作工具,是國內一家位於上海的優秀團隊的產品。
同樣支援Web、iOS、Android三個平臺。
有企業版和免費兩個版本,如果低於10個人合作的話,Teambition是一個不錯的選擇。

「記錄日誌」類工具

回顧和總結是一個好習慣。
一天一小結,一週一大結,還有季度總結,年度總結。
並不是寫給誰看,而是寫給自己看,記錄自己的時間,知道時間花費去哪裡了,有哪些產出,有哪些長進。
無論你選擇怎麼樣的生活方式,也不應該讓不斷流逝的時間走得不明不白,不清不楚。

對我個人來說,記筆記最重要的是兩點:

  1. 支援雲同步
  2. 支援Markdown

印象筆記 結合 馬克飛象
很久以前我用「有道雲筆記」,後來因為找不到支援 Markdown 的支援加上網易郵箱暴庫的原因。就轉到了「印象筆記」,然後結合著第三方開發者開發的「馬克飛象」,來用 Markdown 語法寫了一段時間的日誌。
總的體驗還不錯,但是這種方式還是顯得有些笨拙,而且不支援其他客戶端的編輯。
直到遇到了「Day One」的限免。

Day One
又是一款iOS平臺獨佔的優秀應用,對於蘋果黨來說絕對是強悍的日記應用。只要你手頭上有ipad,或者iphone,或者macbook,隨時拿起來寫點什麼。
就是因為這種方便性,我在day ones寫了有很多突發奇想的idea或者感悟或者感想,以及一些可以用來寫作的主題。

「思維導圖」類工具

1970年,英國的託尼·布詹提出了一種輔助思考的工具——思維導圖。
它是通過平面上一個主題發散出來相關聯物件所形成的中心網狀結構的圖。
由於這種表現方式比單純的文字更加接近人類思考時的空間想象,越來越多人用於創造性思維過程中。
而我用思維腦圖來做的比較多的是:

  1. 專案設計、架構設計。
  2. 個人任務整理。
  3. 思考的時候用來記錄思維過程。
  4. 做會議筆記、讀書筆記。

百度腦圖
儘管最近的百度口碑都不好,但是無可厚非的是,百度下面的確有些產品是做的不錯的,也不能一言蔽之。
百度腦圖算是一個,比較純粹的操作方式,加上一個雲同步的功能,已經足夠大部分需求了。
但是唯一讓我還不滿足的是,沒有移動端的支援。
又是直到 「MindNode」限免為止.....

Mindnode
如 DayOne ,Mindnode 是iOS獨佔的一款優秀應用,最重要可以三個客戶端同步使用。
嗯,如果你是個蘋果黨,也正好不差錢,Mindnode我認為是最好的解決方案。

最後的一個建議,關注健康

身體乃革命本錢,人類有區別與其他動物,就是能有反思自己思維的能力。
我們以血肉之軀來到世上,在諸如科幻片中可以實現「思想數字化」之前,我們的思想和思維的運作,都要依賴於我們現在的身體。
保養好我們的身體,可以讓我們更好的完成更多的事情。
所以,我們開始站立辦公了,解決方案就是:「39塊的宜家拉克邊桌」

程式設計師如何保證「專注」與「效率」
站立辦公

最後再囉嗦一下,關於團隊效率

以上,都是講述瞭如何提高個人的工作效率。
但是,現實的人類生產工作,都是團隊性的,我們尋求在能保證個人效率之外,還需最大相容到團隊的效率。

這裡有一篇文章很好地講述了一些「團隊效率」的觀點,也基本符合我現在所在團隊的價值觀。
騰訊:管理研發大團隊就像10人小分隊

我的總結如下:

  1. 角色分明,各司其職
  2. 迭代流程,形成迴圈
  3. 需求透明,進度透明
  4. 線上資料,隨手可得
  5. 溝通沉澱,形成歸檔

然後我們也一直在思考如何提高團隊的效率,也有輔助一些工具,由於邊幅問題。
改天另立文章,來安利一些不錯的工具。

總結

本篇講述了以下內容:

  1. 關於什麼是專注,如何理解專注,以及如何達到專注。
  2. 要做到專注,需要解決的問題。
  3. 藉助工具來解決這些問題,安利了一波。
  4. 簡單提及了一下團隊效率

關於轉載

本文預設允許轉載,但:

  1. 請務必註明出處:BlueSun | 《程式設計師如何保證「專注」與「效率」》
  2. 如果你不介意,我希望轉載的同時,可以得到一聲告知。(Email:huangjerryc@gmail.com)

感謝!

相關文章