我從1萬小時編程中學到了什么
12年前有人告訴我,你至少需要10,000小時才能說自己在某方面是專業的。對此我并不理解。假設我每月至少工作160小時,那么我每年工作1,920小時,除去五周的假期,那就是1,720小時。由于在這些時間里,我不可能100%都用來寫代碼,所以扣掉30%的話,最終差不多是每年1,000小時。
但是現在,12年過去了,在歷經12,000小時的編程后,我理解了。我剛讀到的亞里士多德的一句話,完美地描述了這個過程。
重復不停地去做一件工作,這個工作就會變成我們本身。到那時,杰出就不是一個動作,而是一種習慣了。(亞里士多德)
在這12年里,我有足夠的時間去涉獵至少15種編程語言。有一些我很喜歡,而有的則是我討厭的,還有一些是我必須學習的。
前言
在大學時我稍微涉及了一點Java和Prolog,然后就去學習工作公司專有的腳本語言。在那里,我無意中地學習了ActionScript、Adobe Assembla、HAXE、Python、Qt和C ++。在家里,我用Assembla和C做了一些硬件項目。而現在作為自由職業者,我專注于Objective-C、Swift、Scala、SQL、Ruby和Android Java。
有很多很多用于不同目的的工具。知道哪些工具適用于什么樣的項目是很有必要的。如果我不知道的話,會浪費我數個小時甚至最高數天的時間來制作原型。經驗讓我更快、更高效。
現狀
從技術上看,我越來越發現項目或多或少都是容易的。我的經驗告訴我如何開始,如何構建和如何完成產品。所以我現在真正明白了10,000小時的意義所在。我需要面向市場的產品,但我沒有經驗。我不像現在這樣使用過15種不同的工具,也不像現在這樣知道哪些最適合個別的情況和目標。
回想起我的第一個程序,非常可憐,但這是我們邁開的第一步。從第一個小程序開始,然后是第一個博客,第一次營銷活動,第一首歌。我們往哪個方向邁出第一步,往往是開始最重要的一個步驟,然后需要持之以恒的毅力。我知道我的一些博客很幼稚,但這些都是我通往10,000小時的旅程中所必須經歷的。我也很肯定,很多我的營銷活動都會失敗,但我會從中得到學習和提高。
我的經驗教訓
現在,我偶然進入了一個新的我毫無經驗的領域,而我很重視我所獲得編程經驗。然后我開始明白經驗的真正意義。
我們年紀越大,我們就越怕學習,因為我們認為我們應該已經知道這一切了。我們懂得越多,學得更快,但我們不應該停止學習。我們學得更快,就不需要花費10,000萬小時就可以取得成功。而這是成為專家的必經之路。
因此,我從10,000小時的編程中所學到的是,經驗是我們學習的杠桿。保持學習,體驗和實現。永遠心懷感激。
我們可能爬了很多山,但我們大多數人都不會在我們的有生之年登上珠穆朗瑪峰。只要值得,就去做。
譯文鏈接:http://www.codeceo.com/article/programming-10000-hours.html
英文原文:What I have learned from 10,000 hours of programming
翻譯作者:碼農網 – 小峰