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