轉職軟體工程師,個人專案一定要注意的 6 件事

2023年12月19日

💎 加入 E+ 成長計畫 與超過 300+ 位軟體工程師一同在社群中成長,並且獲得更多的軟體工程學習資源
image

轉職成為工程師時,由於缺乏相關經驗,一般都需要透過個人專案來展現能力。在這篇文章中,筆者將分享 6 點在個人專案中需注意的事項。這些都是筆者及 ExplainThis 團隊在協助讀者檢視他們的專案時發現的常見問題,也是求職時特別重視的地方。

備註:以下要點著重在轉職軟體工程師、過去沒有相關經驗的情況,如果已經有軟體工程師工作經驗,這些個人專案的建議可以參考,但是也許不完全適用。

1. 選擇有特色的個人專案主題

隨著轉職班越來越普及,學生常常被指派特定主題來完成他們的個人專案。這導致來自同一轉職班的學生作品和技術應用趨於相似,往往給面試官留下千篇一律的印象。如果你的作品沒有突出之處,很容易被忽略。一個獨特的專案主題,相對而言,更能引起面試官的興趣,促使他們深入探究專案細節。

個人專案的真正價值不只在於最終的產品,還包括整個開發過程:從選擇主題、規劃架構、實現功能,到展現軟實力(如時間管理和問題解決能力等),這些都與日後的工作緊密相關。

從筆者的親身經驗和諮詢者的分享中可見,許多公司,尤其是新創公司,會對「為何選擇此專案主題」或「如何實現這個特別的專案」等問題表示出強烈興趣,這反映了他們對個人特質的重視。

因此,在你的個人專案中展現獨特性很重要,但這並不意味著專案需要非常創新。關鍵在於展示你能夠獨立完成專案功能並呈現出你的特色

2. 功能是否涵蓋 CRUD、串接 API (或第三方服務)

筆者過去遇到一些轉職者的專案,他們的 UI 做的很好,但功能上只有讀取(Read),缺乏創建(Create)、更新(Update)、刪除(Delete)等操作。一個完整的專案應該涵蓋這些基本功能。通常在學習新的前端框架時,會透過開發待辦事項列表(Todo List)練習 CRUD 操作,顯示出能夠利用這些框架完成基本功能。

此外,與串接 API 或第三方服務相關的功能也是基本且重要的一環。

但如果你的專案在這些方面不夠完整(有可能是因為主題不適合、或其他原因),建議透過技術亮點來彌補這一不足(詳見第三點)。如果你的功能完整,並融入技術亮點,這將成為你的加分項目

3. 專案是否有技術亮點

技術亮點可以幫助面試官了解你的技術能力和深度。例如,開發一個電商網站與開發一個具有良好的 Core Web Vitals 的電商網站,在面試官眼中是截然不同的。建議在構思專案時就考慮技術亮點。例如:你打算要做一個電商網站,可以通過一系列的性能優化方法,如圖片和資源的最佳化、緩存策略、最佳化 CSS 和 JavaScript 的載入等,來實踐高分的 Core Web Vitals(Google Lighthouse),透過此來證明在網頁性能優化方面的專業能力。

其他的技術亮點可能包括測試、開發多語言網站(i18n)、實踐無障礙(Accessibility)等。這些元素結合你的專案主題,可以展現出技術的深度和廣度。

4. 注意細節、一定要測試

筆者曾與一位面試主管聊過,他表示在評估候選人的專案時,如果在執行基本操作或主要功能時遇到白頁,他通常會將該候選人淘汰。這是因為他認為候選人對自己的專案不夠重視,這種態度在未來的工作和團隊合作中可能會成為問題。除此之外,面試官也有可能會檢查你的 git commit 紀錄(有些人在 commit 的時候會隨意 commit 或直接 commit 一大包,這些都是要避免的,但當然之後工作上怎麼樣,可能是另一回事 😂)。

相對地,如果你的專案在細節上做得很好,比如:加上 404 錯誤頁面、把沒用到的套件刪掉、刪除無用的程式碼等(這些在有些面試官看來是基本要求),做到這些細節,則會給面試官留下非常好的印象。這些看似小細節,實際上反映了你對工作的態度和對品質的追求

有朋友分享經驗,他的個人專案是一個旅遊資訊的平台,雖然功能只有讀取(Read),但由於他在性能優化上做得非常出色,加上專案細節處理得很好,他在找工作時,得到許多面試主管的稱讚,也拿到了不少 offer。

5. Github Repo README 的撰寫

如果面試官對你的履歷感興趣並查看你的 Github Repo,一個好的 README 文件非常關鍵。一些專案 Repo 可能使用預設的 READMe,但建議不要這樣做。一般來說,個人專案的 README 應該包括:

  • 專案基本資料
  • 功能介紹、螢幕截圖或錄影
  • 使用教學、專案啟動教學
  • 涵蓋的技術
  • 技術亮點或其他相關資訊

等等。

6. 準備面試會被問到的題目

由於轉職者通常缺乏相關經驗,面試時往往會聚焦於個人專案的細節。常見的問題包括:

  • 「這個專案中最具挑戰性的功能是什麼?你是如何解決的?」
  • 「為什麼選擇這個專案主題?」
  • 「如何實現特定功能?」
  • 「為什麼選擇使用某個框架或套件?」等。

對你特別感興趣的面試官可能會直接查看你的程式碼並提出問題。因此,要確保自己完全理解專案的各個部分、功能,並建議在面試前,要重新復習這些程式碼

以上六點是準備個人專案時需要注意的要點。希望這些建議能幫助你在轉職的路上取得成功!

🧵 如果你想收到最即時的內容更新,可以在 FacebookInstagram 上追蹤我們