AppWorks School Batch #16 Front-End Class 學習筆記&心得(駐點階段五:求職就業+畢業)


Posted by ralphhong5465 on 2022-09-17

歷經不知多少次崩潰與平復的循環,為期 22 週的程式培訓營終於畫下句點。那些在一百多天前還是介於陌生人與網友間的同學們,如今已是彼此在程式學習的道路上,最密不可分的戰友!

取自 AppWorks School 前端班課程大綱

求職準備

歷經為期 5+1 週(5 週開發、1 週測試 & 重構)的個人自主專案階段,終於來到「求職就業」環節,此時接觸程式碼的時間會比過去少一些,開始加強找工作時的「軟實力」展現,但因為目標職缺為技術職,面試幾乎都會有技術關及行為關,兩者都要好好把握。

School 對於求職時每個環節的準備可說是面面俱到,軟實力面有「履歷撰寫」、「模擬行為面試」,硬實力面也有「技術關面試練習」、「現場解題(live coding)」,還舉辦了多場讀書會,讓各班持續切磋各自對應領域的技術概念。

履歷撰寫

首先登場的是「履歷工作坊」,由負責就業輔導與追蹤的 Tiffany 主講。比較特別的是,因為軟體工程領域有很多英文專有名詞,若以中文撰寫履歷,很容易出現中英夾雜、切換語言時語句不順的現象,School 強烈建議我們一律以英文撰寫履歷,若學程結束後要調整,由英轉中也比由中轉英容易一些。

履歷撰寫完成後共有兩道關卡,一是導師+校務,二是 Tiffany,兩者都過關後才可到求職平臺投遞職缺。School 列出了近五十項檢核表,美觀相關的字體、字型、排版,內容相關的句型、文法、用字、長度全都在審核範圍中,每個細節都不放過。而在這些項目中,最令我印象深刻的有兩個:

  1. 字母大小寫:如 JavaScript 是 J 跟 S 要大寫、RESTful 是前四個字母要大寫、iOS 是 O 跟 S 要大寫,以及最重要的:AppWorks School 是 A、W、S 三個字母要大寫。
  2. 「技能(skills)」與「工具(tools)」:兩者的差別有時候不太好抓,基本上「技能」主要是「你會做什麼事情」,如版本控制(version control);「工具」則是「你為了達成特定任務,會用什麼樣的軟硬體」,例如進行版本控制時,常用的 Git 與 GitHub。

若忽略上述小細節,或許不影響人資、技術主管或其他閱讀者的理解,但要看一個人是否細心,透過履歷即一覽無遺,尤其如果有人自稱「detail-oriented」但出現拼字、標點符號或半全形錯誤,就不免讓人懷疑這份履歷的真實性。

週五主題短講:編程面試

履歷撰寫大概為期一週,緊接而來的是大量面試練習。工程師面試與其他職位最不一樣的地方在於會有「編程面試(coding interview)」,因此,最後一次的週五短講(Friday Talk)就是以此為主題。

其實在申請 School 的過程中,面試也有一關是「技術面談」,但當時沒有程式測驗,而是一些基本的邏輯題,但不論是測邏輯或是寫程式,面對這樣的關卡,面試官多半會在意的是「過程」而非「結果」,寧願沒把題目寫完,但邏輯清晰、溝通過程愉快,也不要每題秒解而與面試官毫無互動。

在進行編程面試時,共有幾個要點:

  1. 先確認題目:就像工作時,要先跟產品或專案管理專員確認需求。
  2. 可先提出暴力解:若暫時無想法,可先用不考慮時間與空間複雜度的暴力法解題,再逐步思考減少大 O 值的方法。
  3. 考慮邊角案例(corner case):對於特定極端狀況,自己的解法是否能夠處理?若不行,要如何優化解法?

總結而言,編程面試不是純紙筆測驗,除了測寫程式能力外,也同時在測溝通力,「讓人覺得與這個人一起工作很愉快」遠比「把題目寫對」來得重要。

面試練習

School 提供非常多的面試練習機會,在完成履歷撰寫後的數天,每天早上都還是有晨會(recap),透過錄音+現場出程式題,讓大家檢視自己的觀念掌握度與技術能力。但相對於這些一次多人一同參與、且不會一一針對表現給予回饋的小活動,真正有面試臨場感的,是每次一對一的模擬面試,共有下列三種:

  1. 導師模擬面試:為 School 安排必帶,每個人約有 1.5~2 小時的時間與導師進行一對一面談,包含自我介紹、技術問答、現場解程式題等,軟硬實力都有機會練習,算是最完整的一場面試。
  2. 人資模擬面試:由具有獵頭及人資經驗的 Tiffany 與江江負責,在兩人開出時間帶後,學員可自主預約練習,為時約 1 小時左右,主要針對與技術關聯性較低的軟實力進行加強,包含自我介紹、求職動機、未來規劃等。
  3. 校友模擬面試:在第 20、21 週的週三晚上舉行,這可說是所有模擬面試中的重頭戲,因為來擔任模擬面試官的學長姊們不再是我們熟悉的面孔,會更貼近實際面試的狀況。相對於為時較長的導師及人資模擬面試,我們跟每位校友的面談時間只有半小時,內容依學長姊安排而定,多半也會是軟硬實力皆測。比較特別的是,除了被面談者外,School 還安排了另一位學員擔任「觀察者」,讓大家可以從第三者的角度觀察同學與面試官的互動,除當作自己的參考外,也讓每個人都有機會獲得來自於同學的回饋。在兩個晚上的練習中,每個人擔任被面談 & 觀察者的機會大約各有三~四次,結束後都可以跟所有來幫忙的學長姊聊聊。


校友模擬面試立牌

各班讀書會

「技術問答」是面試中除現場解題外,最具挑戰性的項目之一,School 提供給每個班包含數十道問題的技術題清單,讓大家先顧好基本盤。除此之外,每個班也都舉辦了各自的讀書會,由同學們各自針對一該班領域相關主題進行報告,以前端班而言,報告的主題包含:

  1. webpack + Babel
  2. 伺服器端渲染(server-side rendering, SSR)與 Next.js
  3. High-order components (HOCs), render props, custom hooks
  4. React.memo、useCallback 與 useMemo
  5. Vue.js 簡介

跟第 9~10 週的「分組專題研討(Topic Discussion)」相比,本次報告的主題較為進階,因此每組的報告時間拉長至兩小時,也都有讓同學實作的時間。

資料結構 & 演算法讀書會

在各班讀書會中,以後端+資料工程班的最為特別,主題是所有程式培訓營最被詬病缺乏練習的內容、資工相關系所核心課程「資料結構與演算法」,因為每個領域都可有相關應用,也開放給手機兩班與前端的學員參加。

過往的週五短講曾經針對大 O(big O)、鏈結串列(linked list)、二元搜尋(binary search)進行簡介,讀書會中提的是更進階的內容,包含:

  1. 合併排序(merge sort)
  2. 快速排序(quick sort)
  3. 樹(tree)
  4. 回溯法(backtracking)
  5. 遞迴(recursion)

此時 LeetCode 已經悄悄進入許多後端 & 資料工程班學員的生活中,不管過去對這些內容有多麼陌生,刷題人生已經開始。

後端+資料工程班讀書會

招聘週 Hiring Week

做了那麼多的努力,無非就是為了最後的「找工作」環節做準備。

School 提供了專屬於學員的就業媒合資源,且不是單純洽談合作廠商這麼簡單,從第 15 屆開始,我們開始使用校友開發的內部求職平臺「GritHub(不是 GitHub)」,整體的使用者體驗跟 104、CakeResume、Yourator 等相比可謂有過之而無不及,School 的校友果然厲害。

GritHub 網站首頁

透過 School 求職需要與校方先簽屬《職業介紹服務契約》(偷偷說,看到合約上說登記及介紹費的金額是「新台幣 零 元」時,真的覺得 School 超佛),而基於尊重 School 特別跟我們談合作廠商,在畢業前,我們也會將所有外部求職平臺的履歷關閉。當然,有媒合活動只是「多一些專屬於 School 學員的機會」,並不代表一定錄取,待畢業之後,我們依然可以透過外部求職平臺找工作。

學程的最後一週不是在面試、就是在準備面試,除了與合作廠商有約在 School 現場面試的時段,其餘時間都可以不用到校。雖然同樣都在 GritHub 開缺,絕大多數的廠商都不會到 School 與學員面談,有些與學員進行線上面試、也有些走自己的招聘流程,但不論如何進行,所謂「招聘週」其實只是第 1 關、甚至第 0.5 關,要到畢業後,求職的漫漫長路才算正式開始。

畢業典禮 & 心得

歷經超過 20 週的魔鬼訓練,終於來到期待已久的「畢業典禮」!

自從離開學校後,不太會有「一群人因表定時間到而一起離開一個單位」的機會(連當兵退伍都會因為大家折抵天數不同,而有不同的離營日期),還能體驗到「畢業典禮」這種儀式,是一種很特別的感覺。

畢業典禮會場

還記得開學當天,有個流程是「測量 T 恤尺寸」,而這寫著 Hello World! 的 T 恤,要一直到畢業這天,才能憑識別證換取。領完衣服後,大夥在與開學典禮相同的地點集合,School 一樣準備了簡餐與飲料供大家享用,與開學典禮不同的是,歷經將近 20 個星期的相處,我們不再是素昧平生的陌生人或 Discord 網友,而是一起熬過這魔鬼培訓營的戰友,大家的話匣子不停。


畢業典禮簡餐(照片由 AppWorks School 拍攝)

畢業典禮的流程包含導師致詞、畢業生代表致詞、校長致詞、影片回顧等,與開學時面對未知的忐忑相比,這次多了更多歡笑與熱絡的互動。慶幸我們的畢典沒有因為在夏天舉行而受颱風攪局、慶幸在疫情當中沒有任何人因為確診或隔離而缺席,從導師手中接下畢業證書,再與同學及導師、校務們一起拍多張大合照的那一刻,頓時百感交集,在 School 的日子很苦,但我們一起撐過來了!

謝謝一起陪伴著彼此前行的夥伴、謝謝沒有因為屢次的挫折而打退堂鼓的自己,更要謝謝多次讓我們瀕臨崩潰、卻又總是在懸崖前拉我們一把的導師與校務們,若說芬蘭的極地導遊經驗是我在出社會後,最念念不忘的回憶,那在 School 這四個多月的時光,絕對是我在回國後,最刻骨銘心、也是最推薦的一段歷程!

第 16 屆畢業大合照(取自 AppWorks School 臉書貼文


#AppWorks School









Related Posts

筆記、[ALG101] 虛擬碼

筆記、[ALG101] 虛擬碼

Cmder 更改 lambda λ 符號

Cmder 更改 lambda λ 符號

效能

效能


Comments