寫一個自己都喜歡的 side project,是這次鐵人賽系列文章的宗旨。
side project和工作時寫的專案不一樣,工作寫的專案大多是上層規劃好交代下來的,像是老闆有一個願景或是PM將需求整理規劃好,拆分成各項任務,交代給不同的人去執行。一般的工程師大多都是接觸到程式面,也就是把交代下來的任務完成,程式碼寫得漂亮、符合需求、有測試,大抵上就算完成了。比較少參與到概念的蒐集或是發想,要如何解決客戶的問題的過程。
也或許是,工作的專案對你來說並不感興趣,這就只是一份謀生的工作,自己根本無法認同這項產品,就只是單純的一手交錢一手交貨罷了。
因此side project和工作專案最大不一樣的地方是,這是「你的專案」。你可以為了解決某項問題,而發起某項專案,也許只是你自己遇到的問題、也許其他人看到就也想說:「沒錯,我也有這個問題」而感到興趣。因為這是「你的專案」,所以你要做的就不是只有平常在職務上的工作,而是要做完一個解決問題的流程。
這個流程就可能從設計、前端、後端、維運等平常在公司大家分工合作的工作都由自己來做,這樣也就跨出平常所習慣的舒適圈,學一點新的東西、做一點別的東西,就這樣做著做著,學到很多新技能,也能呼應做side project的初心 - 解決某個問題,為自己創造雙贏的局面。
Angular Spotify 是一個我在github上面非常喜歡的 side project
作者用各種所學到的技術,復刻一個spotify網站,跟原本的網站幾乎一模一樣。如果不說,還會以為是到了官方的播放網站。
作者在他的side project裡面,展現他解決問題的能力又證明了他寫程式的能力。假使我是面試官(但我不是),看到他拿這樣的作品來面試,我恐怕無法拒絕他,也不需要再考問什麼了,他已經在他的side project 裡面證明了他的能力。沒有我說不行,只有他說要不要而已的問題,拜託快來上班吧,這樣的感覺。
於是就來寫一個自己都喜歡的 side project吧!剛好寫了一個自己喜歡的side project,剛好可以拿去當面試作品、剛好面試官又喜歡又無法拒絕、剛好就得到一份自己喜歡的工作。一切就是這麼剛好又這麼快樂。