選擇一個合適的 Side Project,對於任何想要提升自己技術能力的工程師來說都是很重要的事,這不只會大大的提升自己的技術能力,在未來的職涯上也很有很大的幫助。但是,要如何選擇一個適合自己的 Side Project 是一個首要的目標,因為總要有主題才有辦法開始做後面的事,而不是直接開始就寫程式了,直接開始寫我覺得是比較進階的做法。然而,選擇一個合適的 Side Project 並不是那麼簡單,該從哪裡開始呢?在這篇文章中,我將分享我的經驗和一些實用的建議,幫助找你到那個適合的 Side Project。
選擇一個 Side Project,看起來好像就只是個簡單的決定,畢竟不就是挑選一個你想要的主題而已嗎?但我們不單只是決定要做什麼,更要考慮各種因素,像是學習成效、時間投入、技術挑戰和最終成果是否有實際意義。這些考慮往往會讓人感到焦慮,甚至難以做出決定。
我列出了一些在這個過程中經常遇到的問題,讓我們一起來看看吧。
完美主義是許多開發者的天敵。很多人一開始就希望專案能達到完美的標準,然後自我懷疑或害怕失敗,導致不敢開始。像是可能會問自己:「我真的能完成這個專案嗎?」這樣的想法可能會阻止你開始行動,甚至一開始就設定了過高的期望,反而無法推動專案前進。
一開始的時候,我們通常會充滿熱情。但隨著時間的推移,特別是在專案遇到技術困難或進展緩慢時,我們的動力可能會逐漸減弱,或是乾脆放棄。
這個是在現實生活中常見的狀況,平常我們都有繁忙的工作,除此之外還有家庭朋友、娛樂等等許多的事情,這些可能會佔據大量時間和精力,而且也要找空檔休息,這使得難有足夠的時間來進行專案。時間分配的挑戰也常常讓人感到壓力,尤其是當你在工作和專案之間難以取得平衡時。
看到其他人在社群中分享自己的成功專案,可能會感到壓力,甚至覺得自己的專案相比之下不夠好。
獨自進行專案時,可能會感到孤單,缺乏支持和鼓勵,尤其是在遇到困難時。
了解了這些常見的困難後,我們來就看看如何一步步解決這些問題吧,讓你能夠選擇並順利進行 Side Project。
完美主義往往會讓人不敢開始,有時也因為追求完美而卡在某些細節上,最終無法推進,我就有很嚴重的這種症頭。解決完美主義的最好方法就是先完成,再優化,知道就算失敗也是學習的一部分。可以將專案劃分為多個小階段,每次先將精力放在完成一個階段的目標,然後再進行後續的優化。先把核心功能實現出來,不必一開始就追求所有細節的完美。
時間管理壓力是選擇 Side Project 時最大的現實挑戰之一。根據自己的時間安排,合理設定專案範圍,並記錄時間排程。不要給有過高的期望,Side Project 應該是生活中的學習時間,而不是額外的負擔。
不管找人一起合作完成 Side Project ,或是請人監督,其實都很有幫助。重點就是有人在你身邊,有種一起完成的感覺,不只會減輕壓力,更可以創造友情。
在進行 Side Project 的過程中遇到技術瓶頸時,AI 工具可以提供很大的幫助。我在專案中經常使用 ChatGPT 來幫助解決技術問題和學習,特別是在我卡關的時候,它能提供很多的建議和解學方法。
我是一名全端工程師,之前完全沒做過 side project,請簡單列出幾個適合新手的side project
選擇一個你感興趣的領域,這樣你在開發過程中會更有動力。興趣不僅能保持動力,也能讓你享受專案開發的過程。
選擇一個可以讓你學習新技術或提升現有技能的主題。如果你想增強前端能力,可以選擇畫面較符雜的項目。如果你想學習後端技術,則可以選擇一些與 API 開發、資料庫設計相關的項目。
想一想日常生活中遇到的問題,或者是認為可以改進的事情。Side Project 可以是直接解決日常生活或工作中的某些困難。這樣的專案不僅具有實際應用價值,還能帶來更強的成就感。
也就是說本來就會的技術或是想法,Side Project 不需要一開始就非常龐大,而是根據時間和技能來慢慢擴展的。選擇一個能稍微突破一點點舒適圈的專案,也不至於感到壓力過大。
選擇一個具有靈活性和可擴展性的專案,這樣在專案的不同階段,可以根據自己的進展來調整規模。例如,像購物網站這樣的專案,可以從基本功能開始,慢慢加入更多複雜的功能,如果時間有限,可以簡化版本。
考慮市場上的需求或趨勢,選擇一個有實際應用價值的專案,不僅能讓你學到技術,也能幫助你在未來的職場上脫穎而出。關注當前的技術趨勢,選擇那些能展示你技能並有助於未來職業發展的專案主題,這樣能讓你的 Side Project 更具競爭力。
在這樣的多重考量下,我是如何選擇我的 Side Project 的呢?
我的目標很清楚,我想要透過 Side Project 來練習技術,而不是專注於做出一個真正的產品。所以我選擇了開發一個購物網站,並以毛小孩用品作為主題。為什麼是購物網站呢?因為可以全面練習我的全端能力,從前端設計到後端開發,再到資料庫操作,幾乎涵蓋了全端開發的各個層面。
購物網站也是一個非常靈活的專案類型,可以根據實際狀況來調整要完成的範圍和難度。如果我在開發過程中發現某些部分太過複雜,或者時間不夠,我可以簡化功能,集中精力在某些核心技術上,這樣專案既不會半途而廢,也能有效提升我的技能。
這樣的專案設計不僅讓我能夠深入探索技術,還能隨時調整開發的難度,這對於像我這樣的初學者來說非常有利。
選擇 Side Project 是一個挑戰,但同時也是一次充滿成長的旅程。最重要的是開始行動,而不是一直擔心失敗或追求完美。Side Project 是實驗技術、探索興趣的絕佳機會,不論專案最終成效如何,只要你從中學到了新的技能與經驗,那麼這個專案就是成功的。
每一個挑戰都是一個學習的機會。當你走過這段旅程後,不僅能在技術上有所突破,更能在心態上得到成長。