工程師這樣開讀書會:The Clean Coder 共讀筆記

https://image.cnbcfm.com/api/v1/image/104702698-GettyImages-583816330-book-club.jpg?v=1532563764

軟體公司中經常出現讀書會的活動。希望藉由共同閱讀一本書籍,提升大家的軟實力或硬實力,又或是培養出共同的價值觀。

這邊跟大家分享在 Titansoft 的其中一種讀書會進行方式。

當畢卡索遇上莎士比亞 — 團隊共讀法

事先準備

  • 確保準備參加讀書會的夥伴們手上都有一本書
  • 將這次閱讀的章節內容進行分段,每段約5–7頁
  • 準備可供繪畫的素材,如麥克筆、全開海報紙等

個人閱讀

  • 進行分組,每組約2–3人與指定閱讀的文章段落
  • 同一組個別閱讀同一段內容
  • 用螢光筆在書上標註六句重點的句子
  • 若不好直接在書上畫畫,也可以選擇額外抄下句子

團隊閱讀

  • 小組內分享各自認為重要的段落
  • 總結出六句話能帶代表該段落,盡量用作者的原話

視覺化重點

  • 閱讀總結的六句話時,帶給你的感受或有什麼圖像浮現出來,劃在紙上
  • 在繪畫完成後便可以進行小組之間的彼此分享

回顧於日常生活

以下面的問題作為此次讀書會的收尾

  1. 一句話總結今天的內容
  2. 跟日常中一樣的地方
  3. 跟日常生活中不一樣的地方
  4. 下一步我會想做什麼

看完簡單又複雜的規則之後,讓我們來看看實際的例子

只要身為一名工程師,無論是撰寫前端或是後端程式,都一定聽過

Clean Code- 無瑕的程式碼

但我覺得在撰寫Clean Code之前,更需要具備Clean Coder的精神與信念,因此便邀請了部門的夥伴一起來共讀這本書

The Clean Coder — 專業程式設計師的生存之道

基於著作權與智慧財產權等問題,不方便分享過多的內容與細節,而團隊在上述提到的團隊共讀法之中,產出了幾幅畫作,就讓我用這幾幅畫作來跟大家說明 Clean Coder的概念。

話說前頭

作者分享他自身的經歷,用許多錯誤的經驗來做開頭,希望大家可以避開他自己走過的錯路。

專業主義 part 1

既然提到專業程式設計師的生存之道,那什麼叫做專業工程師呢?

擔當責任

我們對待程式碼,應該如同雕塑家對待泥巴一樣,不斷的變形與塑造出完美的成品。

如撰寫 Unit Tests 確保程式碼的穩定與正確性,為這一段程式碼付起責任。
有了 Unit Tests 的保護,便可以大膽地進行 Refactor,增加程式碼的可閱讀性與擴充性。

但若程式碼不好進行測試又該如何處理呢?
測試驅動開發(TDD, Test Driven Development)會是邁向專業道路上的一盞明燈。

童子軍原則「離開營地前,讓營地比使用前更加乾淨。」

我們也應當這樣的對待程式碼與專案,「每一次的 Commit,都要比上一次更加簡潔。」

專業主義 part 2

職業道德

  • 你該為自己的職業發展而工作,應該做能夠激發、強化你熱情的事物,而這過程應該是充滿有趣的。
  • 站在雇主的角度來思考
  • 術業有專攻,是需要投入時間去追求的
  • 練習,是在日常工作之餘專門練習技能
  • 你應該瞭解業務領域,應該對於該領域有所瞭解,並能夠辨別、質疑規格書中的錯誤。
  • 與他人協作跟獨處同樣重要

職業道路是漫長與學無止境的,我們都應該保持熱情的去面對我們的工作,伴隨著從事有興趣的事物,兩者相輔相成,在職業道路發展上應該是充滿熱趣的。

如果對於測試有所興趣,專研不同框架的測試方式與刻意練習的不同種類的自動化測試,都會讓你在專業的道路上,走得有趣又自在。

而這探索與練習的過程,應該是在日常工作之餘發生的,所謂有熱情的事物,是在無論多累的情況下,都願意持之以恆去進行的。在邁向專業的道路上,更少不了這樣子的練習。反之,面對工作上,我們應秉持我們的專業,使用我們所擅長與熟悉的方式,提供出穩定又有信心的解決方案。

閱讀很容易陷入乏味的情況,藉由團隊共讀,可以增加閱讀這件事增加趣味性,並且轉化讀書這件事,從靜態的閱讀,變成動態的創造。

使用團隊共讀法,可以有效地讓團隊陪養出共同的價值觀。除了使用文字來擷取書的重點,更使用了圖像化的方式,來讓重點視覺化,進一步地加深印象。
每個人對於知識的吸收方式有所不同,有些適合於文字閱讀,有些適合於書寫重點,更有些習慣於圖像化記憶,而當畢卡索遇上莎士比亞 — 團隊共讀法,一次性的活動,便可以產生閱讀、書寫、繪畫,三種面向的知識吸收方式。

如果你現在所處的團隊位於剛起步的狀態,或是處於新人很多的情況,不妨參考一下團隊共讀,找一本適合大家閱讀的書籍,從中培養出團隊共同的價值觀,為之後的團隊發展、擴編打下基礎。讓團隊在發展初期並可以擁有共同的概念,進而減少誤會與溝通的成本。
更可以促創團隊間的合作,讓團隊成員從事些非日常工作的事物,激盪出不同的組合與火花。

希望藉由這篇文章作為開頭,除了分享不同的讀書會進行方式之外,更記錄下每次團隊舉辦讀書會後的成果,將團隊從書上獲取的知識與價值觀,萃取成圖畫與文章。

--

--

㊣港都🦭豹哥㊣
新加坡商鈦坦科技

從北方的南港登陸南方的海港,沐浴在港都的陽光下,想要一展豹負。豹持著 Never Stop Improving 的精神,在此跟大家分享哥的開發日常😎