贈與那些斗志昂揚卻漫無目的的程序員的建議
我偶然看到幾則訊息,來自于一些漫無目的卻斗志昂揚的程序員:
Hello,大家好!我剛剛學會 Erlang/Haskell/Python 語言,現在我急需一個大大的項目來驗證我的能力,如果各位有什么好主意,請告訴我哦!
或者
我熱愛 Linux 和開源,并且非常希望能啟動一個項目以回饋社會。有沒有什么重要的程序原先只在 Windows 下運行的,而現在你想要來個 Linux 版本的?我非常愿意和你協作。
這種完全搞錯了方向的請求真心讓我無語。解決問題的關鍵不是看你有沒有編程語言或者操作系統或者軟件的許可證。說實在的,解決現實中的問題光憑許可證那肯定是不行的。話說,你會相信一個不搞音樂的家伙寫的樂譜嗎?會相信一個從沒專業地使用過 Photoshop 做的 ps 嗎?關于這消極的一面我就不多說了。
下面是我給這些來咨詢的人的建議:
先好好想想所有的個人愛好,然后試著用它們去解決相關的小問題。例如,我是跟著鼓機的節拍練習吉他的,但是我希望能夠在循環的鼓聲中加入一些智能化的元素,如我停頓的時候能自動填充,以及會偶爾產生個小變化等等。那么我該怎么做呢?我先是寫了一個簡單的鼓測序程序——甚至都沒有 GUI(圖形用戶界面)——然后測試。又比如,我拍了很多照片,這樣我就能使用標注而不必再看像 Adobe Lightroom 這種***程序的眼色了。
有兩個要點要牢記:(1)保持簡單,(2)成品是實際有用的。
一旦做出能夠運行的東西,接下來的工作就是一步步改進,不要老想著一下子就能寫出一個能發布的***版本,殊不知一口吃不成個胖子,這樣只是徒增壓力而已。要用長遠的角度看自己寫出來的程序和應用,一點一點讓它們蛻變,直到有一天變成蝴蝶輕舞飛揚。按照這種方法,你猜猜,我是否能用 HTML5 來實現照片分類器的前端界面呢?
如果我們能夠堅持不懈、持之以恒,那么我們將會成為這方面的專家。 即使是狹義的,或許只是跟我們的問題相關的小領域里的專家,但是,那也是專家了。成為專家會產生一個挺有意思的邊際效應:有些先前看起來十分嚇人、似乎是不可能的改進工作或功能特性,我們現在就可以嘗試著開始去做了。而我們的程序通過改進或許立馬魅力爆棚,吸引廣大用戶的關注。
譯文鏈接:http://news.html5tricks.com/advice-to-aimless-excited-programmers.html
翻譯作者:IT 新聞 – 蔣麗麗