雙生說(shuō):曹樂(lè)是典型學(xué)霸,清華本碩,多年互聯(lián)網(wǎng)大廠研發(fā)經(jīng)驗(yàn),所以“資深”。我剛到新部門(mén)的時(shí)候,約各位合作部門(mén)的Leader請(qǐng)教,也算幫我做新崗位入職的“平穩(wěn)降落”。印象最深的,就是作為技術(shù)Leader的曹樂(lè),一點(diǎn)都不像技術(shù)——他和我談對(duì)業(yè)務(wù)的理解,各個(gè)維度的見(jiàn)解與想法,讓人印象深刻。然后,他很熱情的幫我安排了他團(tuán)隊(duì)幾個(gè)同學(xué)的1-1,幫助我了解了更多從技術(shù)視角對(duì)業(yè)務(wù)與技術(shù)團(tuán)隊(duì)協(xié)同、共創(chuàng)的思考。后來(lái),開(kāi)始深入合作,發(fā)現(xiàn)合作的技術(shù)同學(xué),不僅僅技術(shù)上追求精進(jìn),而且是真正的也能夠跳出來(lái)去看業(yè)務(wù)全局。能跳出來(lái),能跳進(jìn)去。
這封信,是曹樂(lè)寫(xiě)給團(tuán)隊(duì)的。如何成為技術(shù)大牛(來(lái)自另一學(xué)霸同事的評(píng)論,感謝):尋找范式、刻意練習(xí)、及時(shí)反饋;垂直打透、橫向遷移、深度復(fù)盤(pán);聰明人要下笨功夫。
Enjoy~
很多同學(xué)都有關(guān)于工程師該如何成長(zhǎng)的問(wèn)題,大家普遍對(duì)如何成長(zhǎng)為牛人,如何獲得晉升,如何在繁忙的工作中持續(xù)學(xué)習(xí)充滿了困惑,這其實(shí)是每一位同學(xué)成長(zhǎng)過(guò)程中必經(jīng)之路。最近幾次1-1也和同學(xué)聊過(guò)這方面的問(wèn)題。在這里也想跟大家分享一下我的一些心得。
同學(xué)們普遍對(duì)成長(zhǎng)充滿了焦慮感。工作太忙沒(méi)時(shí)間學(xué)習(xí),需求太多太瑣碎感覺(jué)自己沒(méi)什么進(jìn)步,做技術(shù)是不是做到35歲以后就沒(méi)人要了,等等,都是對(duì)成長(zhǎng)焦慮的體現(xiàn)。在這里我想說(shuō)的是,這種焦慮是正常的,所有的渴望,在內(nèi)心的投射其實(shí)都是焦慮。任何一個(gè)渴望成長(zhǎng)的人,不管處于什么階段,一線工程師,架構(gòu)師,還是總監(jiān),副總裁,其實(shí)內(nèi)心中都是充滿了焦慮的,無(wú)一例外。對(duì)于這種焦慮,我們所要做的是接納,而不需要過(guò)度擔(dān)憂。這種焦慮并不是說(shuō),想明白如何成長(zhǎng)了就會(huì)沒(méi)有了,到了某個(gè)階段就會(huì)沒(méi)有了的。成長(zhǎng)的腳步和期待一刻不止,內(nèi)心的焦慮也一刻不會(huì)停歇。正是這種焦慮感,驅(qū)使你寫(xiě)代碼追查問(wèn)題到星夜,驅(qū)使你犧牲休息娛樂(lè)的時(shí)間和一本本厚厚枯燥的書(shū)作伴,驅(qū)使你不斷努力向前,不舍晝夜。相反的,如果內(nèi)心中沒(méi)有這種焦慮,反而是值得擔(dān)憂的。這可能說(shuō)明已經(jīng)習(xí)慣呆在自己的舒適區(qū)了。在現(xiàn)在這樣一個(gè)高速發(fā)展的社會(huì),以及我們這樣一個(gè)高速發(fā)展和變化的行業(yè),失去對(duì)成長(zhǎng)的渴望和焦慮反而是一個(gè)非常危險(xiǎn)的信號(hào)。
所謂的程序員35歲危機(jī),其實(shí)背后的根本原因是,有太多太多人在工作幾年以后,就覺(jué)得自己什么都會(huì)了,之后的十幾年工作只不過(guò)是頭2-3年的簡(jiǎn)單重復(fù)而已。在我們這樣一個(gè)行業(yè)里,在招聘的時(shí)候,如果擺在管理面前的兩個(gè)人,一個(gè)是初出茅廬或剛工作2-3年,充滿了對(duì)成長(zhǎng)的渴望;另一個(gè)工作十多年了但水平和工作2-3年的人差不多,只是更熟練一些,不過(guò)在舒適區(qū)已經(jīng)躺了十年了。如果負(fù)責(zé)招聘的是你,你會(huì)做出什么樣的選擇?
而另一方面,其實(shí)是高端人才在行業(yè)內(nèi)的極度極度稀缺。大家可以想一想,我們部門(mén)上一次招聘到D10及以上的同學(xué)是什么時(shí)候?從業(yè)務(wù)平臺(tái)部2016年中成立到現(xiàn)在,一個(gè)都沒(méi)有過(guò)。D9同學(xué)也是鳳毛麟角,一年能招到1-2個(gè)就足夠可以偷著樂(lè)了。面試碰到牛人的時(shí)候,就如同相親碰到女神一樣激動(dòng)。這其實(shí)在行業(yè)內(nèi)是非常普遍的現(xiàn)象,真正的大牛太稀缺了。在這樣一個(gè)行業(yè)里,如果一個(gè)人能夠持續(xù)成長(zhǎng),能力和工作年限成正比的持續(xù)提升,這樣的人,任何時(shí)候在行業(yè)里都是被瘋搶,怎么可能會(huì)遇到任何年齡的危機(jī)呢?
每一個(gè)業(yè)務(wù)平臺(tái)技術(shù)部的同學(xué),都應(yīng)該立志成為這樣的大牛,持續(xù)學(xué)習(xí)和成長(zhǎng)。
如何學(xué)習(xí),其實(shí)是有方法論的,那就是刻意練習(xí)。所謂的10000小時(shí)成為大牛的理論是片面的,如果只是簡(jiǎn)單重復(fù)10000小時(shí),是不可能成為大牛的??桃饩毩?xí)包含了三個(gè)步驟。第一,找到你要學(xué)習(xí)的這個(gè)領(lǐng)域體系的范式(pattern);第二,針對(duì)每個(gè)范式刻意的反復(fù)學(xué)習(xí)和練習(xí);第三,及時(shí)反饋。
大家在過(guò)往的工作和學(xué)習(xí)生活中,或多或少都在實(shí)踐著刻意練習(xí)。拿面臨高考的中學(xué)生舉例子,好的學(xué)生通常是把一門(mén)功課拆成了很多知識(shí)點(diǎn)(尋找pattern),然后針對(duì)知識(shí)點(diǎn)以及他們的排列組合,有針對(duì)性的反復(fù)做各種難度的題(刻意練習(xí)),每次做完題都對(duì)一下答案看看正確與否,如果錯(cuò)了就思考,記錄,復(fù)盤(pán)(持續(xù)及時(shí)反饋)。這樣的學(xué)習(xí)方法就是事半功倍的。而事倍功半的學(xué)習(xí)方法,就是不分青紅皂白拿起一本習(xí)題或卷子就拼命做,我上學(xué)的時(shí)候身邊不少同學(xué)非常勤奮但成績(jī)并不好,多半都是這個(gè)原因。再舉一個(gè)我最近在學(xué)打羽毛球的例子,正確的學(xué)習(xí)方法是把打羽毛球拆解成步法和手上動(dòng)作,小碎步,米字步,正反手挑球,放網(wǎng),正手和頭頂高遠(yuǎn)球吊球殺球等(尋找pattern),然后針對(duì)每一個(gè)動(dòng)作反復(fù)練習(xí)(刻意練習(xí)),然后請(qǐng)教練或者錄下來(lái)看視頻糾正自己的動(dòng)作(及時(shí)反饋);而錯(cuò)誤的學(xué)習(xí)方法是,上來(lái)就盲目找人打比賽,以賽代練,這樣的進(jìn)步是很慢的,而且錯(cuò)誤的動(dòng)作形成習(xí)慣以后未來(lái)反而很難糾正。
當(dāng)學(xué)習(xí)方法不正確的時(shí)候,刻苦的學(xué)習(xí)常常只是看起來(lái)很勤奮,并沒(méi)有應(yīng)有的效果。當(dāng)接觸一個(gè)陌生領(lǐng)域的時(shí)候,錯(cuò)誤的學(xué)習(xí)方法是不帶目的性,上來(lái)就找一堆相關(guān)的大部頭開(kāi)始啃。而正確的學(xué)習(xí)方法應(yīng)該是快速梳理該領(lǐng)域的知識(shí)點(diǎn),形成框架體系(尋找pattern),這里有些小竅門(mén)可以快速構(gòu)建起一個(gè)領(lǐng)域的知識(shí)點(diǎn)體系,例如看一些該領(lǐng)域的綜述性或開(kāi)創(chuàng)性的文章(看論文,別瞎看網(wǎng)上的文章),或者找本該領(lǐng)域綜述性的教科書(shū)看它的目錄(注意,好的教科書(shū)的目錄往往就是這個(gè)領(lǐng)域的知識(shí)框架,內(nèi)容倒不一定非要看下去)。然后,針對(duì)每個(gè)知識(shí)點(diǎn),找書(shū)里的相關(guān)章節(jié),該領(lǐng)域相關(guān)paper里的相關(guān)section深入學(xué)習(xí),建立起自己對(duì)這個(gè)知識(shí)點(diǎn)的理解(刻意練習(xí))。最后,再把知識(shí)點(diǎn)和現(xiàn)實(shí)工作中的情況(自己工作,或其他公司相關(guān)的工作)進(jìn)行對(duì)照(及時(shí)反饋),從而建立對(duì)一個(gè)知識(shí)點(diǎn)的深度理解,最后融會(huì)貫通建立對(duì)一個(gè)領(lǐng)域的理解。這樣說(shuō)可能有點(diǎn)抽象,拿我當(dāng)年學(xué)習(xí)分布式存儲(chǔ)的過(guò)程為例子,先結(jié)合自己的工作內(nèi)容梳理出需要深入了解的知識(shí)點(diǎn)(例如,元信息組織,Meta Server設(shè)計(jì)和HA,副本組織和管理,Recovery,Rebalance,單機(jī)存儲(chǔ)引擎,數(shù)據(jù)/元信息流,糾刪碼,一致性,多租戶,存儲(chǔ)介質(zhì),網(wǎng)絡(luò)環(huán)境和IDC等等),同時(shí)看很多綜述性的材料,梳理分布式存儲(chǔ)的知識(shí)點(diǎn)(有網(wǎng)上各種整理的比較好的文章,也有從各種系統(tǒng)實(shí)現(xiàn)的paper里抽出),不斷迭代構(gòu)建分布式存儲(chǔ)領(lǐng)域的知識(shí)點(diǎn)(尋找pattern,這是最難的一個(gè)過(guò)程);然后針對(duì)每一個(gè)知識(shí)點(diǎn),找相關(guān)材料進(jìn)行深度學(xué)習(xí),例如,對(duì)于分布式一致性,需要閱讀CAP理論,Paxos的論文,Raft的論文等等以及周邊的很多材料(刻意練習(xí));然后找各種系統(tǒng)實(shí)現(xiàn)的論文或文章,比如GFS,Dynamo,Aurora,OceanBase,Ceph,Spanner等等,看看和對(duì)比它們?cè)谝恢滦陨鲜侨绾慰紤]和取舍的,當(dāng)然,最重要的是結(jié)合自己工作中的反復(fù)實(shí)踐和所學(xué)知識(shí)點(diǎn)進(jìn)行比對(duì)(及時(shí)反饋)。這三個(gè)階段并不是割裂的,而是周而復(fù)始的,經(jīng)常會(huì)在刻意練習(xí)和及時(shí)反饋的學(xué)習(xí)過(guò)程中,發(fā)現(xiàn)自己遺漏的知識(shí)點(diǎn),或者發(fā)現(xiàn)自己梳理的兩個(gè)知識(shí)點(diǎn)其實(shí)是重合的。通過(guò)這種交叉比對(duì),以及在實(shí)踐中不斷檢驗(yàn)的方式建立的知識(shí)點(diǎn)是非??陕涞氐?,而不會(huì)看了幾篇論文以后就人云亦云。拿分布式存儲(chǔ)的一致性舉例子,如果不是反復(fù)對(duì)比、思考和反復(fù)實(shí)踐,你不會(huì)發(fā)現(xiàn)GFS論文里最難的一段,多個(gè)Writer對(duì)一個(gè)文件進(jìn)行append的邏輯,在實(shí)踐中根本沒(méi)用;你也不會(huì)發(fā)現(xiàn)看起來(lái)優(yōu)雅而學(xué)術(shù)的CAP三選二的理論,實(shí)踐中壓根不是這么完美,很多時(shí)候只能三選一;你也不會(huì)發(fā)現(xiàn)Dynamo論文里的Vector Clock,網(wǎng)上有無(wú)數(shù)文章?lián)u頭晃腦的解讀,但在Amazon的應(yīng)用場(chǎng)景里是個(gè)典型的over design,Cassandra在這點(diǎn)就務(wù)實(shí)很多。
這時(shí)候大家可能會(huì)有個(gè)疑問(wèn),工作本身就如此繁忙了,哪里能抽出足夠多的時(shí)間去學(xué)習(xí)?
其實(shí)工作和學(xué)習(xí)本身,是不應(yīng)該被割裂的。工作本來(lái)就應(yīng)該是學(xué)習(xí)的一部分,是學(xué)習(xí)中的實(shí)踐和及時(shí)反饋的部分。學(xué)習(xí)如果脫離工作的實(shí)踐,其實(shí)是非常低效的。因此每個(gè)同學(xué)應(yīng)該對(duì)自己工作所在的這個(gè)技術(shù)和業(yè)務(wù)領(lǐng)域進(jìn)行系統(tǒng)性的學(xué)習(xí),并在工作中反復(fù)實(shí)踐和驗(yàn)證。不同的領(lǐng)域之間其實(shí)是融匯貫通的,當(dāng)你對(duì)一個(gè)領(lǐng)域精通并總結(jié)出方法論以后,很容易就能上手別的領(lǐng)域。因此花幾年實(shí)踐徹底研究透一個(gè)領(lǐng)域,對(duì)于剛工作幾年的同學(xué)來(lái)說(shuō),是非常重要,甚至是必須的,也只有在一個(gè)領(lǐng)域打透之后才談得上跨領(lǐng)域遷移,去拓展自己的知識(shí)面。更直接的說(shuō),對(duì)于一個(gè)領(lǐng)域還未完全掌握的同學(xué),深度是最重要的,不用想廣度的事情,等掌握了一個(gè)領(lǐng)域之后,再去拓展廣度就變得很容易了。這里一個(gè)常見(jiàn)的誤區(qū)是,學(xué)習(xí)的內(nèi)容和工作的領(lǐng)域沒(méi)有太多直接的關(guān)系。例如,我以前曾經(jīng)花了非常大的功夫去讀Linux內(nèi)核的源代碼以及很多相關(guān)的大部頭,幾乎花掉了我將近兩年的所有空閑時(shí)間,然而在我這些年的工作里,幾乎是沒(méi)有用處的,最多就是有一些“啟發(fā)”,ROI實(shí)在是太低了,現(xiàn)在也忘得差不多了。更重要的,軟件工程是一門(mén)實(shí)踐科學(xué),從書(shū)本上得到的知識(shí)如果沒(méi)有在實(shí)踐中應(yīng)用和檢驗(yàn),基本上是沒(méi)有用處的。舉一個(gè)例子,很多優(yōu)秀的架構(gòu)師,盡管日常工作中可能反復(fù)在用,但未必說(shuō)得出開(kāi)閉原則,里氏替換原則,迪米特法則等等,反過(guò)來(lái),對(duì)面向?qū)ο笤O(shè)計(jì)這7大原則出口成章的人,很多其實(shí)離真正的架構(gòu)師還遠(yuǎn)得很,有些甚至只是博客架構(gòu)師而已。實(shí)踐遠(yuǎn)遠(yuǎn)比看書(shū),看文章重要得多,上文所述的我構(gòu)建自己分布式存儲(chǔ)知識(shí)體系的過(guò)程,看起來(lái)好像都是看材料,看論文,而實(shí)際上80%的收獲都來(lái)源于帶著理論的實(shí)踐,和從實(shí)踐中總結(jié)沉淀的理論。因此,徹底搞明白自己工作所在的技術(shù)和業(yè)務(wù)領(lǐng)域,是最務(wù)實(shí)高效的做法,工作和學(xué)習(xí)割裂,會(huì)導(dǎo)致工作和學(xué)習(xí)都沒(méi)做好。
這時(shí)候大家可能會(huì)有另一個(gè)疑問(wèn),感覺(jué)日常工作非?,嵥?,學(xué)不到什么東西,怎么辦?
如果把學(xué)習(xí)分成從書(shū)本中學(xué),和從工作中學(xué)這兩種的話,那毫無(wú)疑問(wèn),工作中的“知識(shí)密度”,比起書(shū)本的“知識(shí)密度”,肯定是要低很多的,因?yàn)闀?shū)本里的知識(shí),那都是人家從他們的工作中抽象總結(jié)出來(lái)的。這也是為什么大家普遍覺(jué)得日常工作“瑣碎”。然而工作中每個(gè)點(diǎn)滴的瑣事與平凡,都是可以抽象總結(jié)成為方法論的,更別說(shuō)工作所在的領(lǐng)域自身的博大精深了。從日常工作中學(xué)習(xí)的秘訣,就是“行動(dòng)中思考”。
對(duì)于每一個(gè)軟件工程師,最重要的兩個(gè)能力,是寫(xiě)代碼的能力和trouble shooting的能力。并且,要成為優(yōu)秀的架構(gòu)師,出色的開(kāi)發(fā)能力和追查問(wèn)題的能力是一切的基礎(chǔ)。提高寫(xiě)代碼的能力的核心,首先在于堅(jiān)持不斷的寫(xiě),但更重要的,在于每天,每周,持續(xù)不斷的review自己之前的代碼;同時(shí),多review牛人寫(xiě)的代碼,比如是團(tuán)隊(duì)里你覺(jué)得代碼寫(xiě)的比你好的同事,比如社區(qū)里以代碼漂亮著稱的開(kāi)源代碼(作為一個(gè)C++程序員,當(dāng)年我的榜樣之一是boost庫(kù))。一旦覺(jué)得自己之前的代碼不夠好,就立刻復(fù)盤(pán),立刻重構(gòu)。更重要的是,多思考自己代碼和好的代碼之間不同之處背后的為什么,通常這就是為什么這些代碼更好的背后的秘密。特別要說(shuō)明的是,代碼規(guī)范除了知道是什么外,要格外重視思考每一個(gè)代碼規(guī)范背后的為什么。代碼規(guī)范的每一句話,背后無(wú)一例外都是一片江湖上的血淚史。要提高trouble shooting的能力,關(guān)鍵在于要深度復(fù)盤(pán)自己遇到的每一個(gè)問(wèn)題,包括線上的,包括測(cè)試發(fā)現(xiàn)的,尋找每一個(gè)問(wèn)題,每一次事故背后的root cause,并且思考后續(xù)如何避免同類問(wèn)題,如何更快的發(fā)現(xiàn)同類問(wèn)題。要對(duì)團(tuán)隊(duì)內(nèi)外遇到的所有問(wèn)題都要保持好奇心,關(guān)注一下周邊的事故、問(wèn)題背后的root cause。Trouble shooting能力的提高是幾乎無(wú)法從書(shū)本上得到的,完全來(lái)源于對(duì)每一個(gè)問(wèn)題的深度思考,以及廣泛積累每一個(gè)問(wèn)題。對(duì)于架構(gòu)師而言,可能未必在一線寫(xiě)代碼了,但看團(tuán)隊(duì)中一個(gè)架構(gòu)師是否真正牛逼的一個(gè)很重要標(biāo)準(zhǔn),就是看他是否能夠追查出團(tuán)隊(duì)其他同學(xué)查不出來(lái)的問(wèn)題。我見(jiàn)過(guò)的一個(gè)真正牛逼的架構(gòu)師,對(duì)于系統(tǒng)中疑難雜癥,通常問(wèn)幾個(gè)問(wèn)題,就能大致猜出是哪里出的問(wèn)題,以及可能的原因是什么,準(zhǔn)確程度如同算命,屢試不爽,令人嘆為觀止。
對(duì)于一個(gè)架構(gòu)師,除了更加優(yōu)秀的代碼能力和trouble shooting能力外,需要構(gòu)建相對(duì)完整的當(dāng)前技術(shù)領(lǐng)域的知識(shí)體系,需要有體系化的思維能力,需要對(duì)技術(shù)所服務(wù)的業(yè)務(wù)要有非常深入的了解。體系化的思維能力,來(lái)源于兩個(gè)方面。一方面是在日常工作中,對(duì)每一個(gè)接口設(shè)計(jì),每一個(gè)邏輯,每一個(gè)模塊,子系統(tǒng)的拆分和組織方式,每一個(gè)需求的技術(shù)方案,每一個(gè)系統(tǒng)的頂層設(shè)計(jì),都要反復(fù)思考和推敲,不斷的復(fù)盤(pán)。另一方面,需要大量廣泛的學(xué)習(xí)行業(yè)內(nèi)相似系統(tǒng)的架構(gòu)設(shè)計(jì),這其實(shí)就是開(kāi)天眼,只是技術(shù)相對(duì)來(lái)說(shuō),行業(yè)內(nèi)的交流更加頻繁,淘寶、美團(tuán)、百度、Google、Facebook、Amazon等各個(gè)公司介紹系統(tǒng)架構(gòu)的論文和PPT鋪天蓋地,需要帶著問(wèn)題持續(xù)學(xué)習(xí)。除了技術(shù)領(lǐng)域本身外,架構(gòu)師需要非常了解業(yè)務(wù)上是如何使用我們的系統(tǒng)的,否則非常容易o(hù)ver design,陷入技術(shù)的自嗨中,這也是為什么我說(shuō)Amazon Dynamo論文里講的Vector Clock是個(gè)over design的原因。另一方面,很多時(shí)候技術(shù)上繞不過(guò)去的坎,可能非常復(fù)雜的實(shí)現(xiàn),往往只需要上層業(yè)務(wù)稍微變通一下,就完全可以繞過(guò)去,這也是為什么我說(shuō)GFS論文里,多個(gè)Writer同時(shí)Append同一個(gè)文件是個(gè)根本沒(méi)用的設(shè)計(jì)(實(shí)際上Google內(nèi)部也把這個(gè)功能去掉了)。這也是為什么我在咱們部門(mén)內(nèi)反復(fù)強(qiáng)調(diào)大家需要深入了解業(yè)務(wù),因?yàn)檫_(dá)到同樣的業(yè)務(wù)目標(biāo),可能稍微改一下產(chǎn)品方案就可以讓需求的技術(shù)實(shí)現(xiàn)變得無(wú)比簡(jiǎn)單。只有真正知道上層業(yè)務(wù)是如何使用系統(tǒng)的,才可能真正做好架構(gòu)。 深入了解業(yè)務(wù)并不難,對(duì)于每個(gè)同學(xué),只要對(duì)于每一個(gè)接到的需求,對(duì)于每一個(gè)需求評(píng)審中的需求,對(duì)于周邊同學(xué)或團(tuán)隊(duì)要做的需求,都深入思考為什么業(yè)務(wù)要提出這個(gè)需求,這個(gè)需求解決了業(yè)務(wù)的什么問(wèn)題,有沒(méi)有更好的方案。遇到不明白的多和周邊同學(xué)、產(chǎn)品、運(yùn)營(yíng)同學(xué)請(qǐng)教。最怕的是自己把自己限定為純粹的研發(fā),接到需求就無(wú)腦做,這等于放棄了主動(dòng)思考。衡量一個(gè)人是不是好的架構(gòu)師,也有一個(gè)方法。對(duì)于一個(gè)需求,如果他給出了好幾個(gè)可行的方案,說(shuō)這些方案也可以,那些方案也可以,往往說(shuō)明他在架構(gòu)師的路上還沒(méi)有完全入門(mén)。架構(gòu)師的難點(diǎn)不在于給出方案,而在于找到唯一的那一個(gè)最簡(jiǎn)單優(yōu)雅的方案。
總結(jié)起來(lái)看,行動(dòng)中思考,就是始終保持好奇,不斷從工作中發(fā)現(xiàn)問(wèn)題,不斷帶著問(wèn)題回到工作中去;不斷思考,不斷在工作中驗(yàn)證思考;不斷從工作中總結(jié)抽象,不斷對(duì)工作進(jìn)行復(fù)盤(pán),持續(xù)不斷把工作內(nèi)容和全領(lǐng)域的知識(shí)交叉驗(yàn)證,反復(fù)實(shí)踐的過(guò)程。
在工作所在的技術(shù)和業(yè)務(wù)領(lǐng)域中刻意練習(xí),加上行動(dòng)中思考,就是成為技術(shù)大牛的秘訣。
看起來(lái)方法也不復(fù)雜,為什么大牛還是非常稀少?
盡管我們通篇都在講方法,但其實(shí)在成為技術(shù)大牛的路上,方法反而是沒(méi)那么重要的。真正困難的,在于數(shù)年,數(shù)十年如一日的堅(jiān)持。太多人遇到挫折,遇到瓶頸,就覺(jué)得手頭的事情太乏味枯燥,就想要換一個(gè)方向,換一個(gè)領(lǐng)域,去學(xué)新的技術(shù),新的東西。而真正能夠成為大牛的,必須是能夠青燈古佛,熬得住突破瓶頸前長(zhǎng)時(shí)間的寂寞的,必須是肯下笨功夫的聰明人。因此,和堅(jiān)持相比,方法其實(shí)并沒(méi)有那么重要。
和大家共勉。
(完)
<img src="https://img2018.cnblogs.com/blog/852983/201905/852983-20190524141346744-1122517577.jpg" width = "50%" height = "50%" align=center />