pexels-photo-374918.jpeg

第一性原理的心得

今天夢到在用全英文跟幾個人講解『第一性原理』,有好多英文單字不會,沒有解釋好,並且醒來也在思考,如果我今天要再重新講解一次該如何講解?所以我又重新查了第一性原理是什麼。

其中看到兩篇覺得不錯的內容〈重新理解【第一性原理】First principles thinking 以及我們應該怎麼使用〉以及〈引發驚人的爆炸力! Elon Musk 知識軍火庫中最強殺傷力的武器 : 「第一性原理」( First Principle )

網路上也很很多很棒的文章在講解第一性原理,這邊就不重複講解了,以下是我看完文章的,帶給我的腦力激盪

原理雖簡單,但為何難以實現?

  • 因為執行的成本高,所以要選對問題
    • 這也是許多人想要便宜行事,所以導致無法根本的解決問題的原因
  • 使用已知知識當成「資訊」、而非「限制」
    • 有時領域專家正因為是領域專家,所以才會落入用過去經驗直覺回覆,所以我們既要詢問,但更要持續往下追問,甚至問到讓自己成為領域專家,才會知道自己的知識盲點
    • 有些人為了證明自己是領域中的專家,會為了證明而反對事實

我們更因該著重在事實的推論,而非推猜測

這讓我想到跟程式再Debug的思維有點像,很多bug往往是藏在我們“認為、應該”的流程中,所以會先“簡化”,把雜訊全部去除,只留下核心問題。

在著手找Bug之前,最重要的一步是「重新確認問題」,為什麼要解決這個問題?這真的是我們要解決的問題嗎?還是有更底層的問題藏在這個問題之下?有沒有可能是定義錯問題了,有沒有辦法從更源頭解決根本問題?

有時問題發生在定義錯客戶真實的需求,就算再怎麼改程式架構、改邏輯也只是在逼客戶為我們自以為對的猜測買單。

有可能客戶提出來的需求也不是真正問的問題,那就要再繼續往下拆解,直到沒有嗅到任何“猜測”的味道。

問題應該被建立在基於事實、物理、數學等等比較明確的數字上

大費周章重新定義問題之後要記得「別用戰術的勤奮來掩飾戰略的懶惰」,別急著安排工作,先檢視戰略(How)是否有解決根本問題,最後才是檢討戰術(What)

便宜行事、急功近利是一種將天花板降低,來獲得成就感的方式,這樣往往只能產出很爛的結果,卻又預設立場限制住自己,認為自己在這間公司能做到的只有這些,那就應該回歸到問題的本質,去思考如何把事情做好而非做完,這邊要強調的不是花大把的成本鑽牛角尖,而是在挖掘問題本質的同時是否能做得更少卻又做得更好

接者我會大膽假設解決方法,並且快速的驗證假設的正確性、修正錯誤,再次迭代,讓每次的小成功為成功之母。

真實的開發都會把“時間”維度一起評估進來,導致會需要大量成本的第一性原理變得較少人可以順利執行,所以在有限的資源下,優先解決真正的核心的關鍵問題只能演變成優先解決『最有價值的問題』,以此為出發點來衡量,才不會把問題的顆粒度切得太碎導致任務無法完成。

以上是我的心得,也祝大家可以一起做得更少做得更好。