【本集定位】
非本科畢業,有工作經驗,但有興趣轉職工程師的人。從影片了解不同學習管道、自學計畫安排。
給猶豫不決或是害怕的你:現在 CS 這麼夯,迷惘到底要不要轉換跑道?怎麼樣叫做準備好可以轉?
最近也有些朋友問我轉職工程師的事情,如果在做一件事情前,不曉得要不要投入,或許你可以跟我一樣,把情境推到極致。像是:當我起薪 3 萬的時候,我還願意轉去做工程師嗎?
【自我介紹】
台灣大學農藝系畢業,畢業後在生技產業工作 6 年,2020 轉換跑道成為軟體工程師,現在在遊戲橘子寫社群軟體 App 的後端,工作上主要用的語言是 Go。
- 在怎樣的契機下,讓你想轉職成為工程師?
轉職真的契機是,任職 4 年的保養品,因為人事調度而被裁員。當時想,既然都要換工作了,程式語言也學了一年,不如拼一下,轉換跑道。否則本來年薪百萬的工作,要換掉,真的要有很大的決心。算有老天推了我一把。第一份工作真的不好找,找了將近四個月,遇到貴人,成功轉職。
小結:有目標才有前進的方向跟動力,讀者可以問問自己,轉職的目標、目的是什麼?
另外,轉職的成本非常高,你願意犧牲多少東西來換取成功轉職?像是減少多少休閒娛樂?多少薪水損失?先想好,或許在投入後,比較不會覺得那麼辛苦。
【轉職中準備】
- 學習管道與學習計畫
以下介紹幾個免費學習資源:
學習計畫:參照 backend road map 的學習旅程 https://roadmap.sh/backend
- ccClub:python 初階班、進階班、ML 讀書會、區塊鏈讀書會、DevOps 讀書會
- 入門課程總覽:哈佛線上課程 CS50
- 基礎課程:台大開放式課程
- 林軒田教授的 data structure & algorithm
- 于天立教授的 計算機概論
- 進修課程:Udemy SQL 資料庫設計
學習計畫:參照 backend road map 的學習旅程 https://roadmap.sh/backend
特別強調,個人還是鼓勵「有用到再學」,效果可以加乘。否則東補西補,會覺得洞永遠補不完,反而很挫折。
小結:如果還沒頭緒要投入哪個領域,就在免費資源中探索。在能力範圍內,伸手可及處,到處學。先水平式擴展地學,AI、ML 的課程、前端、後端、應用程式、App 都摸看看。學會花很多時間,尤其是不知道學這些有沒有用的時候,會更迷惘更痛苦。不過要相信,你的所學,都可能在你未來的某一天用上。像我現在寫後端,但用到滿多當初加入 DevOps 讀書會學到的 k8s 知識。其實在未來回頭看,會發現這些看似散亂的學習點點,會慢慢串起來,譜出一條線,最後織成一個面。
- 你覺得在 ccClub 學 Python 跟其他學習資源的最大差別為何?
- 要如何判定自己是否準備足夠,可以進入投履歷、面試階段?
- 找工作的方式與準備
被動:推薦以逸待勞的方式,linked 經營起來,獵頭會來找你。
寫 LeetCode 題:大量做題目,推薦新手系統性地作題,可以有效理解題目的 pattern。LeetCode (follow NeetCode 主題式刷題)
運用人脈:加入 cc ,裡面有豐富的人力資源,這點很重要,所以請參與ccClub 社群(誠摯邀請)。臉皮厚一點,請人幫忙。幫你看履歷、幫你模擬面試、幫你介紹工作、幫你直接投履歷給公司 HR 。同時我也是很認真的在裡面做了很多事情,所以有點像是互惠的概念,幫忙別人,別人也會願意幫忙你。
小提醒:每一次面試完得到的回饋都很重要,根據回饋去做改進,可以跟公司要面試回饋。像我有一個缺點,就是說話沒自信,也沒重點。我遇過很好的面試官,他直接跟我說,如果你想表達這些的話,你說話的邏輯架構應該要怎樣怎樣,我之後面試就改成那樣的架構,下一份就上了。所以一味地面試不檢討,不會知道自己的問題在哪裡,還是需要回饋做修正。
【轉職後生活】
目前工作中主要處理的任務:寫 App 後端,用 go 語言寫 API 部署到 k8s 上。
- 工程師的工作,有沒有面對什麼挑戰?如何克服?
而工程師的實際工作,基本上就是每天都在解決一個又一個的問題。我目前工作最大的挑戰,也是身為後端工程師最大的目標,希望自己可以成為優秀的「架構師」。
- 如果用一句話概括你的轉職辛路歷程,你會說什麼?
【送給觀眾的三個建議】
定向後系統化學習:初入 CS 領域,就像把你丟在茫茫大海,如果沒有定向,可能只會在原地兜圈。羅盤拿出來,先找自己喜歡的領域,有了方向,才有辦法前進。接著帶著你的熱情,作為行駛的燃料,航行下去。系統化就是讓專業的人幫你規劃課程,練習做題目,回饋,檢討,進步。
風險控管:在還不清楚,還在摸索階段時,漸進式的慢慢轉換跑道,才有空間可以調整,不要一頭栽進去。像我轉職前,也是白天在生技產業工作,晚上花時間讀書,而不是馬上辭職、全職上課,因為我也怕踏入這個領域之後不喜歡,但多學了軟體工程師的技能,當作進修也不錯。
想要就去勇敢嘗試,人生也就一次,試著做做看你想做的是,因此我是鼓勵轉職的,即使我的轉職之路並不是特別順遂。勇敢嘗試你想嘗試的東西,不要在未來給自己有後悔的機會。失敗,大不了就回到本行,沒有回不去,沒有走不出去,只有做與不做。
【推薦:延伸思考】
影片中有提到,用 MVP/MAP 的概念,一步步實現轉職道路:
- 傳統定義:
MVP 代表的是 Minimal Viable Product,是一個軟體開發的概念,指的是開發出一個最小可行產品,只包含核心的功能,以最小的成本、時間和努力,滿足客戶的基本需求。
MAP 代表的是 Minimal Awesome Product,它是 MVP 的進化版,除了具備最小可行產品的核心功能外,也包含了一些可以讓用戶感到「酷」或「爽」的特色功能。MAP 希望不僅滿足用戶基本的需求,還能夠提升用戶體驗,讓用戶感到產品不僅是必要的,也是令人愉悅的。
- 轉職應用:
當工程師轉職的時候,可以使用 MVP 和 MAP 這兩個概念來規劃自己的轉職路徑。
MVP (Minimal Viable Product) 是指最小可行產品,即產品的最小功能集合,可以讓使用者體驗到核心功能,而後續的功能可以在後續的迭代中逐漸添加。對應到工程師轉職的話,就是要把最基本的程式語言、基本的程式邏輯、基本的資料庫操作等等學好,建立起最基本的開發能力,並且能夠應用到實際的專案中。
「花最小的力氣,做出成果」
MAP (Minimal Awesome Product) 是指最小精緻組合,即在一個特定的領域中,挑選一些最有代表性、最有深度的項目進行開發,以構建自己的專業能力和職業形象。對應到工程師轉職的話,就是在自己有興趣或是想專精的領域中,挑選幾個深度、有代表性的專案進行開發,並且不斷地優化自己的作品,以構建自己的專業形象,並且吸引更多的機會。
「做出令人驚艷的小專案」
綜合來說,MVP 強調的是基礎能力的建立,而 MAP 強調的是深度和廣度的構建,兩者可以相輔相成,在轉職過程中都具有重要的意義。
- 實際作為:
善用網路資源、免費資源(ccClub)、Chat GPT,線上免學習資源,如果真的喜歡,再上付費課程,再上實體課程。
做專案,像是 ccClub 以及台大資訊系統班都會做專案。
104/111/Linked 上面看Job Description,看看身為後端工程師,需要具備哪些技能。
104/111/Linked 上面看Job Description,看看身為後端工程師,需要具備哪些技能。
【結語】
以上都是個人經驗分享,走了一些彎路,找到一些捷徑。沒有對錯,如果有人有更好的建議,歡迎留言在下方!謝謝你今天的收看,也謝謝 cc 邀請我來這場分享會!
No comments:
Post a Comment