2021的年後轉職潮來臨,想學程式或正在學程式的你,對如何面試、轉職工程師,有很多疑問嗎?
ALPHA Camp 校長Bernard在新年直播Q&A解惑,談工程師面試時,面試官看重和期待哪些專業技能外的能力?遇到面試官問「你還有其他問題嗎」該怎麼回答?演算法及資料結構對工程師面試來說有多重要?
想順利轉職工程師,如何準備面試、評估職缺?以下為 Bernard 的直播精華分享:
工程師面試準備 Q&A
Q1.除了專業能力外,面試時最看重哪些技能、能力?
在這個年代,專業能力是基本,卻相對難做出差異化。因此站在雇主的角度,要判斷面試者是否適合公司,常需要透過「文化面試」(Culture Fit Interview)。
文化面試主要看三個面向:
- 個人特質
- 職涯規劃
- 團隊合作
藉由這三個面向,雇主能評估面試者是否適合工作環境,來充分發揮能力。
雇主如何透過文化面試找答案?
通常會使用「場景題」,例如「你做過最有成就感的一件事?」
透過這個問題,雇主可以看到兩件事:一、面試者對成就的定義,二、面試者在工作經驗中最重視什麼。來理解面試者如何思考、如何做決定,及價值觀是什麼。
有了案例後,雇主會繼續問下去,去挖出面試者背後的思考邏輯、他如何跟其他人和互動,藉由各個面向去理解整個故事的脈絡。
如此一來,雇主才能理解該面試者除了技術能力外,他上班時會是什麼樣的隊友。
作為面試者,又該如何準備文化面試?
第一步:了解團隊文化
每家公司的文化不同,有些公司很鼓勵團隊主動提問,而有些則偏保守,要聽從老闆指示。
因此,面試者要去做功課。除了透過公司官網、媒體報導,了解公司歷史、文化及價值觀,另外也可以善用社群服務,藉由 LinkedIn、Facebook 找到曾經或正在該公司工作過的人,請對方喝杯咖啡,了解團隊如何運作、如何做決策。
第二步:準備自己的故事
當面試者了解團隊文化後,如果覺得喜歡這個工作環境,下一步則是準備自己的故事。從過去的學經歷、工作經驗中,去尋找能夠呈現公司價值觀的經驗。
Q2:當面試官問「你還有其他問題嗎」 他的期待是什麼?
作為面試官,我會很在意這個問題。因為我能藉此從面試者身上看出 3 件事:
- 面試者的焦點:如果面試者問福利、是否加班等問題,可以知道他很在乎個人權益。關於薪資福利的問題,我反而會建議取得 offer 後再了解,因為到時候選擇權在你,是你去選擇公司
- 面試者是否有做功課:如果面試者問了 google 搜尋或官網上就能找到的資訊,我會認為面試者可能對公司沒興趣,或者本來就不會做功課,無論是哪一種,我不會對他有很大的期望
- 問困難的問題,展現對公司產品的熱情跟想法:例如,問面試官公司下一步怎麼發展,不僅說明了你對公司的認識,也能讓面試官可以想像未來怎麼跟你合作解決問題
因此,我會建議面試者利用這個問題,盡量去理解公司的思維、如何運作,同時也為自己留下好印象。
Q3. 演算法、資料結構,該準備到什麼程度才去面試?
簡單來說,要準備到自己不會害怕的程度。過去前端面試比較少考這部分,但近一年來,許多雇主也會開始考演算法及資料結構。
很多人在面對演算法時,會有像準備大學聯考的心態,拼命刷題練習,甚至考慮直接背答案。但其實
面試官在乎的不是看到正確答案,而是面試者的思考過程
- 對這些基本工具,是否有正確清楚的了解:知道什麼時候用 Array、Linked list,這些工具都是工作後要面對的。
- 面對不熟悉的領域,是否有解決問題的能力:當你每天都遇到從沒見過的問題,你是否有能力去拆解問題、解答問題,跟其他人解釋
所以,答案本身不重要,重點是你能否有條理、有信心去回答面試官的提問,這是需要練習的。
延伸閱讀:資深工程師面試怎麼考?技術副總告訴你!
Q4. 如果尚未具備理想職缺的要求能力,是否要先自學到一定程度再投履歷?
每家公司撰寫職位描述的邏輯都不同,放上去的技術不一定全都要會。例如有些公司寫了 Python、JavaScript、Node.js、Vue、React,但其實會再細分不同的能力跟部門來分工。後台可能是用 Python 做 Machine Learning,但前台用 JavaScript、Node.js 來打造。也可能分成兩個產品,對內部管理者用 React 來蓋,對外用 Vue 來蓋。
所以,首先你要先有情報,知道公司內部使用什麼技術。再來,要知道什麼核心技術是躲不開的、公司對 junior 的期待是什麼。
如此一來,你才能更清楚了解:公司對放上去的每個關鍵字,在乎到什麼程度。如果公司期待你隔天上班就能夠立刻上手,那的確你就需要先學到一定程度。
延伸閱讀:轉職工程師要學到什麼程度?該選什麼程式語言?7個案例校長一次解析!
工程師職涯 Q&A
Q.1 厭倦打卡責任制的工作型態,工程師是否可靠獨立接案生活?
ALPHA Camp 有很多學生不在台北工作,希望能在家鄉生活。的確,用程式打造產品的能力,讓你在哪裡都能工作,也能夠獨立接案。
但是獨立接案要面對的事情不太一樣:你要去哪裡找案子?怎麼做客戶管理?不是每個人都有這個能力。每個案子大小不同,我看過有一些朋友,當案子越接越大,他沒辦法完成,開始找其他人組成團隊。而為了養團隊,又要去找更大的案子,這個雪球就滾起來了。
所以,我覺得這是生活的選擇,你需要知道你面對的困難在哪裡。沒有老闆告訴你要做什麼、沒有公司每月定期發薪水給你、客戶有可能不付錢等問題。
如果你有能力、有人脈,也嚮往這樣的生活,那可以去嘗試。至於之後發展到底適不適合你,也會取決於你的特質及生活型態。
延伸閱讀:曾是工地主任的他 從接案工程師到澳洲新創
Q.2 轉職者如何培養資深工程師思維,擁有找各種方法解決問題的能力?
我認為可以從兩個方向來思考:
一、很多時候經驗是無法取代的。在這個行業,當你問題看多了,有足夠的經驗就知道怎麼解決。經驗累積的過程是無法避免的,你需要看更多問題、嘗試更多事情。
二、從 junior 到 senior 工程師,對工具的使用、對背後邏輯脈絡的掌握是一個核心能力。當你對不同場景使用什麼工具擁有充分認知,再加上碰過的問題變多了,就會產生「擁有完全不同的思維」去解決問題的能力。
因此,我的建議是:千萬不要怕遇到問題。當你碰到問題,有 bug 解決不了,要有好學心態,去解決問題,這才會變成經驗。
更重要的是,我鼓勵大家常寫文章,去記錄學習過程。很多事情不是光累積經驗就能學會,而是透過反省經驗,你才能真正內化能力。花時間寫文章記錄問題、多參與社群讀書會,把你遇到的問題變成解決問題的經驗,再把經驗變成能夠與別人分享的故事,這是工程師職涯的核心態度跟習慣。