我的寫作規劃裡有 700 多題。到了這個量,問題就不再是「還有什麼可以寫」,而是**「還有什麼是我沒想到要寫的」**。

這兩個問題差很多。前者靠列清單就能解決,後者的難處在於——你不知道自己不知道什麼。

2026 年 7 月我做了一次實測,用兩種方法各掃一輪,比對結果。

腦力激盪的命中率:20 中 14 是重複的

第一輪是標準做法:坐下來想「後端還有哪些主題值得寫」。掃出 20 個候選題。

拿去跟既有規劃比對,14 個已經在裡面了

這個結果我一開始覺得挫折,後來覺得合理——甚至可以說,這正是 top-down 規劃該有的樣子。當初做規劃就是照著「一個後端工程師該懂什麼」的完整版圖去鋪的,那些經典題目本來就不該被漏掉。規劃做得好,腦力激盪就想不出新東西,因為你想得到的都被涵蓋了。

問題是剩下那 6 個。

剩下的缺口,5 個來自翻自己的 code

第二輪我換了方法:不想,改成翻。把自己那個電商專案的 code 逐個模組打開,一邊看一邊問「這裡有沒有我當初做了決定、但規劃裡沒有對應題目的東西」。

6 個真缺口裡面,5 個是這樣挖出來的

  • 審批流引擎
  • Enum 的 dead state 治理
  • 狀態機該接線到什麼程度
  • 對帳 pattern
  • 雙軌並存怎麼收斂

它們的共同特徵

我把這五個排在一起看的時候,特徵非常明顯:全部都是「做過才知道存在」的題目

它們在教科書裡沒有名字,在面試題庫裡沒有名字,在「後端工程師學習路線圖」那種圖裡也沒有名字。它們是你真的把一個系統做到上線、做到要維護、做到要跟另一套系統並存的時候,才會撞到的東西。

「Enum 的 dead state 治理」——這不是一個學科,這是你的 enum 加到第七個值、其中兩個已經沒有任何新資料會用到但舊資料還在用的時候,你被迫要處理的事。

「雙軌並存怎麼收斂」——這不是一個 pattern 的名字,這是你遷移做到一半、新舊兩套系統同時在跑、而你發現沒人寫過怎麼收尾的時候,你必須自己想清楚的事。

因為它們沒有名字,所以 top-down 想不到。 腦力激盪是在你的詞彙表裡撈東西,而這些東西根本不在詞彙表裡。

所以這兩種方法是分工,不是替代

我後來把它規則化成一句話:

top-down 負責涵蓋經典,bottom-up 負責挖原創。

規劃階段要 top-down,因為你需要覆蓋率——不能因為自己沒做過就漏掉基礎題。但要找出別人沒寫過的東西,只能 bottom-up,而 bottom-up 的礦是你自己的 code。

換個說法:你的專案裡每一個「當時想很久才決定」的地方,都是一個候選題。而那些地方不會出現在任何人的學習路線圖上,因為它們是你的處境長出來的。

這件事的成本比想像中低

翻自己的 code 聽起來很花時間,但實際上比腦力激盪快——因為你不是在憑空想,你是在讀既有的東西然後認出來。而且認出來的當下,素材已經在手上了:你不用再去找例子,那段 code 就是例子。

反過來,腦力激盪想出來的題目往往還要另外找素材,而找不到素材的題目最後多半寫不出來,或者寫出來很空。

相關