編程是一種創造過程,業餘項目容許程序員在沒有截止日期或各類限制的條件下,以探索形式編程。業餘項目之因此重要,有如下幾個緣由。node
探索新技術程序員
天天都會不斷有新技術出現,開始不知道開發安卓應用須要作保護,若是一旦你的一個應用上市場是爲了得到必定的外快,這個就不得不知道。辦法老是比困難多,在你還沒遇到的時候有人遇到了,而且研究出瞭解決辦法——愛加密專業安卓應用加密技術。同時業餘項目則是最佳的試驗場。做爲業餘項目,你沒必要爲bug或者性能問題擔憂,即便網站崩潰也沒有問題,由於你不靠它來領薪水。編程
從頭創造性能
我所從事的大多數都是爲現有的產品作一些維護,增長一些新特性,修復bug,解決性能問題,重構現有代碼。雖然我也從頭編寫過一些軟件,但這些基礎工做只須要一兩個月,接下來我又進入維護模式了。網站
業餘項目常常須要從頭構建。我喜歡這個步驟,由於我不但複習了已經掌握的全部東西並且把它們應用到建立一個新的(更好的)項目中。加密
易於啓動spa
進行業餘項目也是一項避免分析癱瘓(analysis paralysis)的練習。若是你從頭開始會有各類各樣的可能性。避免的方法是給出一個短列表上面列出全部必須具備特性,接下來啓動一個beta版本實現那些特性,即所謂的最小可行性產品[TODO]。orm
編注1:分析癱瘓:對某個問題因爲過分分析或過分思考某種狀況,以致於沒有做出決定或者採起行動。在不一樣的領域,分析癱瘓有具體的解釋,詳見維基百科解釋: http://en.wikipedia.org/wiki/Analysis_paralysisip
避免精疲力盡開發
爲你的熱情工做,爲樂趣而工做。若是你是一個開發人員,但因爲不喜歡如今所從事的工做而感到精疲力盡,試着去作一個屬於本身的業餘項目吧。它會讓你回味爲何編程是如此的有趣。
保持你的技能不會落伍
也許你平常工做使用的是過期的技術。也許你對本身目前掌握的技能感到厭倦,想要去學一些新技術。業餘項目是跟蹤軟件最新潮流的最佳辦法。沒有嘗試過node.js?太好了,用它去作一個小的項目。忽然之間,你會發現你有新學會的技術能夠炫耀了。
完成你的業餘項目
對於業餘項目,一個問題是它們可能始終沒有完成。剛開始的時候你充滿熱情,可是2個月以後你甚至不記得上一次作項目是何時了。儘管如此,仍是應當將項目向前推動並完成它。寫完這些,我要去完成本身業餘項目了。
編注:尋找業餘項目能夠嘗試從Elance、 oDesk或者Freelancer這些網站開始。