學霸型工程師進步指南:寫「工作日記」,有效提升 coding 水準

關於「寫程式」這份工作,尋求進步的方法大概有 31415926 種,不過每個人都必須要找到屬於自己的「精神時光屋」,才能有顯著的進步。

過去我們曾介紹過一些方法,包含「從少寫一點程式碼開始」、「大型科技公司的 code review」,以及「Stack Overflow 上最常被提到的書籍」等都非常受歡迎,在這邊提出給大家做參考。

而本次要介紹給各位工程師的進步方法,是寫日記,也就是「logbook」。

撰寫 logbook,用自然語言增進你的程式語言

logbook 有一點像是獨立的註解,是一個輕便的文件讓你快速製作紀錄,大部分的編輯器內應該都有相對應的 logbook。

當遇到「需要解決問題」時就應該紀錄至 logbook,包含工作項目以及遭遇 bug 時,至於 logbook 內要寫什麼呢?

應該包含:

1. 寫下該解決的問題

2. 是先寫下解決方法,並描述你解決的方式

3. 記錄具體執行上述方法的過程

4. 記錄發生什麼事情,以及如何優化

 

聽起來很麻煩,很多時候 bug 都解不完了,竟然還要做紀錄?沒錯,透過在著手問題前先記錄,能夠逼迫自己先試想一次解決問題的流程。

最麻煩的地方可能在第 4 點「如何優化」的部分,可能需要花一點時間與人討論,或者是找尋相關的資料。

在初期可能需要花一點時間,不過長久累積下來將為你建立一座不小的知識寶庫,不只能少走一點冤枉路,往後遇到相似的問題也能夠輕鬆地解決。除此之外,撰寫 logbook 還有一些好處:

1. 逼迫自己遇到問題時學會「拆解問題」,將問題打碎成小問題並一一擊破。

2. 透過紀錄能夠在分心或是上班時,參考 logbook 快速回復到工作狀態。

3. 精進學習速度。透過觀察自己解決問題的方式,清楚觀察哪些方法可行、哪些不可行。

其實本方法不只適用於 coding,似乎各種學習都能用上,總結起來就是: 規劃、紀錄、優化,三大步驟

參考:logbook 應該要每天開一頁新的,並以日期命名

而數位銀行 Monzo 的後端工程師 James Routley 便是 logbook 的愛好者,他每天都會建立一頁新的 logbook,並直接在 Vim 中建立了功能函數,能夠快速為每一天的工作打開一個新的 logbook,並以當天的日期命名。

function lb() {

vim ~/logbook/$(date ‘+%Y-%m-%d’).md

}

——

參考資料:routley.io;圖片來源:Pxhere, CC Licensed。

關於寫程式,我們推薦你看相關的文章:

哪個程式語言最先死:Python 只剩 25 年可活,C 語言卻可以活到 2062?
【問卦】在 Google、Facebook、Uber 工作的強者們會睡午覺嗎?
Stack Overflow 大調查:工程師們最討厭的程式語言前三名是?


訂閱《TechOrange》每日電子報!

每天一早,需要來根知識能量棒? TechOrange 與你一起,吸收世界新知識、消化科技新局勢。點我訂閱電子報 ,取得最新深度報導。

點關鍵字看更多相關文章: