曾有一個剛大學畢業的朋友(以下稱朋友)問我關於求職的問題
朋友: 我非本科系畢業,又沒經驗要怎麼找軟體工程師的工作?
我很隨意的回答: 找個題目做一做,就好有經驗啦。
朋友: 那我要怎找甚麼題目做?
我: 隨便做啊!
朋友: ...
我 : ...
前面這段對話,應該不僅在這邊遇到到過,職場上各式場景都會看到,
總歸就是一句我要做甚麼?
其實,有時候不回答,不是不願意告訴你,而是...我也不知道要做甚麼。
在職場上也是有很多熱心的前輩都很願意分享一些現在比較流行或是有趣的題目讓你做。
但會遇到幾個問題:
最後一點,也是我認為最重要的一點。
當你成為工程師開始的那一刻,就開始成為接收問題,解決問題的那一方。
再有一點規模的公司,可能會需要你看懂規格文件,
小一點的公司,也會有人來告訴你客戶想要開發的項目。
甚至工作一段時間可能還會有機會去聽客戶說一些天馬行空的故事,
必須從故事中找擷取重點,彙編成客戶想要的結果。
既然如此,我們可以從做Side Project的時候就開始練習觀察需求。
我們可以透過幾個管道去發現不同的需求來做我們專案的題目,
像是我們可以看看網路上目前火紅的話題或生活中常見的話題。
例如: 看到某遊戲現在很火,但是官網做得很爛,遊戲物品的資訊給的都不是很齊全、
又或是家中的菜每次都放很久放到忘記 ......等。
我們可以從這些日常上常見的問題去思考,我們應該要做怎樣的題目,
一來通常這類型的題目都比較簡單,二來說不定還可以順帶解決我們日常常見的問題。
做項目的時候每個人都是基於不同的理由去做開發,
開發的方式與目的也都不盡相同。
這邊給一些第一次做項目的建議:
做專案最常遇到的問題就是做到一半就拋棄掉,
即便是在公司中這種現象也不少見。更別說這是一個自主性做的開發。
當我們做一個項目花了大把大把的時間在專案上,
卻不見成效的時候往往會讓人開始怠惰起來,
所以不如一開始我們就設定一個較短周期的專案。
建議一開始做最好把時間在一周內可以完成的小專案,最長也不要超過一個月。
一方面避免時間久了無法堅持下去,也可以避免突如其來的事情讓專案無法持續下去。
當必須組成一個團隊來完成這個項目的時候,不僅需要花時間分配工作,
無法專注在解決問題上,還可能因為人數的增加導致整個專案週期要拉長,
最慘的是當有人中途離開可能會導致專案無法繼續下去。
初出茅廬的程序猿大多都有著遠大的夢想,
想著要做出個甚麼驚天動地的東西出來。
懷抱著這種想法的人10個裡面大概有9.9個最後一個項目都沒做完,
還是乖乖地待在公司裡面當程序猿,最後漸漸的把夢想消磨殆盡。
所以我們在一開始必須訂定一個簡單明確的目標,
最好是覺得以自己目前能力完全能實現的項目。
不僅是Side Project 公司中遇到的專案也都免不了這個步驟,
當你完成項目只是你現有技術的展現,檢討跟之後維護更版才是進步的開始。
想走管理階層的可能可以去注意 時間的控管、或是進度的安排是否合理。
或是想要作一個SA、SD,看看系統的框架是否穩定好維護、
又或是想要精進Codeing技術Design Pattern的運用、
甚至想當起個老闆,那也可以去注意如何去行銷自己的這項產品,
讓這套產品能為自己帶來獲利。
當我們開始面對這些問題的時候,就是進步的開始。
做一個專案簡單來說就是
下一篇開始正式跟大家一起做一個Side Project