## 前言 最近剛好過了試用期,想來分享面試臺灣幾間 Robotics 相關的心得。 網路上能Google到大部分都是面試外商機器人/自駕車的文章,或是一畝三分地上面的分享,於是想寫一篇在臺灣面試的 Robotics 領域職缺,希望能起到拋磚引玉的效果,能幫到對 Robotics 領域有興趣,也還打算在臺灣工作/求學的人們。 - [面試分享](#面試分享) - [工作分享](#工作分享) --- ## 背景 ### 學歷 - 清大物理 肄業 - 台大電機 學士畢業 - 台大電機 自動控制組 碩士畢業 ### 論文發表 IROS 2024 會議論文(一作)一枚,偏向理論面的EKF論文 ### 兵役狀態 已服役 ### 動機 剛畢業時沒有確定論文投稿是否有上,對研究還停留在自我懷疑較多的階段,所以決定先在國內工作一陣子,再決定是否申請出國讀博。而工作的主要目標設定為 **Robotics & 產品研發**,因為碩班做完研究之後比較想看看業界對 Robotics 的口味如何,次之為 **Robotics 相關研究**,最後則是與 **Robotics 相關**即可。 後續 24年 7月雖然投稿確認有上,職涯規劃上仍決定先以原本工作目標優先,畢竟個人對於出國讀博後往教職發展較沒興趣,主要是讀博鑽研有興趣的領域比較吸引我。 ### Robotics 相關領域知識 Robotics 認真討論應該會有很多實作上可以與其他領域連結的部分,這裡就只列出自己略有涉略的領域了。 - [Computer Science](#Computer-Science-CS) - [Control & System Analysis](#Control-Theory-amp-System-Analysis) - [Mathematical Optimization](#Mathematical-Optimization) - [Machine Learing/Deep Learning](#Machine-Learning--Deep-Learning) #### Computer Science (CS) 敝人的CS課程修的少之又少,只有大學部&碩班的演算法。 工作到現在覺得最常用到的應該就是 **Operating System (OS)** 和 **System Programming (SP)** 相關的知識。 #### Control Theory & System Analysis 由於是控制組背景,控制領域和系統分析的知識學得比較多,對 **(非)線性系統分析**、**剛體動力學**算熟悉,控制理論則是基本上都有碰過,除了強健控制沒有旁聽完,**(非)線性控制**、**最佳控制**、**隨機控制**、**適應控制**等算是略懂,個人認為對控制理論的理解是多多益善(~~所以推薦全部讀爆~~)。 目前工作上比較有機會從自控或系統分析的角度參與討論,日常跟主管、同事討論控制相關問題時,可以從不同控制器設計的角度切入來嘗試解決問題或是分析論文設計理念或實作效益。 目前有和同事/主管深入討論過的控制理論議題,除了基礎回授控制之外,主要是非線性系統的強健和適應控制的問題。 #### Mathematical Optimization 沒有很數學分析的基礎,只有修過電機系**凸函數最佳化** & **最佳控制**,旁聽過資工系**最佳化演算法**、數學系**分導一**。 - **凸最佳**除了理論基礎如 Lagrange Multiplier, KKT Condition, Gauss-Newton 之外只有涉略 Interior Point Method - **最佳控制**提到 HJB Equation, Riccati Equation 和一些變分法的基礎,實作方法上大概理解 Differential Dynamic Programming & LQR(LQG) - **最佳化演算法**基本上在討論 Gradient Descent 的大歷史,用很數學的語言描述,如果數學不夠好修不動,旁聽還是很舒壓的。 實作上比較熟悉的非線性最佳化主要是二階方法如 Levenberg–Marquardt,也有稍微翻過一點 L-BFGS。因為碩論的緣故對 Riemannian Gradient Descent 也算有概念,雖然主要應用在李群上。Stochastic Optimization 則算是只對 Kalman Filter 的框架熟悉。 #### Machine Learning / Deep Learning 只有修過電機系的**機器學習**(BERT的年代) & 中途停修的 **DLCV**,算是對 LLM 年代前的架構略懂而已,**RL** 則是很可惜畢業了才看到有新教授開課,目前也只有從論文上讀過一些方法,不算熟悉。 --- ## 面試分享 ### 時程 - 24年 4月:畢業 - 24年 5~6月:練英文 & 小刷題 & coding interview & BQ - 24年 7月:開始投履歷 - 24年 8~9月:面試 & 回復 - 24年 10月:確定offer & 出國參加會議 - 24年 11月:onboard ### 投遞職位 - [ASUS Robotics & AI Center (ARAIC) - Robotics Software Development Engineer](#ASUS-Robotics-amp-AI-Center-ARAIC---Robotics-Software-Development-Engineer) - [Inventec AI Center - Robotics Engineer](#Inventec-AI-Center---Robotics-Engineer) - [Garmin - AGV系統整合工程師](#Garmin---AGV系統整合工程師) - [Tron Future - 機器人工程師](#Tron-Future---機器人工程師) ### ASUS Robotics & AI Center (ARAIC) - Robotics Software Development Engineer #### 簡介 - [JD & Application](https://apply.workable.com/araic/j/9E52DDDAF5/) 值得注意的是網站上雖然有 JD,但無法在面試時就知道未來會碰到什麼樣的機器人領域議題 & 應用,對面試者來說像是在開盲盒。 2023年3月台大校招的時候中心主管 Roland 有來給過演講,也有在演講結束後去攀談了一下。當下互動的感覺不錯,專業知識深度也很夠,如討論到 ROS 生態系的優缺點等,於是24年畢業後規劃面試順序便把這間放第一個,挑戰**全英文工作環境與面試流程**。 當初找工作時網路上這個單位的資訊少之又少,甚至跑到 ETHZ 的線上徵才博覽會 poly-E-fair 找 ARAIC 的訊息和採訪: - [A chat with Dr. Roland Angst, Head of the ASUS Robotics & AI Center.](https://polyefair.ch/2022/03/03/asus1/) - [A chat with Debby Lee, Co-Founder and General Manager of ASUS Robotics & AI Center](https://polyefair.ch/2023/10/07/debby-lee/) - [A chat with Simon Schönenberger, Robotics Software Development Engineer at ASUS Robotics & AI Center.](https://polyefair.ch/2022/02/28/asus3/) #### 時程 ##### 24年 3月初 台大校招投遞書面履歷 這個時間點我應該要再上他們的招募網站投遞履歷的,但IROS 2024突然延後死線,加班趕稿忘記了:eyes: ##### 24年 7月初至月中 招募網站履歷投遞 & 回復問卷(Techical Survey) 除了上傳自己的履歷外,招募網站也有表格需要完成才能和履歷一同送出。由於英文不夠好,這部分多花了我一些時間找捧由修稿。 大約一周內就有收到 Technical Survey,內容像是把面試中的 BQ/Project Experience/Motivation 等改成申論題,所以又花了一些時間找朋友修稿 & 練BQ,最後壓到死線前 Technical Marketing 寄信來提醒的時候才完成。 ##### 24年 8月下旬 General Interview (online) 以 BQ, Motivation, Career Plan 為主的英文線上面談,長度約一個小時。雖然我有準備簡報(想說有講稿比較有信心英文口說不會炸裂),但面試官比較喜歡以對話方式進行,所以還是回到半 free-style 的口說。 我認為面試官蠻有耐心的,討論職涯規劃時我講得不夠清楚的部分會引起她的疑問,進而在面試中討論這個議題,也讓自己有一些對職涯規劃的反思。另外也覺得面試官人不錯,英文口說自覺有點拉跨但有收到面試官的鼓勵。面試官也有提醒我可以寄信跟 Technical Marketing 說明目前已經畢業正在找工作,ARAIC 也可以加速面試流程。 ##### 24年 9月初 Techincal Interview (online) 以 Project Experience 與專業技能的問答為主,長度約一個半小時。這次有事前寫信通知面試官有準備投影片,於是先用投影片簡短帶過自介、碩論、專題經驗、會議論文、申請動機等,面試官再以他有興趣的內容詢問細節。 專業技能問答則是由面試官從不同 Robotics 相關領域提問一些專業知識以及詢問面試者對這些領域的熟識程度,包含但不限於 Job Requirement 上提到的領域。最後詢問面試官得知約一周後可以知道是否有進到下一輪。 ##### 24年 9月中 Techincal Presentation (online) 上次面試後約幾天內收到最後一輪 Technical Presentation 的通知信件,以及選擇 Technical Presentation 的主題,信上有給一個清單,也可以自己想題目並回信,時間限制為30分鐘,會報給多個面試官聽並進行討論。 那陣子台大的 webmail 似乎有些問題,很多封公司寄來的面試信件都漏接or漏發了,我的回信就被漏掉,導致面試當天沒有人事前知道我的報告題目,強烈建議使用 Gmail 以免憾事發生= = 面試當天報告時間控制剛好30分鐘,後續問答環節有點緊張,有些問題沒有第一時間講到癥結點上,稍微講太偏的話主持人 Roland 也會出來重新整理問題,但基本上應該有給到各個面試官滿意的答復。 ##### 24年 9月中~10月初 Background Check & 口頭 offer get Technical Presentation 當天晚上就收到回復信件,要找兩個教授等級的人做 Background Check,還有身家調查表格 & 期待薪資。 由於當時已經拿到另外兩家 offer,有寄信表達現況希望能盡快確認 offer,沒有特別拿這兩份 offer 來談薪水,最後10月初和 General Manager 線上面談確認口頭 offer 以及報到時間。 ### Inventec AI Center - Robotics Engineer #### 簡介 - [104 JD](https://www.104.com.tw/job/7j53a?jobsource=company_job) 會接觸這個職位是因為實驗室同學去參加 ICRA 24 的時候遇到 Inventec AI Center 的機器人團隊,並後續參與面試後錄取,於是也想去看看是個甚麼樣的地方。 #### 時程 ##### 24年 8月初至月中 內推 & 一面 (online) 八月請同學 & 做計劃的實驗室博班幫忙內推,一面時長約為一小時,內容為自介 & coding interview & QA。 面試官是外國人,英文 & 中文都能流利溝通,coding interview 對題目的講解與提示都很友善,我的答題狀況自覺不夠好,但還是在面試官幫助下順利完成。一面後兩三天收到HR email 通知二面。 ##### 24年 8月底 二面 二面是三位面試官的車輪戰 & 中心負責人面談,總計四個小時。車輪戰內容為一個小時對每個面試官自介 & coding interview & QA;中心負責人面談也是差不多一小時,但只有自介 & QA。 Coding interview 內容基於我的履歷上熟悉的套件出題,是邊和面試官討論邊進行的寫法,比較可惜的是我寫的還是有點慢,很難回答完全部題目,只能就比較熟悉的部分回答。 前兩個面試官是外國人,用英文面試,第三位則是臺灣人,就換成中文面試了。 最後和中心負責人面談除了自介、有興趣的專案之外,也有聊到生涯規劃 & 負責人對 Inventec AI Center 機器人組的規劃。基本上以研究為導向,輔以英業達內部計畫,像研究所一樣可以提有興趣的方向,也要每週對他報告工作進度。面試結束約一週後收到面試官回信通知面試通過。 ##### 24年 9月初 offer reject 二面通過後約一週收到HR敘薪與確認offer,由於自身職涯發展考量,目前沒這麼想繼續往研究的方向鑽,想往機器人領域的產品研發方向看看,所以婉拒 offer。 ##### 24年 9月下旬 與中心負責人面談 (online) 九月初婉拒 offer 後面試官來信詢問是否有空與中心負責人面談,內容主要和中心負責人說明婉拒原因,並給一些面試流程回饋。他也表示如果有興趣回來做研究,可以再來投這個位子。 #### 感想 這個位子對於學/碩士畢想繼續讀博的人應該挺不錯的,中心負責人本身也很熱情,專業領域知識也很充足,也會鼓勵有讀博念頭的中心員工繼續進修。機器人組的人們實力也很紮實,去年去 IROS 2024 時也有看到他們參加 Unitree 舉辦的 Quadruped Robot Challenge 並拿到第三名。 ### Garmin - AGV系統整合工程師 #### 簡介 - [104 JD](https://www.104.com.tw/job/85aek?jobsource=job_p) 這個工作則是請朋友的朋友幫忙內推得到的面試機會,職位是在104逛逛時找到的,之前校招逛 GARMIN 攤位時反而比較沒有注意到。 #### 時程 ##### 24年 8月初~中 收到履歷 & 一面 (online) 收到履歷已寄達通知書後約一週內收到一面通知,時長約為兩小時,半小時 HR 面談,簡短討論申請動機、公司福利與薪資概況;一個半小時與面試官對談,內容基本上是自介 & 介紹單位與工作內容。這個職缺是製造部門較年輕的團隊,主要對應產線需求設計 AGV 軟體部分,基本上符合 JD 描述內容。面試結束後約一週內收到二面邀約。 ##### 24年 8月底 二面 二面則是在新店 Garmin 與部門主管 & 其餘團隊成員一同進行面談,時長約為兩小時,內容上仍以自介、介紹單位與 QA 為主。面談時可以看到主管與這個團隊的互動挺不錯的,團隊成員問的問題也反映出他們的工作內容確實符合 JD,而 AGV 硬體部分則會與另一個硬體部門協同處理。主管背景是臺大機械,對一些我簡報裡的老教授還有印象。 ##### 24年 9月初~中 offer reject 約面試結束後一週接到 HR 敘薪電話,由於面試時就有稍微討論到甚麼時候可以確定 offer,也有接露我正在面試另外兩間,主管也知道我的情況,所以跟 HR 問了約兩週左右的考慮時間,最後在沒有確定 offer 的情況下決定先婉拒這份 offer了。 ### Tron Future - 機器人工程師 #### 簡介 - [104 JD](https://www.104.com.tw/job/859i1?jobsource=company_job) 24年3月台大校招有工程師來分享面試流程與準備方向,加上公司算是有名的新創,所以有打算去試試。 #### 結果:無聲卡 朋友有修過創未來相關部門的主管有在台大開設課程,於是24年7月請朋友問了該主管對於內推的意願,獲得同意後寫了一封自薦信 & 履歷寄給主管,然後無聲卡。 目前聽說該主管要跳出來再開一間新創。 --- ## 工作分享:ARAIC 工作心得 & 觀察 自己評估幾份 offer 之後,決定抱著開盲盒的心態加入 ASUS Robotics & AI Center Robotics Software Development Engineer 的行列。 這個部門算是 ASUS 內的新創單位,部門風氣也和聽過的台商做派確實差非常多,工作內容也如 JD 上寫的非常多且頻繁的跨組合作,工作步調也算是較快的。 ### 同事相處 進這個單位最令人驚訝的事情應該莫過於同事**真的沒幾個臺灣人**。 同事來自世界各地,對彼此的文化差異十分開明且友善。蠻多同事都有在學中文,少部分中文精通到可以去早餐店點餐、超商繳費都沒問題的程度,但在公司還是講英文為主。 由於之前學英文口說都是以考試為主,有點難抓日常幹話的用詞 & 語氣,花了一點時間才搞清楚哪些時候同事是在開玩笑。目前也在努力練習用英文講幹話中。 ### 工作模式 #### 即戰力 雖然面試時有提到這個單位沒有新訓,但進來之後基本上第一天帶過環境 & 確定組別之後就開始接目前專案進度 & 分配任務。確實也不太需要新手教程,只需要 README 而已。對於單位的認識則是邊工作邊摸索。 由於目前組別的工作內容基本上符合職缺招募的介紹,對於理論基礎沒什麼問題,主要是 coding style 與系統設計觀念需要多注意,toolchain 也是需要多摸熟悉的工具。 #### 唯才是用 另一個令我驚艷的點則是 **ARAIC 沒有預設碩博職位的分野,而是以專長區分**。 偏向研究的組別有一位早我一個月加入的美國人。由於他的碩論內容剛好與目前發展方向契合,在組內有另一位 ML 專長的數學博士的情況下,他成為該組 demo 的主要負責人。 我想這的確是在臺灣工作很少看到的情況。跟朋友聊到他們的工作情況時,通常會看到博士具備領導整個團隊與專案的能力,碩士的新進組員則可能只是當成即戰力而非主要負責人。 #### 扁平結構 & 高度整合 中心架構十分扁平,沒有幾個中階主管,幾乎所有同事都是同個職等。 所有專案進行時都需要跟其他組的同事們協調 feature 設計 & debug,幾乎每天都會自發地與其他組的同事進行兩次以上的 short talk 或是直接約個小會議討論。扁平架構讓這樣的討論變得很方便直接,不需要先跟主管討論再去別組約時間討論,如果遇到權限問題等等也會馬上處理,從來沒有在權限問題上等超過一個小時過。 --- ## 結語 除了上述 Robotics 相關的職缺外,104上還是找的到挺多 Robotics 相關的職缺,如台達、所羅門、Aeolus Robotics 等。個人丟履歷時也有丟過軟韌職缺如 Synology, Phison 等,但確實 C 不太行被刷下來了。 自覺面試前最需要的是耐住性子乖乖練 BQ 練 coding interview,常常 BQ 回答太鳥被 mock interview 組員們提醒這個答案不好有雷,要練出一個自己能夠接受的好答案;面試時最需要注意的是溝通狀態,如果面試官講到面試官眼神不夠專注時就需要停下來,詢問哪邊有問題並做出改變;面試後最難的是厚著臉皮跟 HR 問狀態 & 延長 offer 思考時間(*可能是我臉皮不夠厚,不敢拿一個 offer 談另一個 offer 的薪水,應該比較難,但聽在美國找工作的同學說這是常態*)。 最後感謝畢業後女友幫忙找到的 BQ 與 coding interview 練習小組,感謝實驗室老闆願意生經費讓我出國,感謝幫忙內推過的同儕們,也感謝女友找到工作後願意陪我度過找工作的掙扎時刻。