小李畢業(yè)后在一家公司做軟件工程師,轉(zhuǎn)眼間一年多的時間已經(jīng)過去了。
回想剛畢業(yè)那會,他是懷著無比忐忑的心情進(jìn)入了這家公司的技術(shù)部門。各種新奇的開發(fā)工具,叫不上名字的眾多軟件框架,龐大的代碼庫,井然有序的工作流程,都是小李以前在學(xué)校里不曾遇到過的,這讓他感到了前所未有的壓力。于是,在開始的那半年,小李就像一株久旱的禾苗遇到了雨水,拼命地吸收著工作中遇到的每一點(diǎn)知識。他學(xué)習(xí)新的編程語言,學(xué)習(xí)新的開發(fā)工具,學(xué)習(xí)調(diào)試和解bug的技巧,也學(xué)習(xí)處理各種棘手的業(yè)務(wù)邏輯。雖然每天工作很累,但每天都是滿滿的收獲。
而現(xiàn)如今,小李儼然是一名很有經(jīng)驗的老手了。對于工作中一般的問題,他都能游刃有余地加以解決,無非是把現(xiàn)有的一些內(nèi)部接口重新組合利用,或者按照原有的套路重新設(shè)計改進(jìn)一番。應(yīng)付工作既然比以前輕松了許多,工作的壓力也就顯得沒有那么大了。于是小李平常也能抽出時間來上上網(wǎng),看看美劇,或者打打游戲,有時候也帶著女友去看場電影或者球賽。
然而時間長了,小李心里卻隱隱多了一絲不安。他再也找不到開始那種突飛猛進(jìn)的爽快了,而且當(dāng)對工作越來越熟悉之后,工作本身開始變得枯燥、沒意思。他決定花更多精力在自己的技術(shù)提高上,但卻感覺無從下手,很難突破。每次完成一個新的開發(fā)需求,也只是不斷重復(fù)舊有的東西而已。
成長曲線和四大階段
小李的情況其實非常典型。很多技術(shù)人員在工作一兩年之后,對工作周圍的事情都駕輕就熟了,就可能會陷入第一個瓶頸期,再難突破。
為了能更清晰地分析技術(shù)成長過程中出現(xiàn)的各種情況,我們來對技術(shù)的成長曲線做一個總結(jié)。如下圖:
技術(shù)的成長過程并非勻速線性的,而是分階段的。每個高速增長的突破期后面,都跟著一個平緩的增長期,可以稱為舒適期,也可以稱為瓶頸期。舒適期是針對過去而言的,而瓶頸期的說法則更著眼于未來。
一般來說,突破的過程,絕非輕而易舉,而且有可能伴隨著陣痛。它需要我們付出十分的心力,甚至承擔(dān)一定的風(fēng)險,做成一些原本超出自己能力極限的事情。而一旦過了突破期,各種技能在這個層次上融會貫通,就會給我們帶來極大的自信和成就感。這個時候,處理同一層面的問題,逐漸變得輕車熟路,于是進(jìn)入了舒適期。
舒適期對人有一種天然的吸引力,我們只要待在這個階段,就能獲得最大的安全感,盡量少地遭受不確定性的折磨。很多人會選擇待在這個區(qū)間,不再走出一步。而另一些人則會對這一階段的緩慢增長產(chǎn)生焦慮,于是舒適期變成了瓶頸期,從而引發(fā)下一輪的突破。
以每一次大的突破為分界,我們可以將技術(shù)人員的成長粗略劃分為四大階段:新手、熟手、專家、宗師(開創(chuàng)者)。
新手經(jīng)過半年到一年的工作經(jīng)驗,如果能成功適應(yīng)這份工作,基本就能有所突破,變成一個熟手。熟手的特點(diǎn)是,能對現(xiàn)成的工具充分利用,勝任大部分日常工作。在技術(shù)水平的表現(xiàn)上,他了解大部分的技術(shù)概念,但不一定理解真正的含義;在他的眼中,技術(shù)還無法自成體系,能理解到的知識架構(gòu)還有所殘缺。他解決問題所依靠的,更多是經(jīng)驗而非縝密的邏輯。前面提到的小李,就處于這個階段。
熟手再向上突破一層,則成為技術(shù)專家。專家,在某個領(lǐng)域擁有足夠全面、系統(tǒng)而深入的知識儲備,對于技術(shù)上的疑難雜癥,有能力深入到足夠的層次,指出問題的癥結(jié)所在;另一方面,專家還應(yīng)該能夠完成對具體問題的抽象,擁有“造輪子”的能力。在專家的眼中,技術(shù)的黑盒子被打開,知識點(diǎn)也不再是孤立存在的,而是相互枝連,構(gòu)成一個完整的邏輯系統(tǒng)。
而真正達(dá)到宗師這一級別的,整個世上也寥寥無幾。他們是真正的開創(chuàng)者,能夠引領(lǐng)一個技術(shù)時代。什么樣的人才配得上“宗師”這個稱呼呢?比如Dennis M. Ritchie(C語言和Unix之父),再比如Linus(Linux內(nèi)核的發(fā)明人)。
但就像前面的技術(shù)成長曲線圖所描繪的,技術(shù)的成長階段并沒有一個上限。無論你處在哪個階段,前面仍然存在無限的上升空間。
郭靖的進(jìn)階之路
近日細(xì)讀金庸老爺子的《射雕英雄傳》,忽然意識到,郭靖乃是金庸武俠中天資最為魯鈍的一位主人公。然而,郭靖從一個普通少年,終成長為一代大俠,這一過程,正好暗合了前面講到的技術(shù)成長曲線。
郭靖從六歲開始,在蒙古大漠接受江南六怪傳授武功,花了整整十年。后又得全真教掌教馬鈺傳授內(nèi)功一年有余,武功初入門徑,獲得了武學(xué)上第一個突破(熟手期)。處于這個階段的郭靖,在武功上與同齡的楊康不相上下。
郭靖在武學(xué)上的第二個突破,起因于兩個事件:一個是“北丐”洪七公傳授他降龍十八掌,另一個是老頑童騙他背誦《九陰真經(jīng)》。經(jīng)過一番歷練,在華山頂上,他已經(jīng)擁有了分別與“東邪”和“北丐”過手三百招而保持不敗的戰(zhàn)績。此時的郭靖,已經(jīng)是高手中的高手了(專家)。這第二次突破,他只用了兩年有余。
而郭靖的第三個突破,已經(jīng)是在《射雕》之后了,終于成長為一代武學(xué)宗師。
為什么天資并不出眾的郭靖,卻能夠接連取得突破呢?至少兩個原因不容忽視。一個是勤奮,“人家練一朝,我就練十天”,所以根基打得好;另一個原因是他恰好學(xué)對了東西,降龍十八掌和《九陰真經(jīng)》都是正宗武學(xué),有幸學(xué)到自然是突飛猛進(jìn)。
突破的要領(lǐng)
技術(shù)成長的關(guān)鍵在于突破。
然而,在技術(shù)成長的路上,越到后面,突破的難度就越大。大部分新手,只要保持足夠的勤奮,總能達(dá)到熟手的程度。但很多人卻止步于此,他們或流連于舒適期的誘惑不肯走出來,或長期卡在瓶頸期卻找不到突破的出口。能夠突破達(dá)到專家這一階段的技術(shù)人員,已經(jīng)足夠成為各大公司技術(shù)部門的翹楚了。而要達(dá)到宗師的級別,則不光靠個人的努力,還需要時代的機(jī)遇才有可能。
那么,為了達(dá)到真正的突破,有哪些因素是我們需要重視的呢?
第一,根基。
在接觸一門新技術(shù)或者一個新的技術(shù)領(lǐng)域時,良好的基礎(chǔ)有利于我們快速突破,抵達(dá)下一個階段。不同技術(shù)之間,基礎(chǔ)卻是相通的。比如,對于計算機(jī)軟件學(xué)科的基礎(chǔ)知識——數(shù)據(jù)結(jié)構(gòu)和算法,處于熟手期的程序員可能多半會認(rèn)為它們在工作中根本沒有用。這是因為這個階段的技術(shù)人員主要靠孤立的經(jīng)驗解決問題,一些基礎(chǔ)的知識自然就用不上。但對于技術(shù)專家層次的人來說,數(shù)據(jù)結(jié)構(gòu)和算法卻是在系統(tǒng)設(shè)計的很多方面潛移默化地發(fā)揮作用。對于其它計算機(jī)基礎(chǔ)學(xué)科,這個道理也同樣適用。
再比如,現(xiàn)在人工智能和機(jī)器學(xué)習(xí)技術(shù)比較火,似乎全民都在學(xué)習(xí)。但要想學(xué)好這些技術(shù),至少應(yīng)該對于微積分、線性代數(shù)、概率論、統(tǒng)計學(xué)等數(shù)學(xué)知識有比較扎實的基礎(chǔ),才能走得更遠(yuǎn)。
第二,外因,一個不疾不徐的環(huán)境。
過于寬松的環(huán)境自然不利于人的進(jìn)步,而盲目的緊張也不利于人的成長。
突破的過程需要付出巨大的精力,所以需要投入足夠的時間去從容地完成。我們大概都經(jīng)歷過這樣一種場景:新產(chǎn)品上線在即,但還有很多問題需要解決。如果距離預(yù)定上線時間還有數(shù)天,那么我們可以相對從容地用比較優(yōu)雅的方式來解決這些問題,并做一些長遠(yuǎn)的打算;但如果我們碰到的情況是,兩個小時以后就要上線了,那么我們多半會想一些歪點(diǎn)子來規(guī)避這些問題。
產(chǎn)品開發(fā)和技術(shù)優(yōu)化,有時相輔相成,有時又互相矛盾。如果你所處的工作崗位,只是要求你不停地修改業(yè)務(wù)流程,盲目地試錯,那么,可能公司根本沒有給你留出技術(shù)突破的空間。試想,一個主旨不清,功能點(diǎn)做了新的就扔了舊的,而沒有長遠(yuǎn)的目標(biāo),也不去持續(xù)優(yōu)化體驗,這樣的一個產(chǎn)品,又怎能有持續(xù)的生命力呢?
第三,正確(正宗)的學(xué)習(xí)資料。
新手剛開始工作的時候,通常只要看一些入門教程(Tutorial),跑幾個Demo,掃除了表面上的技術(shù)疑問點(diǎn),再針對業(yè)務(wù)代碼向老員工請教一番,基本就能開始工作了。然后一邊編碼,一邊查閱所需要的API Reference,時間長了,經(jīng)驗和技巧足夠多了,就自然變成熟手了。
而從熟手向?qū)<业耐黄?,則需要系統(tǒng)地去補(bǔ)習(xí)知識架構(gòu)。技巧應(yīng)該建立在對于普遍規(guī)則的理解之上。這里不得不提及Spec,它是涉及某項技術(shù)的完備的、系統(tǒng)的描述,包含該項技術(shù)涉及到的方方面面(具體參見我的另一篇文章《技術(shù)的正宗與野路子》)。在奔向技術(shù)專家的路上,閱讀Spec,是不可逾越的一道功課?!渡涞瘛分泄傅奈涔ν黄疲艽蟪潭壬暇褪且驗樗喿x了《九陰真經(jīng)》這份大大的Spec。當(dāng)然,除此之外,你可能還需要通讀重要部分的API Reference以及Source Code。
技術(shù)專家必然將原始文獻(xiàn)(官網(wǎng)Spec、論文等)作為知識的第一來源。相反,跟著某人的博客去系統(tǒng)地學(xué)習(xí)某方面的技術(shù),是要冒有很大風(fēng)險的,還需慎重選擇。
最后,要想成為技術(shù)上的一代宗師,則需要更高的抽象,做出完全創(chuàng)造性的工作。這份工作不僅僅是閱讀Spec,解決具體的問題了,而是創(chuàng)作Spec,開創(chuàng)全新的天地。
第四,獨(dú)立思考,不要自我設(shè)限。
現(xiàn)在,很多人喜歡把技術(shù)好的人喊作“大神”。這自然是代表一種尊重,很多聽的人也很受用。
但是,“神”的稱呼暗含了一層意思:神是無法超越的,是普通人學(xué)不來的。這是人們在潛意識里劃出的一道鴻溝。所以,我就不太喜歡類似這種稱呼。
很多人碰到問題就喜歡找身邊“大神”去問,但殊不知問再多問題,你仍然無法真正地有所提高。普通人和“大神”之間真正的鴻溝在于,能否獨(dú)立思考和解決問題。
在追求技術(shù)成長的路上,不可能總是一帆風(fēng)順。我們不免有時沮喪,有時欣喜。
人生苦短,有人窮其一生,就是想要達(dá)到理想中的那個狀態(tài)。但不管結(jié)果如何,當(dāng)我們青春不再的時候,只求問心無愧。
-
工程師
+關(guān)注
關(guān)注
59文章
1565瀏覽量
68409
發(fā)布評論請先 登錄
相關(guān)推薦
評論