我也只是個冒險者
上篇,我講了一個很成熟、很站得住腳的理由:控制成本、把錢變得看得見。
這篇,我要講一個比較不要臉的理由:我就是想做。
控制成本,是我說服別人、也說服自己的理由。但只有這個理由,我撐不到今天。
說穿了,我壓根沒把做 ERP 當工作。我把它當一款遊戲,一款每個月付三千塊訂閱(而且還是公司出錢)、我卻捨不得關機的遊戲。如果是份「工作」,我不可能從 2026 年初到現在,平均每天還心甘情願砸四、五個小時進去。
讓我半夜還在改 code 的,就是這麼一件不要臉的事:從做中學、還有 AI 這一切,實在太好玩了。
我一直都是個 Solo Player。一個人打遊戲、一個人做標本;自己算瓦數、算電流;自己接水電、裝燈具、拉網路、架監視系統。別人家裡壞東西找師傅,我第一個念頭永遠是:「這我能不能自己搞?」
這不是在說我很行,也不是自吹自擂。說真的,我很多都是邊做邊查、邊做邊錯。我最受不了只能旁觀的感覺,那種「把自己的問題交到別人手上、然後乾等」的無力感,比自己動手踩雷還讓我難受。
只要一件事勾起我的好奇,我就想把它拆開,看看它裡面是怎麼設計、怎麼運作的。我給我這種人取了個名字:冒險者。不是因為勇敢,是因為對「未知」的好奇,永遠大過對「麻煩」的抗拒。
而寫這套 ERP,只是我這條冒險路上,最新、也最大的一個副本。
說到底,這些都是支線任務。從生物學的角度,我們都只是「主線任務:每天 2000 大卡」的人猿。吃飽、活下去,那是主線。而其他一切,包括我熬夜寫的這套系統,嚴格說,都只是支線任務。
但一款遊戲好不好玩,往往就看它的支線。主線讓你活著,支線讓你覺得「活著這件事有點意思」。我做標本、接水電、寫 ERP,沒有一件是主線。它們都是我自己領來的支線。
而我這種人的毛病就是:一邊嫌「好麻煩」,一邊把它做完;一邊想著「該睡了」,一邊又自己挖出更多問題,嘴裡喃喃「再做一個 feature 就好」。
我可能一直都不是那種靠正規方法學會東西的人
我是靠「手癢」學會的。「明天就要用」,是我遇過最好的老師。
有很多「正規」的學習方式:線上課程、跟著教學做一個 to-do list app、照著範例敲一遍。然後呢?然後就沒有然後了。那些練習專案做完就躺在硬碟裡,因為它們不解決任何一個真實的問題。
而寫系統不一樣。這裡的題目、這裡的難關,明天上班就會遇到。學庫存怎麼記帳,是因為明天要對倉庫的數字;學怎麼寫表單,是因為同事後天收貨就要填;學 Docker,是因為這鬼東西不跑起來,全公司都沒系統可用。
沒有一行 code 是為了「練習」而寫的,每一行都有人在等它上線。
這種壓力,其實是最好的老師。它不給你耐心慢慢消化,它直接把你丟進水裡,讓你嗆水、讓你學會游泳。也因此,學得又快又牢。被 prod 的 bug 燙過一次的東西,一輩子記得。教學影片教的,可能三天就忘。
AI 之後,我終於有空問「為什麼」
老實說,這套系統能長成今天這樣,有一半要感謝 AI。
在 AI 之前,我常卡在同一個地方:我很清楚我想要什麼(what)—— 要一個能算出每案成本的功能、要庫存自動提醒過期 —— 但我不知道怎麼做(how)。那個 how,是一道又高又厚的牆,很多想法就死在牆前。
在 AI 之後,how 這道牆變矮了。我可以讓 AI 幫我跨過「怎麼做」。省下來的時間,開始拿去問一個以前沒空問的問題:為什麼(why)。
我為什麼需要這個功能?是真的需要,還是只是「做得到、所以手癢想做」?它到底解決了誰的什麼問題?
這轉變無比重要。當 how 不再是瓶頸,才會發現:真正稀缺的從來不是「能不能做得出來」,而是「該不該做」。
這也是為什麼後面那個「砍掉重練」子系列會存在。我砍掉的設計,幾乎都是敗在 why,不是敗在 how。
又我對 AI 下最多的指令,並非「幫我寫這段 code」、也不是「要做 XXX」,是這幾句:
- 「先問我問題,把需求問清楚(ask user questions to clarify)。」
- 「這個決定的優缺點是什麼(pros and cons)?」
- 「業界都怎麼做?」
看得出來,這幾句沒有一句是在要答案,全都是在逼我把問題想清楚。
AI 對我最大的價值,不只是替我跨過 how 的那個工具,更是那個第二意見。他是一個會跟你唱反調、會告訴你「欸,業界不是這樣搞的」的隊友。他看見我沒看見的東西,或者說,他幫我看見我忽略了什麼。他補上了我這些年一個人打,始終缺的那個位置。
從做中學,有很痛的代價
從實作中學習,並不是一件浪漫的事。它的代價是:我得用最笨的方式,把每一個坑都親自踩一遍。
科班出身的人,很多坑是老師、是同事、是 code review 幫他們擋掉的。我沒有。我只有 Google、文件、AI,和一次又一次把 build 弄壞的深夜。
別人三分鐘看懂的概念,我可能卡三小時,還得回頭請 AI「teach me like I’m 5」。別人一眼看出的反模式,我可能整個做完、上線、被自己坑了,才發現「喔,原來這樣不行」。
但這些「多繞的路」,不完全是浪費。因為我不只知道「正確答案是什麼」(很多時候,甚至根本沒有標準答案),我還知道「錯誤答案錯在哪、有多痛」。這種理解,是抄捷徑抄不來的。
目前的狀況:一個人扛下全部
一個人 full-stack,還自己維運 prod。前端、後端、資料庫、Docker、部署、監控,全是同一個人。而那個人是獸醫。沒有分工,也沒有 SRE。
prod 跑在一台筆電的 Docker 上。我知道正規做法是雲、是 K8s、是高可用、有異地備援。但對一間一人公司,那套的複雜度成本,比它要解決的風險還高。我選了「簡單到我一個人 hold 得住」,而不是「正確到我一個人 hold 不住」。
「這樣很不專業」—— 完全同意,用軟體工程的標準,這套系統到處都不專業。但它活著,而且每天有人在用。
一套架構漂亮、卻沒做出來的系統,價值是零;一套到處破綻、卻每天在幫公司算錢的系統,價值無限大。我先求有,再求好。
想做,是最被低估的生產力
繞了一圈,我想講的其實很簡單。我們太習慣用「有沒有用」「划不划算」去決定要不要做一件事。但「想做」本身,是一種被嚴重低估的生產力。
因為想做,我可以熬夜;因為想做,我踩了一百個坑還爬得起來;因為想做,這套系統才會在「控制成本」這個理由早就被滿足之後,還一直長大。因為我想、我可以,所以走到今天。
一個獸醫,為什麼要會這些?
因為我從來就是個 Solo Player,是個看到未知就想拆開來看的冒險者,而這套系統,只是我打到現在、最大的一個副本。
而且這個副本,還沒破關。:)