80/20 原則的核心#

80/20 原則又稱帕雷托原則(Pareto principle),由義大利經濟學家帕雷托(Vilfredo Pareto)發現:多數效應(80%)來自少數原因(20%)

它無所不在:

  • 大多數收入由少數人賺取
  • 大多數創新出自少數研究者
  • 大多數書籍由少數作者寫成

確切比例不一定是 80/20——可能是 70/30、90/10,甚至 95/5——但「少數產出多數」這個極度傾斜的特徵總是成立。要找一個 50/50 的反例反而困難。

帕雷托分布(Pareto distribution)長這樣:將原因依產出排序後繪圖,少數左側佔據絕大部分曲線下面積。

Figure 2-1: 一般化的帕雷托分布範例。

應用一:軟體優化#

軟體專案中:少數函式(vital few)佔了多數執行時間,其餘多數(trivial many)影響甚微。

IBM、Microsoft、Apple 這些大廠都用 80/20 原則改善效能:反覆優化最常被使用的 20% 程式碼。你一天會雙擊 File Explorer 多次,但很少改檔案權限——優化資源該花在哪裡,一目了然。

科學文獻支持此分布:Louridas、Spinellis、Vlachos 在 2008 年發表的《Power Laws in Software》。

Figure 2-2: 軟體工程中的帕雷托分布——少數函式佔據多數執行時間。

應用二:個人生產力的 16 倍差距#

假設一家 10 人公司、80% 結果由 2 人產出:

  • 頂尖 2 人平均產出 = 80% / 2 = 40%/人
  • 後段 8 人平均產出 = 20% / 8 = 2.5%/人

兩者差距 16 倍——而且帕雷托分布是**分形(fractal)**的,前 20% 中的前 20% 還會再放大這個差距。

Figure 2-3: 前 20% 員工的平均產出,是後 80% 的 16 倍。

智商不可能差 1000 倍。差距來自行為:做什麼、不做什麼、以及在什麼上面花時間。

Figure 2-4: 想要更多產出,就要往帕雷托曲線的左邊移動。

領先指標 vs. 落後指標#

要從帕雷托曲線往左移,就得找出「成功度量(success metrics)」:

  • 落後指標(lagging indicator):結果性的數據(如被引用次數、收入、銷售額)。它紀錄過去,無法直接控制。
  • 領先指標(leading indicator):每天可採取的行動,能預測落後指標的變化。

研究員的例子:

  • 落後指標:被引用次數
  • 中間:高品質論文數
  • 領先指標:每天寫的字數

對程式設計師而言,最簡單的領先指標就是「每天寫的程式碼行數」。建立試算表追蹤、設下每日下限——遊戲化、超越昨天的自己。

Figure 2-5: 研究員的成功度量鏈——從每天字數到高品質論文,再到被引用次數。

專注帶來的指數獎勵#

在帕雷托分布上往左移一格,產出可能爆炸性成長(10%、20%、再 40%⋯⋯),這就是「贏家通吃(winner takes all)」。

Figure 2-6: 在帕雷托分布上往左移一格,回報是不成比例的增長。

  • Alice:每天 3 單位學習時間,全押在程式上 → 在程式領域進入頂尖。
  • Bob:3 單位平均分到棋藝、程式、政治 → 在每個領域都是平庸。

帕雷托分布對頂尖者的獎勵是非線性的,所以專注一件事的回報,遠大於分散三件事的總和。Alice 不只在程式領域勝出,更會深入專業(例如 Python 機器學習),命令更高薪資。

Figure 2-7: 排名與產出的非線性關係——專注的策略性解釋。

程式設計師的極端分布#

蓋茲(Bill Gates)說:「優秀車床工的薪水是平庸者的數倍,但優秀程式設計師的價值是平庸者的 10,000 倍。」原因:

  • 偉大的程式設計師能解決平庸者根本解不出來的問題(無限倍生產力)
  • 程式碼可以快上 10,000 倍
  • Bug 更少(一個安全漏洞可能毀掉品牌)
  • 寫出可擴充的程式碼,提升下游數千名開發者的生產力
  • 用創意繞過昂貴開發、聚焦真正重要的事

怎麼變成偉大的程式設計師?#

「成為偉大的程式設計師」是多維度問題,無法直接最佳化。但你可以最佳化它的代理指標(proxy metric):寫更多程式碼

  • 寫越多,理解越深、越像專家
  • 吸引更厲害的人脈、得到更難的任務、賺到更多錢
  • 把瑣事外包給 Fiverr / Upwork

Figure 2-8: 程式設計師的成功度量——每天寫的程式碼行數。

真實世界中的帕雷托分布#

  • TensorFlow 倉庫tensorflower-gardener 一個帳號就佔了 9.3 萬筆 commit 中超過 20%(雖然這是 Google 團隊的共用帳號,但其餘個人前段貢獻者也都職涯亮眼)。

Figure 2-9: GitHub TensorFlow 倉庫的提交分布。

  • 程式設計師淨資產:自陳資料中已能看出嚴重偏斜。實際上,祖克柏(Mark Zuckerberg)、蓋茲、馬斯克(Elon Musk)、沃茲尼克(Steve Wozniak)都親手寫過自家服務的原型。

Figure 2-10: 60 位程式設計師自陳的淨資產分布。

  • 自由接案:Fiverr 機器學習類別中,多數人完成不到 10 個案子。輸的人多半是早早離場——這正是堅持者的機會。

Figure 2-11: Fiverr 機器學習類別中,自由接案者完成案件數的長尾分布。

帕雷托是分形#

放大分布的某一段,依然會看到帕雷托形狀(除非資料太稀疏):

Figure 2-12: 帕雷托分布的分形特性——放大任一段,仍是帕雷托。

  • 收入:頂尖 20% 中的 20% 賺走 80% 中的 80%——也就是 4% 的程式設計師賺走 64% 的收入
  • 時間:每週 40 小時中,可能只有 20 分鐘創造了 51% 的成果(例如寫個自動化腳本)。
  • 進步:無論你目前位於曲線哪裡,都還有「往左」的空間,沒有所謂卡住。

不要以為機率讓結果變成隨機而放棄找成功度量——你能在勝率上做手腳。80/20 思考者就是莊家,莊家通常贏。

九個實踐建議#

  1. 找出你的成功度量:定義產業 → 找出頂尖人士做得最好的事 → 設下每日最低門檻。
  2. 寫下十年大目標:沒有大目標就無法在一件事上長期堅持。
  3. 想辦法用更少資源達成相同結果:能否用 20% 時間完成 80%?剩下的能不能外包?
  4. 反思你的成功:哪些行為帶來了好結果?多做。
  5. 反思你的失敗:哪些行為造成失敗?少做。
  6. 多讀產業書籍:讀書是用最少時間獲取他人經驗的方式,能把你變成解題快 10–100 倍的高手。
  7. 改善既有產品而非不斷發明新產品:把一個產品推到曲線左端,回報指數成長。
  8. 微笑:成本低、槓桿高,會吸引更多合作。
  9. 不做減損價值的事:抽菸、熬夜、酗酒、Netflix 過量。少做有害的事比多做有益的事更具槓桿。

下一章將進入第二個降低複雜度的關鍵工具:最小可行產品(Minimum Viable Product, MVP)——把這個 80/20 思維落實到產品開發。