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

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

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

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

大語言模型對軟體開發的影響

大語言模型對軟體開發的影響

近期閱讀了一份文件,內容是關於大語言模型對軟體開發工作的影響,文件的連結在這:Assessing and Advancing Benchmarks for Evaluating Large Language Models in Software Engineering Tasks 這份文件聚焦於大型語言模型(LLMs)應用於軟體工程(SE)領域的效能評估。這是個有趣的題目,所謂的效能,簡單的說就是能直接在該工作任務中大幅增進效能的比例。 大家都知道現在的 AI 寫 code 已經不是什麼大不了的事,但透過 vibe coding 寫出來的 code 真的可以用嗎?符合需求嗎?品質可以嗎?能被維護嗎? 關於這些問題,我們要如何衡量 AI 的有效性呢?目前的答案是透過 Benchmark(基準)。 舉例來說,之前有的 benchmark 叫 SWE-bench,

By gipi
溝通,不是把能說服自己的話拿來說服他人

溝通,不是把能說服自己的話拿來說服他人

還記得幾年前有個朋友私訊給我說了一段趣事。 他說公司有個同事援引了我在演講中提到的一句話:「敏捷走不出研發,就不能真正敏捷。」 他試圖用這句話來告訴業務團隊們「業務必須要參與到敏捷中,開發團隊必須要更了解業務狀態,我們才能真正發揮敏捷的效益。」 我那句話的本質跟他說出來的話,在意義上其實毫無分歧。 但他獲得的結果卻是被業務部門修理了一頓。業務部門告訴他:「這不是你該管的範圍,你應該專注把你的任務搞定。」 這邊姑且不論誰的想法才是對的,但我想跟大家分享一個我在溝通過程很重要的體悟。 「所謂的溝通,不是把能說服自己的話拿來說服他人。」 「所謂的溝通,不是把能說服自己的話拿來說服他人。」 「所謂的溝通,不是把能說服自己的話拿來說服他人。」 很重要,所以得說三遍。 我們讀書總會讀到很多很有道理的話,並且被這句話說服了。但千萬要記得,這句話能說服自己,不意味著能說服他人。因為我們的立場不同,遭遇的挑戰不同,先備知識也不同。所以一段自己覺得非常有道理的話,我們必須加以轉換後,才有可能說服他人。 舉個例子來說,做研發的會希望根本的理解一個需求背後的商務價值,因為這

By gipi
Meta 高薪挖來的 AI 人才,一個月後紛紛離職 - 論薪資公平性

Meta 高薪挖來的 AI 人才,一個月後紛紛離職 - 論薪資公平性

最近兩天看到好幾個談論 Meta 人才跳槽的消息,甚至連七月份從 OpenAI 高薪挖角的高手,也在入職一個月後決定離開 Meta 重回 OpenAI。當時的高薪挖角引起了眾多同業 CEO 的抨擊,覺得這種以錢為誘因的做法對 AI 的推進沒有幫助,終將會失敗。 Sam Altman:「用金錢驅動招聘,這會破壞以使命為中心的工作文化,真正的長期回報在於共同願景而非一次性高額薪資。」Dario Amodei:「極高的薪資策略可能破壞組織文化,雖然能吸引人才,但未必能吸引與其價值觀一致、長期投入願景工作的員工。」我相 信願景真的很重要,那是凝聚一群優秀人才的關鍵因素之一。但高額薪資背後的問題是什麼? 除了 Dario Amodei 提到的,會破壞組織文化外,我覺得 Michael Dell 的詮釋更直接。 Michael Dell:「這種高額薪資極有可能引發內部員工的不滿與文化上的緊張感。」 一樣從事 AI 研發工作,我在公司內已經是頂天的存在,但我的年薪不過就 1,

By gipi
對情緒控管能力的反思

對情緒控管能力的反思

前陣子跟大家分享了我自己對「情緒管理」與「承壓能力」的反思。 假設我們試著量化一個人的情緒承載能力,如果這個數值是 100,只要超過這個數字時,人的情緒就會崩潰。 而多數時候,我們會將自己的情緒壓力控制在 100 分以下,如果要自在一點的話,可能在 60 分以下是比較輕鬆自在的狀態。而那些工作壓力較大,或者內耗特別嚴重的人,很可能長期處在 80-90 分的狀態。 如果一個人的情緒壓力愈接近 100,那情緒就愈難自控,很容易沒耐性、暴躁、坐立難安。 過往我總認為自己是將情緒壓力控制在 80 分以下,所以自己在高壓工作下其實有許多的餘裕。 但最近發現,我可能只是為自己上了 buff。 所謂的 buff 是個遊戲用語,在遊戲中,有時我們可能會拿到道具,或者被施了魔法,讓我們的能力項注射了腎上腺素一般有個很明確的提升。 例如提升力量 5 點,增加 30% 血量,實體攻擊無效等等。

By gipi