Learn in Public和DDD,讓學習更深入

「Learn in Public」,邊學邊分享,錯了還有可能獲得大神糾正;「DDD(領域驅動設計)」,讓知識把學習像做產品一樣拆解、模組化。兩者並用,不只學得快,還能打造個人品牌、收穫回饋,讓學習這條路越走越順。

圖片生成by ChatGPT, Learn in Pbulic & DDD

要如何讓學習可以成長的更快,其實就是可以採用「Learn in public」這概念——把學習的過程與成果公開分享。

這個做法看似簡單,卻能有效深化我們對知識的吸收。當你為了讓他人理解,而整理自己的學習內容時,往往會更認真地梳理、釐清與吸收,無形中強化了理解深度與實踐能力。

如果想進一步強化某個特定領域的學習,我也推薦一個很有用的概念:「Domain-Driven Design(DDD,領域驅動設計)」。雖然它源自軟體開發領域,但其實也可以應用在個人學習上——簡單說,就是將你想深入的知識領域,當作一個核心主題,再依此規劃學習內容、資源與實作步驟。

當學習變得有策略、有系統,加上「公開」這件事逼你思考如何表達與整理,你會發現學習效果真的不同凡響。

Learn in Public_公開學習內容

邊學邊分享的學習策略,獲得反饋、加速成長。

概念核心

Learn in public」是一種主動公開自己學習過程與心得的學習方式,不只是學會了再分享,而是邊學邊分享,目的是建立反饋迴圈、累積個人觀點和特色,也讓其他人從你的學習中受益。

Learn in public常見做法

  • 在社群媒體上記錄學習筆記
  • 直播自己學新技術或能力
  • 拍影片或寫文章(部落格或電子報)講述解剛學的觀念或知識

是誰提出的?

Learn in Public」這個具體口號雖然沒有單一正式作者,但普遍認為是在開源社群與技術創作者圈中,由以下人物推廣至廣為人知:

舉例

一位前端工程師正在學習 React,他每天在 Twitter 上分享學習到新知Learn in public「Day 1: JSX 基礎語法學習筆記」、「Day 5: useEffect 搞懂了嗎?」。即使他還不專業,但其他正在學的人可以一起討論,專家也可能糾正他的理解,形成良性循環。

Domain Driven Design(DDD,領域驅動設計)

以主要商業模式的業務邏輯為核心的軟體建構方式,開發出貼近商業需求的系統。

概念核心

Domain Driven Design 是一種以領域商業知識為核心(Domain)為中心來設計軟體的哲學與實踐方法。它強調技術架構應該反映該領域的邏輯,並鼓勵軟體開發者與商務專家密切合作,共同建立「通用語言(Ubiquitous Language)」,將業務問題具體化為軟體模型。

是誰提出的?

Eric Evans 在 2003 年提出,並出版經典著作:

Domain-Driven Design: Tackling Complexity in the Heart of Software

  • 正式出版於 2003 年
  • 這本書成為企業軟體架構設計的重要參考架構。

舉例

開發一個電子商務系統,傳統做法可能直接建立「Product」、「Order」資料表。而使用 Domain Driven Design, DDD 的方式,會先與業務討論「購物流程中哪些是關鍵的業務行為?」,例如:商品庫存控管、訂單付款狀態、優惠策略等。每個功能會有獨立的邏輯與模型邊界,像是「促銷引擎」就是一個獨立的 Bounded Context,不會跟「出貨模組」混在一起。

Learn in Public + DDD 一起應用

Step 1:建立學習目標

你告訴自己:「我想理解 Domain Driven Design, DDD,並應用在咖啡APP的設計上。」

Step 2:學習並同步公開記錄

  • 每天閱讀一小段 DDD 內容(例如如何品嚐好咖啡)
  • 把學到的觀念轉成簡圖筆記、實際應用到專案中的小心得,Learn in Public公開貼到社群、 Notion、LinkedIn 或 X
    • 例:在Threads和Dcard上面發文「今天學到咖啡豆的挑選,我把可以把選擇咖啡豆與購買咖啡豆,這兩個模組拆成兩個 Context。」

Step 3:反饋與實踐結合

  • 同事、網友或資深技術顧問可能會留言指正或建議
  • 你根據回饋再優化目前專案的 DDD 結構,例如將「訂閱規則」從「訂單模組」中拆出變成「計費模組」

面向實際收穫
自我成長在實戰中學習抽象知識(DDD)效果最好
團隊溝通DDD 強調共用語言,透過公開筆記幫助其他人更理解你的邏輯
個人品牌在社群中分享你的 DDD 學習與應用,可能吸引業界專家互動
反思迭代公開學習迫使你釐清思路,也能快速接收回饋再優化

結論

有目的性的學習Domain Driven Design,都每一小步的學習筆記或心得公開Learn in Public,是促進自我成長的方法,不用得到任何人許可,只要把學習到新知識,即便是一小點,寫出來分享出來,那其實自己就是對該領域又深入一點點,且會讓自己的記憶深刻。