評“馬無夜草不肥:程式設計師做業餘專案的重要性”

hyb3280660發表於2011-11-28
 

程式設計是一種創造過程,業餘專案允許程式設計師在沒有截止日期或各種限制的條件下,以探索形式程式設計。業餘專案之所以重要,有以下幾個原因。

探索新技術

每天都會不斷有新技術出現,而業餘專案則是最佳的試驗場。作為業餘專案,你不必為bug或者效能問題擔心,即使網站崩潰也沒有問題,因為你不靠它來領薪水。

從頭創造

我所從事的大多數都是為現有的產品做一些維護,增加一些新特性,修復bug,解決效能問題,重構現有程式碼。雖然我也從頭編寫過一些軟體,但這些基礎工作只需要一兩個月,接下來我又進入維護模式了。

業餘專案經常需要從頭構建。我喜歡這個步驟,因為我不但複習了已經掌握的所有東西而且把它們應用到建立一個新的(更好的)專案中。

易於啟動

進行業餘專案也是一項避免分析癱瘓(analysis paralysis)的練習。如果你從頭開始會有各種各樣的可能性。避免的方法是給出一個短列表上面列出所有必須具有特性,接下來啟動一個beta版本實現那些特性,即所謂的最小可行性產品。

編注1:分析癱瘓:對某個問題由於過度分析或過度思考某種情況,以至於沒有作出決定或者採取行動。在不同的領域,分析癱瘓有具體的解釋,詳見維基百科Analysis paralysis詞條。

編注2:最小可行性產品:指釋出所必須的最小功能集合,通常作為產品原型釋出給樂於嘗試並提供反饋的客戶。

避免精疲力盡

為你的熱情工作,為樂趣而工作。如果你是一個開發人員,但由於不喜歡現在所從事的工作而感到精疲力盡,試著去做一個屬於自己的業餘專案吧。它會讓你回味為什麼程式設計是如此的有趣。

保持你的技能不會落伍

也許你日常工作使用的是過時的技術。也許你對自己目前掌握的技能感到厭倦,想要去學一些新技術。業餘專案是跟蹤軟體最新潮流的最佳辦法。沒有嘗試過node.js?太好了,用它去做一個小的專案。突然之間,你會發現你有新學會的技術可以炫耀了。

完成你的業餘專案

對於業餘專案,一個問題是它們可能始終沒有完成。剛開始的時候你充滿熱情,但是2個月之後你甚至不記得上一次做專案是什麼時候了。儘管如此,還是應當將專案向前推進並完成它。寫完這些,我要去完成自己業餘專案了。

譯文來自:伯樂線上

原文來自:Raw Syntax

 

===============================================================================

本人經常性的做一些業餘專案,很多都是半途而廢,但是過程卻非常有趣,常常為了實現一個自己想到的功能耗費很多時間。

但這些付出卻是有價值的。因為在這些業餘專案的積累過程中,個人的技術、知識面得以擴充,說不定下次做公司的專案就能用到。

技術和經驗的積累是要靠專案來的,不可能憑空產生,知識的新鮮血液也是如此,永遠不要指望有其他人來指導你學習新技術,必須自己主動去實踐和動手。

相關文章