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