前言

這本書是同事不久前主動拿給我的,起因是2020年底專案產生的一連串災難,於是他在某天就主動拿了這本書借我;一開始是跳著看,書內有些情境真的跟我們當時身陷處境很像,純粹也就是為了尋求認同,當時對解決方式不以為意,最近幾天有時間重頭開始看起又多體悟了不少。

本文

這本書是聲量滿高無瑕的程式碼番外篇,大多從業人員都有聽過正本,但這邊我自己是還沒看過正本,經過這次閱讀完,確實是提高我不少興趣去看無瑕的程式碼。

跟先前分享過的 Soft Skills 軟實力大致的方向一樣,都是幫助職涯發展的,但相較於軟實力本書較著重在於探究 Programmer 在一整個專案中會遇到的情境,頁數不多總共也才216頁(包含序、目錄),內容也滿貼近實際會遇到的狀況,要推薦的話我會覺得大概工作一段時間來看這本書會感同身受。

目錄

  • Chapter 1 專業主義(Professionalism)
  • Chapter 2 說「不」(Saying No)
  • Chapter 3 說「是」(Saying Yes)
  • Chapter 4 寫程式(Coding)
  • Chapter 5 測試驅動開發(Test Driven Development)
  • Chapter 6 練習(Practicing)
  • Chapter 7 驗收測試(Acceptance Testing)
  • Chapter 8 測試策略(Testing Strategies)
  • Chapter 9 時間管理(Time Management)
  • Chapter 10 預估(Estimation)
  • Chapter 11 壓力(Pressure)
  • Chapter 12 協作(Collaboration)
  • Chapter 13 團隊與專案(Teams and Projects)
  • Chapter 14 輔導、學徒期與工藝典範(Mentoring, Apprenticeship, and Craftsmanship)

從目錄來看應該很明顯,全部著重在一個專案每個階段會需要面對的事情。

雖然章節切了14章,但其實內文都有相關聯。
例如:第一章的專業主義有提到 Programmer 要對自己的專案有責任感,這包含了時程、品質等,這邊就會連結到第二章、第三章在時程壓力下要如何協調專案確切內容有哪些是應該據理力爭拒絕的、而有哪些是該為自己負起責任的,連結到第九章、第十章時間管理、預估。

重點整理

以下就列出自己看完後覺得特別有感觸的地方。

  • Chapter 2 說「不」(Saying No)

這章節重點在於:「時程壓力下,對於自己絕對不可能完成的工作,應該勇敢說不。」
這邊再次強調了第一張的專業主義理念,如果礙於時程壓力趕出來的程式,放棄了原本該有的品質,對於個人專案能力是一大打擊。

本章節明確指出了在某些情境下應該明確表達「不」的時機。
其中提到了一個關鍵字「試試看」,在時程壓力下被迫訂了一個完成時間而說出的「試試看」其實代表了之前並沒有把時間妥善應用、更可能讓對方誤以為留了餘力並沒有百分之百全力付出。

  • Chapter 3 說「是」(Saying Yes)

這篇就滿有意思的,章節中有提到如何識別「缺乏承諾」的徵兆。
大概有以下關鍵字:

關鍵字 例句
1、需要 有人「需要」去負責推動這件事。
2、希望 「希望」明天我能完成這個任務。
3、讓我們 「讓我們」把這工作做完。

真實情況還真的有遇到這些事,當聽到這些詞的時候往往工作都會往後延期,而且甚至不知道甚麼時候才會有確切答案...

  • Chapter 9 時間管理(Time Management)

這裡一開始就明確地說出「專案會議是很浪費時間的」。
而這邊作者也給出了實踐建議,如果面對不明確的會議應該「拒絕或是離席」,當然都是要透過委婉的方式表達。

看到這裡我也是腦動大開,原來在會議中離席也是一個選擇,畢竟你要為自己的工作時間負責;實際就有遇過專案啟動會議,把開發人員全部都找來,結果會議一開始卻是企劃負責人正在協調規則面的東西。

這邊延伸閱讀幾篇覺得不管是 PM 或是 PG 都可以學習的:

1、如何有效溝通,讓會議進行更順利?

2、產品經理,你「砍功能」了嗎?

  • Chapter 10 預估(Estimation)

重點主要是在 Programmer 要對自己承諾的時間要負有責任感,這也代表了你的專業主義。
作者提供了一些方式供參考,機率圖表方式、統計學估算等。

看到公司前輩對時程掌握的精準度,再想想自己的預估完成時間果然還有很多進步空間。

後記

這本書頁數不多但內容卻是滿充實,尤其是在專案開發過一段時間來看會覺得感同身受,在尋求認同時又能學習如何正面處理這些事情,也有助於自己下次遇到這些情境的危機處理,滿推薦開發人員都可以看看。