後端工程師面試必看,我該準備什麼作品集?

從事程式工作或學習的人,多半耳濡目染作品集/ side project 的重要性,因為學程式就是要不斷練習,透過實作去熟練技術與概念,進而融會貫通。

因此,很多職業工程師下班會做 side project 練習新技術,避免長久待在熟悉的領域流失競爭力。而沒有相關經驗的轉職者,更需要完整的作品集,讓雇主能放心給你 offer。

講到這裡,或許你心裡會 OS:我的作品集要做什麼?

如果你要應徵前端工程師,在 codepen 上已經有很多精美的切版、互動式網頁、CSS 動畫等玲琅滿目的作品可以參考。

但相較於前端,後端作品集的範例少很多。後端的作品集重點不是前端介面,而是需要有結合資料庫、伺服器,有完整功能的網路應用程式,例如一個簡易的購物車系統、會員系統,展現即戰力。

(延伸閱讀:前端、後端、全端工程師 核心技能比一比

四步驟 規劃你的後端求職作品集

我認為,有競爭力的作品集,在題材技術呈現都需要下功夫。在程式工作打滾了 5 年多,從菜鳥工程師到現在有能力帶後輩,我將在這裡分享分享後端工程師作品集的建議。若你想在短期內求職/轉職,向未來的雇主證明你的實力,記得把這篇文章收藏起來!

Yuni 軟體工程師 專長 後端開發 系統規劃

第一步:釐清作品集的目的

想學習新技術自我精進的人,和短期有求職需求的人,side project/作品集的取材方向大不相同。

雖然網路上有許多大大展示好玩的 side project,其重點可能不在技術而是創意。但工程師的 side project 通常是為了實驗新技術,不一定與工作相關,也不一定要求完整性。

如果你的目的是求職,作品就不是好玩就好,而要能展示你的「火力」,也就是技術能力!尤其是沒相關經歷背書的人,更需要作品集證明自己有實作能力,不是只會說得一口好程式。

第二步:用作品集展現後端核心技能

Project Ideas:後端基本作品集的 4 大主題

現在非本科系的轉職者越來越多,而願意考慮這類求職者的面試官,雖然初期的期待不會太高,但還是會希望求職者能展現符合職缺的核心技術,至少能夠處理簡單的後端開發、有學習熱忱,才能放心地給 offer。

換言之,junior 後端工程師的求職者首要目標是「證明自己有基本後端開發的能力」。那麼,什麼樣的後端作品,能夠說服面試官自己有基本能力?

以下提供 4 個後端 side project 的題材方向:

1. Web API 設計與開發

前後端分離蔚為主流的現在,Web API 開發幾乎已成為後端工程師的標配,尤以 RESTful API 最為熱門。以 Web API 為主軸實作的 side project,可以挑選任何需求主題,例如購物車、社群網站等,選擇非常多元,重點在於你如何設計 Web API 的架構

展示重點:

  • Web API 基本設計與開發能力
  • 熟悉程式語言的特性
  • 框架的運用能力(以應徵 Node.js 開發者為例,你也要瞭解 Express.js 框架的基本運用)

延伸閱讀:學習 Node.js / 建立業界實務經驗

2. 資料庫串接與設計

前端的重點在於使用者介面的互動,後端的重點則在於資料的處理,任何資料要能永續儲存,必然少不了資料庫,因此資料庫操作可說是後端必備技能。

關聯式資料庫 (RDBMS) 一直是資料庫中的顯學 ,而近年隨著大數據水平擴充需求的崛起,NoSQL 類型資料庫的應用也越來越多。

以市場需求來說,建議求職者至少熟悉一種關聯式資料庫 (MySQL, MSSQL, etc.),並對 SQL 語法操作有基本經驗。想練習 NoSQL 的話,MongoDB 是目前很熱門的免費選項。

展示重點:

  • 資料庫串接能力
  • 能夠設計相對複雜的資料庫結構建議作品集要包含數個多對多的資料庫
  • 正規化、ACID 等資料庫相關觀念

(延伸閱讀:後端一定要懂的資料庫,學習活用 NoSQL /MongoDB 與 MySQL 資料庫

3. 串接 3rd-Party API

產品級服務往往不會只有一個系統獨挑大樑,而是多個系統互相溝通支援。例如電商拍賣網站的結帳功能,除了自家系統的訂單邏輯處理,通常還需要呼叫第三方金流系統的 API。

因此,除了能自己寫程式,懂得如何看懂文件呼叫第三方 API 也是重要技能。

展示重點:

  • 與第三方系統串接合作的能力
  • 看得懂第三方 API 文件
  • 知名第三方 API 的使用經驗 (如果串接的是 Facebook API、LINE API 等知名 API,通常有額外加分)

4. 測試

在工程師的工作中,測試是很重要的一環,確保你開發的軟體符合需求。若你的作品有附上自動化測試(例如單元測試),除了展現你有寫測試的能力、也證明你是負責任的工程師。

第三步:瞭解面試官怎麼看作品集

即使瞭解後端核心技術,但許多人在構思作品集主題時還是不知從何開始。其實,第一步最重要的是想清楚你的求職方向,面試是很現實的一件事,在有限的曝光機會和面試時間裡,要盡量讓你的每一分付出都能打在觀眾(面試官)的心坎上

因此,構思作品集時,請注意以下三點:

1. 聚焦在雇主要的技術能力

規劃作品集前請思考:「我希望這個作品展示什麼給觀眾?」

面試官看履歷、面試的時間很有限,因此與其準備很多個零碎的專案作品,讓人眼花撩亂,不如集中火力將少數兩到三個專案做深度雕琢,更有助於聚焦

建議你,先將網路上後端工程師的職缺瀏覽一輪,自己想好要展示哪些技術經驗、規劃適合的作品主題,才不會失焦。

2. 與目標職缺、產業的相關性

作品集和目標職缺的相關性越高,越能達到最大功效。相關性有兩個面向:

  • 工具、語言相關性

例如你的職缺目標是「Node.js 後端工程師」,但卻端出「Ruby on Rails 作品集」,做得再好,加分效果還是容易打折。因為面試官還得判斷你是否有足夠能力轉換到 Node.js、能否順利上手這份工作。

與其如此,何不一開始就直接用最簡單直接的方式,寫個 Node.js 的作品,證明你的能力符合這個職缺要求?

  • 產業相關性

作品集不僅證明技術能力,也是面試問答的好題材,讓你獲得更多表現的機會。如果專案主題能夠和目標公司的產業需求有關,更能吸引面試官的興趣。

應徵電商的工程師職缺時,如果你能夠端出購物車、會員系統作品,會讓面試官更有興趣認識你。而且購物車系統雖然老掉牙,但一來這個主題很常見,面試官容易提問;二來購物車已涵蓋了一些常見需求(例如會員系統、Session 機制、商品資料結構設計),有助於讓面試官快速建立「你已經具備處理這些需求的基本能力」的第一印象。

若應徵社群網站工程師,而你自己本身就架過簡單的論壇網站,更能證明自己錄取後可以快速上手。

相反的,如果今天你想呈現自己的 Web API 開發技術,「To Do 代辦清單」是非常普遍的教學範例。雖然是很好的練習主題,但以展示效果而言並不那麼吸睛,容易給人「還在練功」的印象。

當然,如果你很有創意,也是可以把平淡的主題發展成吸睛的作品。但若沒把握,挑一個更接近現實需求的主題、最好能和目標職缺相關,可以事半功倍。

3. 完整性與成熟度

除了技術,面試官也會檢視專案的完整性,因為作品集就像一個小產品,專案的成熟度能展示你對系統的規劃能力,以及對產品開發的瞭解

很多人會有迷思:專案完整等於又大又複雜。但實際上專案完整性和規模沒有絕對關係,例如一個小規模的會員系統可以只有註冊、登入、修改會員資料功能。如果時間有限,你只需要完成幾個基本功能,行有餘力再增加更複雜的功能。

如果無法判斷自己的作品要到多完整,可以參考新創常見的 MVP 思維 (Minimum Viable Product,最小可行性產品), 協助你將作品聚焦在少數但必要的需求。

(延伸閱讀:資深工程師面試怎麼考?技術副總告訴你

第四步:呈現你的作品

開發完成後,你還可以做一點以下工作,讓作品更加分:

1. 加上簡單的前端介面 展示專業度

比起前端專案會有現成的畫面,後端專案常會有資料或架構不易展示的困擾。但畢竟「一張圖勝過千言萬語」,若行有餘力,建議加上視覺化展示。雖然多一點額外功夫,卻能讓亮點更容易被看見,也幫助你在面試時展示和溝通。

例如購物車後端 Web API,就用幾個簡易的前端畫面,呈現和後端串接結果;或是純數據分析的作品集,就找容易上手的既有圖表 Library 將分析結果展現在前端。

後端專案的前端介面不需要動畫之類的華麗特效。雖然說不用花俏,但簡潔不等於簡陋。我看過非常「務實」的展示畫面,沒有任何CSS,整個畫面的元件例如按鈕、欄位,都是預設擠在左上角,連置中對齊都沒有,配上白底畫面,十足像是學生作業,反而讓專業印象扣分。

2. 上傳到 GitHub,並清楚條列技術亮點

版本控制是軟體工程師的必備技能,開源更是近年軟體發展主流。把作品集上傳到 GitHub (或其他版控服務網站) 是必備步驟,即使面試官沒有細看,也能達到以下效果:

  • 暗示自己具備版控、 Git 操作經驗
  • 有開源、與社群接軌的觀念
  • 可以給人一種專業軟體人的印象(誤)

不要期待每個面試官都有時間和耐心,願意深入了解你的作品。因此,在每個專案的 repository 中,請在 README 列出這個專案的目的、功能、使用的技術以及想要解決的問題。總之,直接把你希望面試官看到的亮點列在 README 就對了!

條列式是最推薦的描述方式,讓面試官能快速抓到重點。例如你想展示在這個作品中使用了MySQL,表示有設計關聯式資料庫的能力;或是運用了 JavaScript 的 Promise 技巧減少 callback hell,請清楚寫出來不要模糊帶過。

3. 部署到雲端

把應用程式從本機部署到雲端也是後端工程師的基本能力。初學者可以用快速方便的 Heroku,如果願意花點功夫部署到企業慣用的 AWS 或 GCP,雖然難度更高,但更可以展現專業。

成功轉職後 讓你的作品再升級!

作品集的主題也會隨著職涯階段而改變,當你有後端工作經歷後,通常「基本能力」就不會再被質疑。這時,你的作品集亮點就會是更深入、更進階的軟體開發實務,例如開發框架的原理、安全性和效能優化、撰寫測試、TDD/BDD 經驗、CI/CD 等,有非常多議題值得後端工程師挑戰

以上根據自己的工作經驗,分享如何打造有助於面試的作品集,希望能幫助想轉職後端工程師的朋友增加錄取機會。

延伸閱讀:

想成為專業開發者 如何用作品集打動雇主

前端、後端、全端工程師 誰的薪水比較高?

只需一套課程,就能打通前端、後端、產品開發!