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