Side Project 作品集怎麼做?程式初學者就從解決生活問題開始!

Side Project 作品集是轉職工程師最重要的武器。到底有沒有技術實力,就是看作品集!ALPHA Camp 在社群帶學生做作品集,幫助新手從「一個想要解決的生活問題」出發,開始做作品集。學生怎麼只應用課程所學,就做出了好玩專案?學習教練,又給大家哪些作品題目與靈感的建議呢?


做 Side Project,為了求職面試,也建立動手做習慣

在學習總教練 Victor 大力推動下,AC 社群掀起大家都來做 Side Project 的熱潮。但等等,Side Project 不是求職面試時要用的作品集嗎?有那麼容易?學到一半的人,也可以做嗎?其實,就像 Victor 鼓勵大家的那句話:新手就要開始做 Side Project!

廣義來說,Side Project 是指用個人時間進行的專案。所以,大至求職面試作品集、小至解決生活問題的小工具、撰寫技術筆記部落格等任何形式,都可以算是 Side Project 。

在工程師求職路上,Side Project 非常重要,因為作品能幫你說話。當還沒有工作經驗,Side Project 能提升你的說服力,讓雇主相信你有技術能力。但有作品集當然不夠,重要是要能說出起心動念、想解決什麼問題、怎麼定義問題,怎麼解決問題,這才是雇主想知道的。

回頭理解 Victor 的話:新手就要開始做 Side Project,是建議大家初學程式就要養成與建立動手做的習慣,為日後求職與工作提早做好準備。這是 Side Project 的核心精神、也是魅力所在。無論想要應用所學、累積技術或抵達求職彼岸,這都能讓你從中累積經驗、甚至找到寫程式的樂趣,持續前進。

好的 Side Project 和作品集如何做?給新手工程師的懶人包


怎麼開始?先求有,再求好

在 Mini Demo Day 中,Victor 首先展示了他做的 Discord chatbot,這個 bot 會推給同學打氣或督促學習的話,bot 更開放同學能運用 Git 在裡面自行投稿新的句子。Victor 說自己只花了 2 個小時完成專案,其中寫程式的時間佔得很少,大部分時間是花在拆解問題、然後參考 Discord 官方文件,運用適合的套件來達成想要的功能。

「Side Project 的重點不在寫程式,而是先把問題拆解到適當的大小,還有運用既有套件來幫助你解決問題也是很常見的事。」Victor 強調重點是「麻雀雖小,五臟俱全」,做 Side Project 不需要你花太多時間,就像打造最小可行性產品(MVP)一樣,重點是在你鎖定的小範圍中,完成基本功能,關於優化都是「以後再說」。如果一開始專案範圍想太大,很容易因為「花了時間卻看不到成果」,而越寫越挫敗,最後就不了了之。

他提醒,學新工具就像開車。沒有人在剛學開車時,就去研究引擎如何運作,一定是先專注在學會開車上。做 Side Project 也一樣,先專注完成目標,日後有需要、有興趣某些主題,再去研究。


你也可以做出這些小而美的專案!

桌遊記錄系統

AC 學員 Vanessa,分享他為喜歡玩桌遊的朋友建立的紀錄系統,想解決「桌遊玩一玩,常常忘記誰當過關主、誰還沒當過關主」的難題。所以這個專案,提供了「紀錄每次完成關卡、與隨機抽取關主」的功能。

Vanessa 在做專案前,先透過從流程圖來分析需求,發現系統結構並不複雜,只需要用 AC 學期 2-1~2-2 課程有教的技術就足以應付,他秉持著「先成功再說」的想法,做好基本功能,就先上線,未來如何優化就等到以後再說,這也是新手在做 Side Project 可以特別注意的,能讓你更專注完成眼前的目標,而專案的延展性不該是你現在的焦點。

Vanessa 也說,一開始會想做這個專案只是娛樂用途(因為自己也是桌遊愛好者)而已,但過程中發現,正是因為做的是自己會「用得上」的網頁,所以做得很開心、很有成就感,有更大的動力想要完成。

AC 社群小精靈自動管理系統

AC 校友、現為後端工程師的翊廷,則是幫 AC 社群小精靈 (管理員) 製作了管理 Discord 的 chatbot,功能是能針對學員常見的問題做自動化回覆,如果被判斷需要專人回答、非辦公時間時,bot 則會自動回覆說「小精靈會在明天上班時間幫你處理」。

翊廷說,寫程式不難,最難的是在構思。你要解決什麼問題?問題的定義又是什麼?他說過程中,很容易不小心越弄越大,記得請夥伴把你拉回來。

文組轉職電商工程師,Kate 做了哪些 side-project 獲得面試官青睞?


給程式新手的 Side Project 提案

現在,你也對做 Side Project 躍躍欲試嗎?那就來看看 AC 學習教練 Yunju 給程式新手 (例如剛學程式 2 個月的人) 的提醒與題目靈感吧。Yunju 建議,新手做 Side project 最好以純學習與熟練技術為主要目標,所以適合從以下方向著手:

  • 復刻簡易頁面(例如 instagram, twitter, Google 首頁)
  • 用 if-else, for loop 練習印數字 / 三角形等經典程式入門練習
  • 結合 JavaScript & DOM,可以試試看打造小工具 / 小遊戲:計算機、井字遊戲
  • 練習特殊版面的切版,像是手刻箭頭、上彎月等

若想做出一些常見的網頁功能,則可以往下面這些方向發展:

  • 不同視覺檢視 (View) 切換
  • 清單排序
  • 彈出選單 / 下拉式選單
  • 即時預覽文字 / 顏色改變

想再更進階一點,除了基本頁面流的細膩、流暢度、框架的熟練度,還可以再多延伸:

  • 狀態管理 (Vuex, Redux, etc)
  • 動畫
  • Firebase
  • Measure page quality (https://web.dev/measure/)
  • 資料
  • 測試
  • 部署 (AWS, GCP)
  • Docker

若看完上面的建議還是沒有 idea,那就⋯⋯挑一個你喜歡的網頁,直接開始複製吧!別忘了,「把想法變成實際,就是身為工程師的任性和浪漫!」,一起動手吧!

和同學一起做 side-project,你也可以成功轉職百萬年薪工程師

點我免費領取非本科轉職工程師指南!