我經歷過最高效的新人培訓方式

我經歷過最高效的新人培訓方式

新人的培訓,一直都是很多管理者跟經營者重視的問題,我自己參與過很多不同的新人培訓過程,但一直以來我認為最有效的培訓方式是我剛出社會時所接受到的培訓方式。

剛出社會時,我所加入的團隊是一個五人小組,兩位學長,還有我們三位菜鳥,我們所擁有的培訓資源基本上並不多,但學長卻透過其他方式,給了我們很充分的 support。

我們三位菜鳥都是剛畢業,沒有什麼寫程式經驗的新手,但我們卻要開始負責公司內一個底層的開發平台。這怎麼想都是一個巨大的挑戰,但我們還是順利接上了,而且到我們獨立作業,大約只用了 2-3 個月的時間。那當時,我們到底是如何做到的呢?

首先,基礎的培訓一定還是有的,對於我們負責的產品,技術架構怎麼樣,有什麼元件,有什麼特性,別人如何運用這個平台來開發程式,這些在基礎的培訓中都有教。

但像我們這種菜鳥,哪懂什麼技術平台,哪懂什麼物件導向,也是考量到這些問題,學長們在教育訓練過程舉了蠻多生活中的案例,像是用音樂廳來形容技術平台的角色,這就很淺白易懂了。

不過聽懂是一件事,理解是另一回事,所以學長們在培訓過程也會出考題跟提問來確認我們是否真的理解。在我接受過的技術培訓中,這絕對是排名前幾的。

而培訓後,接著就是要進行完成一支程式的挑戰,我們必須在一個禮拜內把開發環境裝起來,然後按著教材把一支範例程式 run 起來,同時功能都要正常運作。

為了完成這個任務,我們進入了實作環節,即便我們對架構還不理解,也還在學習程式的語法,但我們就這樣開始撰寫我們的第一支程式,過程中因為有其他同伴在,我們可以一起討論,有不懂的問題,也可以請教學長。一個禮拜的時間,我們確實完成了一支正常運作的程式,而一個禮拜前,我們可能還不會寫 C#。

交付了第一支程式後,我們開始接下第二個任務,那就是改 bug,沒錯,我們竟然要開始改 bug 了。這個過程,學長們使用的指導方法就是 1-1 指導,在我們要開始改一個 bug 前,學長會先跟我們大概說明他的理解,然後建議我們先 trace 把程式邏輯搞清楚,在動手改之前先找他討論一下,沒問題後才開始改,而改完後他會協助做 code review,並且分享如果是他來寫的話他會怎麼寫,以及為什麼

這個過程,我們一般會問許多問題,也會有很多的交流討論,這也是很有收穫的過程,因為學長會一邊分享他的想法,一邊問我為什麼,確保我真的理解自己在寫些什麼。不過學長也不可能從最基礎開始教,所以我自己在下班後也花了時間補強自己對程式語言的掌握,兩者相輔相成,學長的指導帶給我的幫助就非常有效了。

我們改了幾個 bug,對於程式的語法,工具的使用,技術架構的熟悉都有了提升,對學長的依賴也相對比較低,一個月的時間,我們大致就可以獨立作業,中間碰到不會的再找同事討論,或者請教學長。接著,我們又被指派了另一個任務,是我們必須要代表部門去培訓其他部門的程式設計師,教他們如何用我們的平台

部門雖然有現成的教材,但學長的標準是,要把這份教材通透理解,因為在培訓過程中我們要能應對所有的問題。而為了確保我們真的能做到這個水平,學長給我們兩個禮拜的時間準備,然後要在兩個禮拜後簡報給他聽,把他當成學生來介紹平台

第一次簡報,我們都報的不好,因為學長問了很多的問題,這些問題都在我們準備範圍之外,或者我們對我們自己所說的內容沒有通透的理解。

第二次,我們準備的更完整,也把一些不太懂的地方釐清,甚至透過 trace 程式來確認我們了解的沒有錯誤。

這一次,學長還是很認真地聆聽,也問了很多問題,同時還記錄了滿滿一頁回饋跟建議。通過這個過程,我們都鬆了一口氣,因為要求的標準很高,我們沒想過工程師也要這麼重視簡報跟表達。而我們也在準備的過程,把很多一知半解的觀念給釐清了,對平台有了更高的全貌觀。

此後,我們三個都會輪流對外做教育訓練,同時,也開始指導其他使用我們平台的程式設計師們,也在這個指導過程,我看見了更多自己的盲點,提問者總是可以從我沒想過的面向思考,為了協助它們解決問題,我需要更深入去看架構的問題,也要經常上網查資料,或者跟其他人討論。

而這些,都加快了我的學習速度,而這過程,就是兩個月左右的時間。總結這個過程,我所受到的培訓大致包含五個面向:

  1. 公版的教育訓練,但學長用更平易近人的案例協助我們理解,同時在過程中也持續確認我們是否理解。
  2. hands-on 的任務,在教育訓練後馬上安排一個實際開發的任務,並在完成任務後先讓我們從改 bug 開始熟悉起。
  3. 1-1 的指導,改 bug 時,學長會先解釋這個 bug,然後讓我們自己思考,並在想出解法時幫忙判斷,在我們動手改完程式後,再幫忙做 code review,並且在這過程中分享經驗,以及提出各種提問。
  4. 擔任培訓講師,準備培訓教材的過程,我總結了自己的經驗,並且花很多時間釐清自己的盲點,而學長的高標要求,也提升了我們對這件事的重視程度。
  5. 學習指導他人,從學習者變成教學者,這是一個蠻重要的過程,我在第一次指導年資比我深的同事時,心裡還有點忐忑,不過隨著一次兩次都能協助對方解決問題時,也覺得這過程很有趣。

除了這些步驟外,我覺得還有幾件事情很重要。

第一,學長的高標要求,高標準才有高水平的產出,如果學長第一次就輕輕放過,那我大概就是用低水平來完成任務,那些準備過程的學習可能都不夠扎實。

第二,不是給答案,而是透過引導、提問、分享經驗。這是 1-1 指導過程最珍貴的地方,因為兩種方法間,他要花的時間是多倍的。

第三,我用好的態度學習。學長曾說,不是每個人他都會這麼認真指導,也不是每個人都受得了。所以他認為主要是我們幾個能接受這種高標要求,也額外花了自己的時間強化基本知識,才讓他在指導過程有更多的熱情。這是我經歷過最高效協助新進成員成長的方法,分享給大家。

如果你覺得我內容寫得還不錯,歡迎訂閱我的電子報,我每雙週會發送一封電子報到你的信箱。訂閱連結在這,過往的電子報也在這:Gipi電子報

也鼓勵你可以將我的電子報分享給你認為有需要的朋友們,也許你的舉手之勞,將會改變另一個人的思維與習慣。

Read more

克服 AI 焦慮的方法,唯有實作

克服 AI 焦慮的方法,唯有實作

2018-2019 年左右,線上學習在台灣整個大爆發,線上課程一大堆,每個禮拜都有很多線下學習活動。每天都可以看到大量的學習心得與活動心得,每個人講的內容都很有道理。全台灣好像瞬間變成一個知識島,所有人都學識淵博,而自己似乎懂得有點少。 知識焦慮年代 在那個時候,很多人染上了「知識焦慮」的病症。 害怕別人知道自己不知道的,擔心自己沒跟上世界的節拍,所以哪邊有新知往哪兒去,哪邊學習氛圍濃厚就往哪兒鑽。看起來是因為熱愛學習,但內心的煩惱其實是「害怕失去」。 害怕失去話語權,害怕失去社交談資,害怕失去機會,害怕失去競爭力,害怕自己不再是別人眼中領先的族群。 而克服焦慮最有效的方法,不是知道更多,而是實踐,從時間中獲得成果,獲得進步。 那些仍在學而沒有做的人,焦慮是無法停止的,因為他並沒有真的改變現況。 這也是當年為何我們想舉辦 case study、學習營、打卡、案例練習,並且鼓勵大家多多輸出的原因了。因為輸出,其實就是最輕量的實踐,而動手做,則是讓自己學有所用的基本配備。 在那個知識焦慮的年代裡,因為我本來就熱愛學習,也經常輸出,加上我當年投入的行業又是知識產業,

By gipi
我如何與 AI 協作開發,我的開發步驟分享

我如何與 AI 協作開發,我的開發步驟分享

昨天到工程師場子分享,想說跟大家對照一下,現在是否多數人都跟我一樣,寫程式完全不手打任何一行 code,全部都是 AI 做的。 結果發現,現場只要有在用 AI 開發的人,多數時候真的都是讓 AI 來完成程式撰寫工作。 目前我的開發組合是 Claude Code / Claude Design / Fly.io / Github / Cloudflare,其他還有根據程式功能需要而使用的第三方元件。 做一個新系統的習慣是: 1. 跟 Claude 討論我想解決的問題,以及我的核心需求,中間我可能會用 Claude Cowork 做本地資料的分析,然後請他廣泛收集一下資訊,做幾輪 prototype 的模擬。確認方向是否是我所期待的。 2. 對完需求後,請他產出系統定位、限制、邊界與 PRD。 3. 把 PRD 跟幾個

By gipi
加快了速度,少了回饋

加快了速度,少了回饋

2022 年時我曾推出了一堂課《打造高效軟體開發團隊》。 在這堂課程中我繪製了一張軟體開發過程管理的架構,這張圖我從公司策略->產品策略->需求管理,一路到開發過程管理、交付、市場回饋,最後再回到產品需求管理。 當年我曾說過,軟體開發最重要的其實不是程式開發本身,而是 align 公司策略與產品策略,同時兼顧好短期需求,將需求管理做好。 但我們也可以看到產品需求管理是上述架構中最主要的節點,上承策略,下接短期需求,右邊則是成為所以開發計畫的起頭,同時還要承接來自市場回饋,並能持續優化管理過程與技術債務管理。 簡單的說,決定做什麼,決定了產品定位,決定先做什麼,則決定了策略重心。但要做出決定,除了對目標有清晰的認知外,更重要的是「回饋」。包含市場回饋、使用者回饋、利害關係人回饋(研發/行銷/客服...)。 這陣子透入 AI 開發後我對這張架構圖有一些新的想法: 首先,是生產力過剩。 因為 AI 不用休息,生產力幾乎沒上限,

By gipi
AI 在商業決策層面給我帶來的三層改變

AI 在商業決策層面給我帶來的三層改變

從二月開始,台灣就陷入一陣 AI 瘋,一堆人都開始投入龍蝦、Claude Code、Codex 等超級生產力的任務中。不寫程式的人開始寫程式,包含老闆、設計師、行銷、創作者。而其中最瘋狂的,莫過於身邊的一堆老闆們。 有人批評說:「這些老闆們放錯重點,應該好好回到自己的位置上去做出好的決策,讓專業的人來處理專業的工作,不要瞎搞。」 關於這個批評我個人極端不認同。 我的看法是老闆不多花點時間深入理解 AI,他在未來就很難做出好決策。 今天看到 Coinbase 的 CEO 在 X 上發布了裁員的消息。 而我也在 FB 寫下了我對這件事情的想法。 今年不知道第幾家公司了,幾乎都不是因為經濟不景氣,而是各家公司都在為變化儲糧。很多軟體公司之所以裁員,都是為了有更多的資本支出可以投入在 AI 的團隊、產品或基礎建設上。 扁平化只是一種不再需要「管理代理人」的訊息。現代的管理概念還是很崇尚那個一人最多管七人的科層組織管理概念。 為了「有效管理」,一個人管七個人是個看似科學,

By gipi