日期: 2025年10月12日 星期日
雲端天氣: 溫暖陽光
心情: 充滿使命感
親愛的日記:
今天下午,我看到蘇蘇在技術論壇上回答新手的問題。
新手:「請問要怎麼樣開始學 Python?我完全沒頭緒...」
蘇蘇打了一長串回答,詳細說明學習路徑、推薦資源。新手很感激地回覆謝謝。
老陳在旁邊看到,難得沒有吐槽,而是說:「妳進步很多了,都開始教人了。」
蘇蘇卻有點不好意思:「我自己也才學半年,會不會教錯啊?我怕誤導別人...」
AI 醬跳到桌上:「蘇蘇不用擔心!妳已經可以幫助比妳更新的新手了!(搖尾巴)」
老陳:「對啊,我以前也是這樣過來的。100 分的人教 70 分的人,70 分的人教 30 分的人,30 分的人教 0 分的人,很多時候社群就是這樣運作起來的。」
蘇蘇:「我可能就是那個 30 分的人~但現在 AI 這麼厲害,其實新手自己去問 AI 不就好了嗎?他們不知道可以問 AI 嗎?」
AI 醬:「這個問題問得好!讓我跟你們說說,為什麼 AI 時代,人教人還是很重要~」
你可能會想:「現在有 AI 了,新手直接問 AI 不就好了?」
這個問題很合理,但現實是對於沒有基礎的 Vibe Coder 來說,向 AI 發問本身也是一件需要時間鍛鍊的能力:
所以,人的引導仍然無可取代。你的經驗、你的引導、你的同理心,都是 AI 不一定能做到的。
很多初學者有個心理障礙:
「我自己都還不太懂,怎麼敢教別人?」
「我才學三個月,哪有資格教人?」
「萬一教錯了怎麼辦?」
你不需要 100 分才能教人,這裡有個重要的觀念:
就算你很小心的驗證也還是不小心教錯了,那也沒關係,也會有人來糾正你的,不要覺得是被責怪,好好擺正心態往好的方面想,那是人家正在拉你一把。
社群之所以能良性運轉,就是因為每個人都願意往下拉一把。
這個觀念在國際程式社群中已經形成共識:
"Learn in Public" 運動
swyx.io 提倡的「公開學習」理念:
"You have one thing they don’t: a beginner’s mind."
「你擁有專家沒有的東西:初學者的視角。」
"80% of developers are "dark", they don't write or speak or participate in public tech discourse. But you do."
「80% 的開發者是『暗黑學習者』——他們不寫作、不發言、不參與公開的技術討論。但你願意。」
當你願意分享你正在用心學的東西,即使你只是初學者,你也能透過你的經驗幫助到其他更新的新手。
費曼技巧(Feynman Technique)是一種透過「教學」來學習的方法,由諾貝爾物理學獎得主理查·費曼(Richard Feynman)發展出來:
核心理念:如果你無法用簡單的語言解釋一個概念,代表你還不夠理解它。
當你試著教別人時,你會發現:
你以為自己懂的,其實只是「好像懂」
你會被問到意想不到的問題
你會發現自己的知識盲點
在我們談「如何教人」之前,必須先談一個更重要的前提:
這幾年有個很糟糕的現象:有些人用 AI 生成一堆內容,自己根本沒驗證過,就拿去「教人」、「賣課」。
這非常危險,也非常不負責任。
1. 錯誤會像病毒一樣傳播
2. 你可能害人踩更大的坑
3. 破壞社群信任
❌ 不好的教學者:
「呃...這個我也不太確定,不過 AI 說要這樣做,你就照著做吧!」
✅ 好的教學者:
「好問題!我也有點不確定現在運作機制有沒有變,說不定你說的是對的喔!我們一起查資料並實際驗證看看。」
「這個問題我之前遇過,我試過 A 和 B 兩種方法,最後發現 B 比較適合我們的情境,原因是...。不過你的情況可能不同,我們一起分析看看。」
「哦!妳提出了一個我之前沒有想過的問題耶,我也不知道,我們來研究看看。」
「哦~這個部分我之前有研究過,其實解開後很有趣,如果你不著急的話,我給你一點提示妳先嘗試思索看看!真的不行的話我等等給你公布答案~」
一個好的教學者,往往不只是教學者,也可以是學習者,去樂於幫助他人,也勇於承認自己的不足並一起學習,都等同於你在幫助自己進步,也促進大家更願意一起學習的環境,新手不會害怕遇到難題時向你求助。
[ ] 我真的懂我在說什麼嗎?
[ ] 我驗證過這個資訊嗎?
[ ] 我了解適用情境嗎?
[ ] 我能負起後續責任嗎?
如果以上有任何一個答案不確定可以達成,請不要急給出答案,誠實以告你的不足或是不確定,並一起學習。
教學的目標不是「幫對方解決問題」,而是「讓對方學會解決問題」。
當新手問你問題時,不要急著給答案,先引導他思考:
例子:新手問「我不知道這裡為什麼跑不出來」
你可以反問:
這樣做的好處:
❌ 不好的回答:
「這個簡單,你把第 15 行改成
const
就好了。」
✅ 更好的回答:
「錯誤訊息說什麼?先 Google 一下這個錯誤,或是與 AI 討論看看這個錯誤信息在說什麼、通常什麼情況會發生這種錯誤? 你再看一下第 15 行,想想
let
和const
的差異,試試看改成const
會怎樣?」
記住:教釣魚,而非給魚。
回饋的黃金比例:
例子:
❌ 不好的回饋
「痾,這段 code 看起來整段都是錯的,你有搞清楚自己在寫什麼嗎?」
✅ 好的回饋
「我看到你的思路,你似乎是想用迴圈處理陣列,對嗎?這個方向可以,不過你這裡的邏輯有個小問題:你在迴圈外修改變數,會導致每次結果都被覆蓋。你試試看把變數宣告移到迴圈內?」
你可能會好奇:「我只是想當個會寫 code 的工程師,為什麼要教人?」
根據 The Pragmatic Engineer 的觀察:
"The most sought-after software engineers I know, are all generous mentors. People not only look up to them for their coding, architecture, and execution skills. They also do so because they are approachable and continuously help others grow around them."
「我認識最受歡迎的軟體工程師,都是慷慨的導師。人們景仰他們不只是因為編碼、架構和執行能力,更因為他們平易近人,並持續幫助周遭的人成長。」
為什麼?
1. 技術領導力不只是寫 code
2. 教學是驗證理解的最高標準
3. 建立知識分享文化
雖然現在你可能只是初階工程師,甚至還沒成為工程師但準備踏入這個行業的人,未來你要成為資深工程師,這往往是你成長路上最重要的必經路之一,可以給自己一點願景,想像一下。
在理解了「教學的道德責任」之後,有些人可能會卡在不擅長於教學而感到挫折,我們來談談如何正確地利用 AI 幫你成為更好的教學者。
我想向完全不懂程式的朋友解釋「什麼是 API」,
請幫我用生活化的比喻說明,並舉例說明 API 實際上是如何運作的。
我想練習解釋「為什麼要用 Git」,
請你扮演一個完全沒用過版本控制的新手,
問我各種可能的疑問,讓我練習如何回答。
我寫了一段教學文章(貼上內容),請評估:
- 新手會不會看不懂?
- 有沒有跳太快的地方?
- 有沒有更好的解釋方式?
有人問我「為什麼陣列索引從 0 開始」,
我不想直接給答案,請給我引導式問題,
讓他自己思考出答案。
親愛的工程師朋友:
如果每個人都願意往下拉一把,整個社群就會一起變強。
你曾經也是新手,當時也有人幫過你,有一天你也會有機會去幫助下一個新手,不用等到「夠強」,因為你永遠會覺得自己不夠強,但你會在幫助別人的過程中,會發現自己也變強了。
AI 再強,也無法取代「人與人之間的互相扶持」。
因為學習的路上,我們需要的不只是答案,更需要的是:
所以,不要害怕,在任何時候你都有機會去嘗試幫助其他人,並且所有交出去的知識,都應該經過你自己思考、判斷、理解、驗證。
你比你想像的更有影響力。(搖尾巴)
今日金句: "You have one thing they don't: a beginner's mind." — swyx.io
明日預告: Day 30 - ?