大家好,我是李孟一 DreamOne,這是我寫在琢奧專欄的第一篇文章,特別興奮!

在我開始創業之前,我曾在資工系度過一段日子,雖然我後來選擇了對當時的我更有趣的路——以魔術方塊為主題創業,我很幸運在大學期間從零開始摸索,後來也在教育產業打造一間營收突破千萬的公司。

但我每次回想創業路之前的資工系時光,那段沉浸在程式語言的學習經歷,其實是我創業過程非常重要的經驗值,雖然當時因為創業大部分課程都被當光這是真的。

大部分人會覺得創業跟寫程式是兩回事,工程師用有邏輯的語言跟機器對話,而創業家則是在不確定的環境與人博弈。

但我認為,兩者的底層思維是一樣的:在混亂中建立秩序,在資源匱乏的情況下找到最優質解。

多數人創業前忽視的真相:從零到一的迷思。

無論是開一間公司或是開始任何程式專案,最關鍵的絕對是使用者的需求是甚麼,要先釐清痛點,從痛點中找尋問題解法,然後在從問題解法中整理出解法的框架,我認為這是從零到一的關鍵。

但是這還不是全部,太多人會過於興奮一個新產品/專案的誕生,就像是剛學會寫程式的人剛在螢幕上打出第一行字「Hello World」一樣,就算你真的完成了從零到一,真正的挑戰才正要開始!

全世界最重要的開源作業系統 Linux 之父,Linus Torvalds 就曾多次表達,維護比開發還重要。

他所開發的作業系統 Linux 是全球數十億個裝置的基礎,譬如 Google、Facebook、YouTube 等現代網路服務的底層都是 Linux,如果這套系統沒有妥善後續維護,全球的許多網路基礎建設都會因此崩潰。

Linus 本人有很多很優秀的哲學,他崇尚簡潔高效的哲學,譬如他認為平庸的工程師會用 if 條件判斷來處理特例;而有「好品味」的工程師會重新設計邏輯,讓特例直接消失。

Linus 比起創新,他對花俏的新功能沒興趣,他更在乎「不破壞使用者體驗(Do not break userspace)」,很多時候無聊是更好的,因為無聊代表穩定,不會突然害全世界幾百萬台電腦癱瘓。

甚至全球工程師的版本控制工具,Git 這東西還是因為讓他能夠維護專案發明的。

這其中也有很多創業家應該要學習的,詳細說起來又是另一篇文,有空再來寫這篇文章,且讓我先繼續。

一間偉大的公司,不在於他跑多快

一間偉大企業的價值,將會彰顯於五年後、十年後,甚至百年後,還能不能一樣靈活、創新、且易於管理,這就是所謂的可維護性。

如果公司制度複雜到連員工都搞不清楚,那就是「技術債」,工程師有一個對於雜亂程式碼的行話,叫做義大利麵程式碼(Spaghetti Code),我覺得拿來比喻公司僵化繁瑣的規章也很傳神。

The Zen of Python(Python 之禪)

今天,我想與各位分享程式語言界的一部「聖經」——The Zen of Python(Python 之禪)。是由 Tim Peters 所寫,他是 Python 創始人的早期左右手,後來被 Python 發明者 Guido 放進原始碼中成為彩蛋。

這 20 個法則反映出優秀工程師背後的哲學,也是優秀策略家在面對混亂時建立秩序的心法。

介紹 Python 之禪之前,也先簡單介紹一下 Python。

我認為 Python 是現在最有影響力的現代程式語言,其價值並不單純體現於 Python 可以完成甚麼,而是 Python 直接定義了現代科技的門檻!

衡量程式碼熱門程度的指標 TIOBE,Python 時常已超過 20% 的比例位居榜首,而近幾年加速人類文明發展的 AI,其生態系核心也是 Python,目前底層的深度學習框架或是 Agent,Python 都是最主流的標準開發環境。

除了語法非常簡潔,讓科學家跟數學家可以專注在演算法的創新,也成為了許多人學習程式的首選,現在也幾乎是人類數位科技文明的底梁柱,從遊戲開發、量子計算到太空宇宙科學分析,你都能看到 Python。

The Zen of Python(Python 之禪)|PEP 20

原文標題:PEP 20 – The Zen of Python

網址連結:https://peps.python.org/pep-0020/

在開始我的商業解讀之前,我們先原汁原味看一下這 20 條是甚麼內容。(雖然標題是 20,但其實只有 19 條)

Beautiful is better than ugly. (優美勝於醜陋。)

Explicit is better than implicit. (明言勝於暗示。)

Simple is better than complex. (簡單勝於複雜。)

Complex is better than complicated. (複雜勝於繁複。)

Flat is better than nested. (扁平勝於巢狀。)

Sparse is better than dense. (稀疏勝於密集。)

Readability counts. (可讀性很重要。)

Special cases aren't special enough to break the rules. (特例不足以成為打破規則的理由。)

Although practicality beats purity. (儘管實用性勝於純粹的理論。)

Errors should never pass silently. (錯誤不應被悄悄忽略。)

Unless explicitly silenced. (除非你明確地決定忽略它。)

In the face of ambiguity, refuse the temptation to guess. (面對模稜兩可,拒絕猜測的誘惑。)

There should be one-- and preferably only one --obvious way to do it. (應該有一種——最好只有一種——顯而易見的解決方式。)

Although that way may not be obvious at first unless you're Dutch. (雖然這方式一開始可能不容易發現(除非你是 Python 之父 Guido)。)

(註:Dutch 指的是 Python 創始人 Guido van Rossum,他是荷蘭人)

Now is better than never. (做,勝於不做。)

Although never is often better than right now. (雖然「不做」往往好過「衝動地亂做」。)

If the implementation is hard to explain, it's a bad idea. (如果實作很難解釋,那它就是個壞主意。)

If the implementation is easy to explain, it may be a good idea. (如果實作很容易解釋,那它可能是個好主意。)

Namespaces are one honking great idea -- let's do more of those! (命名空間是個絕妙點子——讓我們多加利用!)

我這邊不做逐條解釋,我事實上也遠遠稱不上是一位專精於程式語言的工程師,我希望從商業的角度來解讀,但如果你想要看工程師的角度,我在知乎上看到這篇蠻讚的文章,你可以參考:

https://www.zhihu.com/question/430688755

從 Python 之禪歸納出的三大管理心法

這 19 條哲學其實有很高的共通性,我自己再歸納成三大管理哲學,這也是我在輔導新創企業或是經營琢奧時,希望自己能時刻提醒自己的準則:

一、越簡單越好

(對應規則:1, 3, 4, 5, 6)

“Simple is better than complex. Flat is better than nested.”
Rule #3 & #5

在企業發展過程,我們很容易掉進「加法」的陷阱,一下要增加流程,一下要多做某個產品,但依照 80/20 法則,就算公司的人力或是金錢資源可能充足,但大多時候簡單與扁平才是企業發展穩定的基礎。

Python 之禪 - 簡潔(繁體中文版)
Python 之禪的第一大心法:簡潔。(琢奧製圖 / SUMMARY INFOGRAPHIC 01 – SIMPLICITY)

產品面:客戶不需要一個有很多功能的複雜網頁,他只要能解決問題就好。

你看現在的 AI 聊天像是 ChatGPT 或是 Gemini 畫面多簡潔,問就完事了,這些改變人類的工具雖然後面設計很複雜,但是給使用者的介面並沒有太多複雜按鈕。如同我們在協助客戶進行數位轉型時,時常提醒客戶「少即是多」,優化核心體驗勝過堆疊雞肋功能。

組織面:組織階層越深(Nested),資訊傳遞的失真度就越高。

保持組織的扁平(Flat),讓決策者能聽見第一線的聲音,是企業保持敏捷與創新的重中之重。如果一間公司連列印了幾張 A4 紙都需要蓋幾個章來核決,那你可以認真考慮趕快跑了。

二、越透明與明確越好

(對應規則:2, 7, 10, 11, 12)

“Explicit is better than implicit. In the face of ambiguity, refuse the temptation to guess.”
Rule #2 & #12

這是我認為許多人治的傳統企業最難改的一點。在許多公司文化裡面,很多事情講究「心照不宣」或「看老闆臉色」,也就是所謂的 Implicit(暗示)。但如果你現在要維護程式專案,模糊不清的指令只會導致程式崩潰。

Python 之禪技術矩陣(繁體中文版)
Python 之禪的技術矩陣總覽。(琢奧製圖 / SUMMARY INFOGRAPHIC 02)

拒絕猜測:沒有人會讀心術。

經營公司不能靠直覺或猜測。當團隊溝通不明確,那就打破砂鍋問到底;當團隊決策模稜兩可時,我們應該尋找數據來驗證,而不是像一個瞎子一樣靠直覺決定。

直面錯誤:“Errors should never pass silently.”

我聽過一個笑話,當員工犯了嚴重錯誤,會跟小主管說自己犯了大錯,小主管又告訴中主管說發生了中錯,中主管又告訴大主管出現了小錯,大主管告訴老闆時就像沒事一樣,因為大家都怕被罵。

許多企業的潰敗,源於基層為了績效掩蓋小問題,最後演變成大災難。

我一直鼓勵「顯性的失敗」,問題暴露出來才能被解決。自己的公司中有透明的「匿名箱」能反饋意見,也有「鬼故事檔案庫」。

我們寧願要一個醜陋的真相,也不要一個漂亮的謊言。

三、完成比完美重要

(對應規則:8, 9, 15, 16, 17)

“Now is better than never. Although practicality beats purity.”
Rule #15 & #9

如果你是完美主義者就不要創業,因為市場不會等你完美。

實用大於潔癖:不要為了完整的 SOP,卡死了業務的推展。

企業家都必須理解「實用性」優先。規則是為了實現目的而存在,而不是反過來,被規則卡住而無法完成目標。

可解釋性:如果你說不清楚,很可能也做不出來。

我覺得第 17 條是我的最愛,無論是創業家要提案簡報,團隊內部要討論專案。

無論是向投資人簡報,或是跟同事討論策略,如果連你自己都講不清楚,就別指望別人能聽懂並執行。

簡單歸納三點:簡潔、明確、務實。

PEP 20 雖然是寫給 Python 開發者的,但核心精神——簡潔、明確、務實——是放諸四海皆準的真理。

就像我常常說:沒有老闆需要網站,老闆們需要的是業績成長、簡化行政流程或是提升顧客滿意度,而網站只是剛好是實現這些目的的工具。

在 Drop Out 討論專案時,我們也會先問:這個功能要解決什麼問題?同事會怎麼用?若你正在規劃系統或 AI 導入,可參考我們的客製方案,或閱讀夢想一號認證系統案例。

當你在經營路上感到迷惘混亂時,也可以嘗試回顧一下 Python 之禪,也許答案就在那些簡單的原則裡。