整理多篇關於Side Project 的文章重點,涵蓋了主題發想、技術選用、專案管理、成果發表等面向。
1. 精進技術能力,跟上時代潮流
"在網頁開發領域,我常常聽到人們鼓勵工程師保持開發 side project 的習慣,畢竟工作上所用到的技術變化性不大,礙於種種考量也無法隨意在工作中應用最新最閃亮的技術。想要持續精進自己的技術能力並趕上時代的潮流(?),就必須花時間做 side project。" — Kelly CHI, Medium
2. 累積實戰經驗,提升求職競爭力
"對於新手更是如此,畢竟在缺乏實戰經驗的情況下,開發 side project 是求職者最佳的學習方式,也是累積經驗的主要管道。" — Kelly CHI, Medium "在工程師求職路上,Side Project 非常重要,因為作品能幫你說話。當還沒有工作經驗,Side Project 能提升你的說服力,讓雇主相信你有技術能力。" — ALPHA Camp
3. 解決實際問題,展現個人特質
"廣義來說,Side Project 是指用個人時間進行的專案。所以,大至求職面試作品集、小至解決生活問題的小工具、撰寫技術筆記部落格等任何形式,都可以算是 Side Project 。" — ALPHA Camp
1. 從生活中觀察,尋找痛點
"點子從哪來?我認為點子大概可以從以下地方來(以軟體工程師作品為例):
生活中各種觀察:覺得什麼東西不錯?用過什麼覺得好用也想自己做做看?觀察到哪些趨勢或許可以做個什麼來符合某些使用者需求?
遇到的痛點:覺得什麼很難用?用過什麼腦中曾浮現「如果是我來做一定會把 XXX 改成 OOO」的想法?生活中有哪些不方便的地方或重複的機械式例行公事?這些地方是否能透過軟體改善?" — Johnny Fang, Medium
2. 結合自身興趣與專長
"從興趣、專長、經驗延伸:喜歡旅行?那做個旅遊行程分享網站。擅長語言學習?那做個口說練習網站。曾在證券業上班或自己有在投資?那做個股價追蹤軟體。" — Johnny Fang, Medium
3. 參考成功案例,模仿或復刻
"模仿:看看其他人做些什麼,找到喜歡的作品模仿他們做,要不然就復刻市面上有名的作品,例如 Facebook、Twitter、或是你正在看的 Medium,當然不可能 100% 還原,就自己能力所及挑會的功能盡量做。或是也可以做些小遊戲如圈叉、踩地雷、翻牌遊戲等。" — Johnny Fang, Medium
4. 善用線上資源
參考 Bootcamp 學員作品:Appworks School 學員作品、Wehelp bootcamp 訓練成果、六角學院學員作品集
尋找設計靈感: Mobbin, Dribble, Pinterest
1. 以業界需求為導向
"既然是以求職為目的的 side project,那專案所使用的技術也要盡量與業界需求有相呼應。若把公司大致上分為:接案公司、自有產品公司 (其中又分 toB or toC),所需要的技能都會有所不同。在專案的發想階段,可以在人力平台上面瀏覽職缺訊息,掌握目前市場上需要的能力有哪些,並將提到的技術應用在專案中。"— Kelly CHI, Medium
2. 結合課程所學,並多學一點
"side project 的目的除了是為了展現過去學習的成果之外,也不失為一個探索新技能和工具的好機會,因此,我會建議同樣是從 bootcamp 畢業的夥伴,side project 所運用的技術要比課程所教的再多推出去一些" — Kelly CHI, Medium
3. 善用線上資源
使用元件庫加速開發: Material UI, Chakra UI, Shadcn UI
學習使用 BaaS 平台: Firebase, Supabase
深入學習 React 生態系工具: Redux Toolkit, React Query, React Router
1. 設定明確目標,拆解成可執行任務
"開始一個新的 side project 時,前期規劃是很重要的步驟。將專案目標切割成以週為單位小任務,心裡也會比較踏實,不會陷入不知道該從哪裡開始的窘境。" — Kelly CHI, Medium
2. 採用 MVP 原則,避免 scope creep
"一個很實用的指導原則是採用 MVP(Minimum viable product)的概念來思考專案的邊界。在進行開發的時候,這些想法會一再冒出來:「這裡應該可以再加一個 XX 功能」或是「這裡再微調一下就完美了」,然而,各種想法累積起來的結果就是,我們永遠無法「完成」這個專案。 MVP 意味著「最小可行產品」,它是專案的最初始版本,具有足夠的功能來實現專案的核心目標。"— Kelly CHI, Medium
3. 善用工具,提高效率
"使用像是 Notion 等筆記軟體來紀錄我的開發過程,這不但有助於保持自律,讓我能跟蹤任務和目前進度,也是記錄自己成長的一份重要文件。" — Kelly CHI, Medium
4. 善用 AI 工具輔助
"在 AI 時代,ChatGPT 等工具已經成為開發者解決各種程式上的疑難雜症的好幫手,不過,AI 不只能幫我們解 bug,還能當我們的專案規劃助理!從最一開始的概念發想、user story 的列舉、到專案的每週進度規劃,透過和 ChatGPT 一來一往的討論,專案的雛型也呼之欲出。" — Kelly CHI, Medium
1. 將專案部署至雲端平台
程式碼託管: GitHub, Bitbucket
網站部署: Zeabur,GitHub Pages, Netlify, Render, Railway
2. 撰寫 README 文件
"一篇詳細的 README 可以讓人感受到你對專案的用心,也能節省潛在雇主實際去操作網頁的時間 (他們通常沒那個時間去創帳號還有登入)。README 的內容會包括 side project 的核心理念、demo 連結、主要功能介紹、使用指南和一些畫面的截圖。" — Kelly CHI, Medium
3. 建立作品集網站
"如果有多個 side project,可以考慮將它們整理到個人作品集網站上。這樣一來,可以將所有專案集中展示給潛在的雇主或合作夥伴。而作品集網站本身也很值得當作另一個 side project 來經營 (參考我的個人作品集網站)。" — Kelly CHI, Medium
4. 撰寫技術文章
"在 Medium、個人部落格或是 Linkedin 上分享 side project 的開發過程與挑戰。這有助於記錄自己在專案中的成長和反思,也是建立個人品牌和形象的機會。" — Kelly CHI, Medium
1. 慎選合作夥伴
"首先,建議大家先想想對自己而言,這個專案的重要性是什麼?想要做到什麼程度(產品上線,提出優化方案?),想要藉起這個專案達到什麼目標(賺大錢?建立名聲?)。" — Samuel, Hahow
"好的隊友帶你上天堂,壞的隊友則會把你踢下地獄。有些時候耗費大量的時間溝通或合作,其實只是為了在夥伴未來當老闆時能抱他大腿(誤),一次專案的合作,能夠讓你看清楚很多事情,俗話說的好:免錢的最貴。走到現在,我真的覺得這句話非常實在,呃,我只能說這麼多了(逃跑)。" — Samuel, Hahow
2. 釐清專案動機
"做 Side Project 之前,一定要先想想是為了什麼而做。如果我的第一目標是「作品集」,那產品可能就不會有明確的商業計劃,甚至會評估應該要做到哪個階段就可以暫時打住。如果我優先考慮的是「夥伴」,我很有可能會放棄我有興趣的主題,單純考慮合作的夥伴決定是否加入團隊。如果純粹是為了「名聲」,那麼這些人也可能其實只是想紅,在尋找夥伴時務必要慎選。" — Samuel, Hahow
3. 持續學習與優化
"作品集是一項需要持續整理優化的東西,要一次從零開始準備的確困難,平時就要養成整理習慣,並抽空回來重構程式碼等。"— ALPHA Camp
希望這篇整理能幫助你更好地理解如何從發想、規劃到實踐你的 Side Project,祝你玩得開心!
參考資料:
【Day 10】 新手轉職工程師,如何做作品集或 side project?懶人包在這
想要程式作品卻沒靈感?500+專題數據帶你不踩坑!
How to side project? 關於 side project 的小小經驗談
side project 要做什麼?
你也想做 Side Project?9 個你千萬要避開的大坑
前端作品集如何準備:7 種累積作品的方法
後端工程師面試必看,我該準備什麼作品集?
好的 Side Project 和作品集如何做?給新手工程師的懶人包
Side Project 作品集怎麼做?程式初學者就從解決生活問題開始!
有關Side Project Taiwan的簡介
Side Project Taiwan 的宗旨是藉由Side Project開發來成就自我,透過持續學習和合作,共同推動技術和專業的發展。我們相信每一個參與者,無論是什麼專業,都能在這個社群中找到屬於自己的成長空間。
歡迎所有對Side Project開發有興趣的人加入我們,可以是有點子來找夥伴,也可以是來尋找有興趣的Side >Project加入,邀請大家一同打造一個充滿活力且有意義的技術社群!
Discord頻道連結:https://sideproj.tw/dc