參加全棧營已有一個多月,過年在家的兩個星期里,狀態有所松懈,又開始要掉隊了。
在過去的一個月學習過程中,按照Xdite老師的指導,跟著教程反復練習,再加上Job-Listing的魔改嘗試,居然做出了個有點模樣的網站,以此慢慢克服了對代碼的恐懼,甚至開始熱愛上了編程這樣的一件事情。
2017年2月6號的課上,Xdite 又給我們打了一針雞血。
學習編程,從入門到精通究竟需要多久?
作家格拉德威爾在《異類》一書中指出:人們眼中的天才之所以卓越非凡,并非天資超人一等,而是付出了持續不斷的努力。1萬小時的錘煉是任何人從平凡變成超凡的必要條件。
我們都聽說過這個一萬小時定律, 要成為某個領域的專家,需要10000小時,按比例計算就是:如果每天工作八個小時,一周工作五天,那么成為一個領域的專家至少需要五年。
要這么久,五年太長,一萬小時是針對專家的標準,那如果我不想成為專家,只想成為一名合格的普通程序猿,能大致實現我想做的網站項目,或者說能達到足夠應付編程崗位的工作,那需要多長的時間呢?
這里不得不再提“德雷斯模型”。
“德雷福斯模型”分為五個成長階段:
新手(Novice)
- 經驗很少,或只是沒有經驗。
- 打算找到一本絕世秘籍,覺得看完就能成為高手。
- 事實上他們也只能靠SOP。
- 輸入 X => 得到 Y。
SOP即標準作業程序(Standard Operating Procedures),即通過別人寫好的標準教程來實現:輸入X 達到輸出Y 的效果。新手就是這樣通過實踐別人的教程來達到目的,但缺乏經驗與思考,積累不夠。
高級新手(Advanced Beginner )
- 了解基本規則
- 會闡釋用現有規則去解決問題
- 變成想快速找到能夠解決問題的答案
- 對宇宙觀(原理)不感興趣
- 教他們基礎,還是會被忽略掉
- 至少能夠獨立解決許多基本問題
高級新手盡管忽略了很多背后基礎的原理,但這個層次已經具有了一定的經驗,解決問題的能力大幅提升,高級新手這樣的程度也可以獨立地debug一些小問題。
勝任者(Competent)
- 經驗夠多到可以把規則融合起來變成模型
- 可以獨立解決自己遇到的問題
- 或者是之前沒遇到的問題
- 去找答案
- 去找專家
勝任者可以總結出自己經驗、方法,以獨立解決沒遇到過的問題。勝任者不僅能解決問題,還能發現新的問題,他們遇到問題的時候能夠將問題層層肢解,并相應解決。
精通者(Proficient)
- 可以自己提煉出一般的指導架構與方法
- 可以判斷大部分情況的可能性
- 并且針對各種可能性設計解法
- 整體視角思考
- 熟練運用pattern
精通者可以自己總結套路,熟練運用套路。精通者對自己所處的技術領域具有全局思維,能夠充分理解情景,把握情景的細節,自如地運用所掌握的技能,能夠通過有效的反饋與思考調整自己并不斷進步。
專家(Expert)
- 可以用直覺去面對未知問題
- 推進該學科前沿
- 跨領域融合創造新的火花
專家有時候可以用直覺揣測你的疑問,知你所想,你連問題都問不清楚的時候,專家就可以“你是不是想問....”, 如此幫你提問幫你解答。
專家將所有的情境和方法都內化,融匯貫通,專家解決問題更多是根據他們的直覺。
專家可以多維度跨界整合創新,比如既會編程,又會項目管理,那就機會成為很厲害的項目經理。
很令人意外的是,幾乎在各領域,這五種類型的人中,最多的不是新手,不是勝任者,而是高級新手。
- 超過50%的人只有高級新手水平
- 幾乎絕大多數工作,不會超過勝任者階段
- 精通者的比例大概是該領域的10%
- 專家人數大概是該領域的1%以下
如果是需要學到求職的程度,那需要達到什么水平呢,事實上,絕大多數工作只需要高級新手的水平。在各大互聯網公司,BAT可能是需要很多的精通者和專家,但是絕大多數普通的互聯網公司只需要勝任者以下的程序員。
通常一個程序員:
- 第一年新手(初級工程師)
- 第2-3年 高級新手(工程師)
- 第3-5年 勝任者、精通者(資深工程師、架構師)
- 專家
一個領域內,絕大多數的從業者都只有高級新手的水平。在編程領域里,從入門到精通需要多久我們不知道,但如果只是想快速成為高級新手,通過練習專家設計的高頻小套路,你不需要4000小時,或許只需要400小時以下。
學習Ruby on Rails 剛入門一個月,我尚且還在新手的階段,但也看到了成為高級新手的希望,現在還是老老實實積累實踐,總結經驗,反復練習高手所教授的套路吧。
學習編程是一樣非常耗費時間精力的事情,但同時也十分有趣,開始了就停不下來,雖然前期的積累很緩慢,但我也認同它跟英語、寫作一樣,是一件值得長期學習的事情,是一件未來價值很大的事情,是一件能夠產生復利效應的事情,是一件很容易跨界多維度打造競爭力的事情。
保持學習的熱情不容易,在這個階段同時分心學太多其他的課程可能精力不夠,此時要保持絕對的專注放棄一些別的同時兼顧的事情,不然再次入坑,再次由入門到放棄。
打得好一針雞血!
共勉!