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