第1階段:機(jī)會
你很開心,你一直想學(xué)這個新的內(nèi)容,比如說某編程語言,無論是規(guī)劃還是環(huán)境所迫,總之你終于有這個機(jī)會學(xué)習(xí)了。
第2階段:沒有根據(jù)地樂觀
谷歌搜索——挑選一兩個自己感興趣的教程,買資料和書,然后開始MOOC(大規(guī)模在線開放教程)。教程很有趣,甚至還有在線REPL,可以讓你玩耍,你覺得你正在進(jìn)步中。當(dāng)然也有煩惱——手指還不熟練,但你堅持,不肯放棄,并準(zhǔn)備向你的第一個項目進(jìn)軍。
第3階段:絕望的深坑
你開始從“Hello, World”延伸開去,例如,先是將內(nèi)容更改為“Hola,Mundo”這樣小心翼翼的嘗試,然后膽子稍微肥了點,開始肆無忌憚了——于是乎,錯誤信息,堆棧跟蹤,隨機(jī)行為紛至沓來。即使不管所有的錯誤信息,那些能在教程中正常工作的代碼,也許你親自操刀的結(jié)果卻是一片空白。你恍然發(fā)現(xiàn),哪怕是一些看上去愚蠢但良性的細(xì)微差別,也會造成狂風(fēng)暴雨,讓你陰溝里翻船,陷入絕望的深坑。即使是簡單的任務(wù)都讓你痛苦不已,你開始懷疑自己,懷疑自己其實壓根就沒有編程的天分。
第4階段:放低身段
慢慢地,通過試驗和錯誤的洗禮,通過向同事、StackOverflow、博客尋求幫助,你開始一點一滴地積累知識。你開始懂得如何顯示數(shù)據(jù),如何與數(shù)據(jù)庫進(jìn)行交流,如何創(chuàng)建接口,如何覆蓋方法。雖然你還并不能真正理解上述任何一個的工作原理,但是在不斷掌握這些神奇的咒語,擴(kuò)充知識領(lǐng)域的同時,完成一些特定的、必要的任務(wù)漸漸變得不在話下。對于有的咒語,你可能會用得非常順手,甚至在一些有問題的情況下也生搬硬套,覺得只要完成就好,哪怕內(nèi)心明白自己這樣做并不對。調(diào)試是一種挫折鍛煉。無論是因為自我覺得目標(biāo)已經(jīng)實現(xiàn),計劃將時間放到其他地方,還是因為太難因此望而怯步,亦或是自詡已經(jīng)掌握了專業(yè)知識從而做出了自認(rèn)為理智的選擇,總而言之很多人止步于這一階段。
第5階段:黎明的到來
到了這一階段,由于你已經(jīng)積蓄了足夠多的信息片段,于是開始能夠找到它們之間的連接。你開始能夠靈活應(yīng)用知識,而不是像之前那樣生搬硬套。你對一些基本規(guī)則開始有所謂的直覺,開始從死板地遵守向接收知識轉(zhuǎn)變。這也是一個不均衡的過程——對這方面心意相通的同時可能仍然困惑于另一方面——但是你有信心一步一步地拿下,你開始享受這個過程。
第6階段:專業(yè)
一段時間以后,你完全掌握了基本模式,開始覺得編程就像吃飯那樣輕松自然。你已經(jīng)可以直觀地了解事物的工作原理,并且在架構(gòu)、編碼和調(diào)試之間輕松斡旋。一般說來你已經(jīng)不必刻意地去思考問題,就像你從家里到商店去買東西——你知道怎么走,如果有一些新造的道路,你也能瞬間權(quán)衡不同的選項,并選出一條佳的路線。此時,碰到問題難的應(yīng)該是問題本身,而不是操作系統(tǒng)來支持你想要它做什么事情。
第7階段:成就
你現(xiàn)在已經(jīng)是一個有著多年經(jīng)驗的專家了。你投入的時間和精力通通有了回報。你寫博客文章,助力開源項目,成為了同行中公認(rèn)的專家。這儼然成為你的身份和榮譽,也成為了你的枷鎖,你的所作所為需要匹配專家這個名頭。突然有一天,新生事物出現(xiàn)了。你內(nèi)心也明白,這個新事物很好,將會很有用,能幫助輕松解決現(xiàn)有工具不足以解決的問題,將會是未來的潮流。但與此同時,你清楚地知道成為專家所需要付出的努力和時間,需要再次感受不足和挫折,需要去向他人求助等等,你不愿意了,你退縮了。你寧愿閉上眼睛,墨守陳規(guī),將自己蜷縮成一團(tuán),就好像枯萎的枝干慢慢死去。