
點關(guān)注,不迷路;持續(xù)更新Java架構(gòu)相關(guān)技術(shù)及資訊熱文?。?!
作為程序員,縱然加班繁多,寫的代碼也不少,做出的努力也不少??纱蠖鄶?shù)程序員僅停留在“工程師”的職位上,很少人能走到“架構(gòu)師”,這是為什么呢?本文作者一同和大家探討下。
我們程序員一生都在不斷地學(xué)習(xí),我們從未停下對新技術(shù)、新風(fēng)口的探索,但在技術(shù)不斷提高的過程中,我們總會發(fā)現(xiàn)技術(shù)儲備始終與技術(shù)大牛相差甚遠,幾年前有一張華為總部大樓夜晚燈火通明的圖,放在今天成了不正確的代名詞,可還是會有人講:“那些勤奮的人,終究得到應(yīng)有的殊榮?!?/p>
技術(shù),不在于時間的沉淀
我有個朋友,是個不太出名的賽車手,他的技術(shù)雖然和頂級的F1賽車手相差甚遠,但與大部分出租車司機相比,無論是公路還是山地,駕駛能力都遠超后者。其實他拿到駕照才不過7年。
而一位四十余歲的職業(yè)司機,生涯里的車程不低于30000小時。
我曾經(jīng)問他是不是由于你們的訓(xùn)練方式和上手的車型不一樣?而賽道是崎嶇的山路,并非擁堵的市區(qū)?
他告訴我:“只是要一次比一次快?!?/p>
我們可以把出租車司機視作一位在行業(yè)內(nèi)有很長時間沉淀的程序員,賽車手可以視作一位架構(gòu)師,他們在工作的同時間維度上并無太大分別,但學(xué)習(xí)的方式存在巨大的差異,在19世紀末期,這種學(xué)習(xí)方式就已經(jīng)得到了系統(tǒng)化的分類。
同等時間下的學(xué)習(xí)方式可以分為三種:
玩耍:這個方式的最大特點,在于沒有明確目標(biāo)的開展行動,獲得感在于內(nèi)心的愉悅。例如和朋友一起打籃球,進球取得的勝利當(dāng)然會令人愉悅,但僅僅是玩10000小時,我們依然很達到頂級水平。
工作:每個人最初進入行業(yè)都在這個階段,除去極個別的行業(yè),工作中存在大量重復(fù)性勞動,往往還存在工作內(nèi)容之外的競爭使人分心。工作最大的特點在于利益驅(qū)動,每個人都在為了薪水而努力,當(dāng)對于目前的薪水滿意時,人們很容易陷入舒適區(qū)而進入重復(fù)勞動的階段。
刻意練習(xí):刻意練習(xí),也叫做刻意訓(xùn)練,此類活動的目標(biāo)只有一個,就是為了成為非同凡人的大師而存在,如果僅僅因為喜歡,反復(fù)訓(xùn)練后愛好會被消磨殆盡??桃饩毩?xí)的過程往往極其枯燥,在過程中可能很難短期擁有獲得感和存在感,很多人無法堅持下去。
我們沒有聽說過五十歲還頂在一線的996程序員,也沒有聽說過五十多歲的職業(yè)賽車手,普通司機和賽車手的區(qū)別到底在哪?小白和大牛的差距到底在哪?程序員和架構(gòu)師的學(xué)習(xí)方式在哪里有所不同?
圍棋的學(xué)習(xí)方法,在不同領(lǐng)域是適用性最強的,因為這項運動不分老幼,但頂級的棋手如柯潔,他的年齡并不大,但已經(jīng)數(shù)次站在世界之巔,因為,職業(yè)棋手從不長時間下舒適區(qū)內(nèi)的棋,提高技術(shù)只打譜,在刻意練習(xí)中,這種方法叫做學(xué)習(xí)定式。
學(xué)習(xí)定式
圍棋19條交叉線路的361個網(wǎng)格里,每一個不同線路上出現(xiàn)的棋子,都是一個全新的問題,而破解問題最快的手段不是研究和推導(dǎo),而是直接從最優(yōu)解中選取合適當(dāng)下落子情況的解題方法,稱之為“定式”。
優(yōu)秀的棋手從未在熟練運用一套定式后開始隨心所欲地玩棋,而是在不斷全新的落子復(fù)盤中,從最優(yōu)解的定式中選取方案與之應(yīng)對,這樣永不停滯的學(xué)習(xí)方法造就了當(dāng)下頂尖棋手,稱之“學(xué)習(xí)定式”。
如果棋手數(shù)萬小時不斷打磨技巧的方法論一般,停滯在舒適區(qū)內(nèi)的時間不屬于通往大師的路,程序員向架構(gòu)師進階的路從不是未知等待探索的局,是早有定式可言卻又被無數(shù)人忽略掉最優(yōu)的提高方法。
進階架構(gòu)師,找到屬于自己的定式
定式一:發(fā)散思維
我們經(jīng)??吹綘幷撜Z言高低的言論,其實語言之間并無高低,如果自己帶隊操作項目,團隊里任何語言的人才和工作定位都要優(yōu)秀的架構(gòu)師要考慮的。
我們要有善于學(xué)習(xí)不同語言和不抵觸新技術(shù)的視野,保持對每個主流技術(shù)環(huán)節(jié)瓶頸的關(guān)注,以便更好的設(shè)計架構(gòu)和技術(shù)選型。
定式二:洞察業(yè)務(wù)
沒有不懂業(yè)務(wù)的架構(gòu)師,所有的架構(gòu)都要依賴業(yè)務(wù)而存在,刻意練習(xí)業(yè)務(wù)代碼的輸出也是不可以或缺的基本功。
對于每個公司而言,架構(gòu)師能夠準確看到公司業(yè)務(wù)核心需要解決的問題,“最高層次的規(guī)劃,難以改變的決定”這句話本身用來形容架構(gòu)再恰當(dāng)不過,但進階架構(gòu)師需要對企業(yè)核心業(yè)務(wù)從多性維度產(chǎn)生的思考和分析,需要長期不斷的洞察和揣測。
定式三:練習(xí)溝通
溝通的重要性不亞于技術(shù)能力,“知識的詛咒”里講到越是在獨立領(lǐng)域鉆研度深的專家,對話時容易產(chǎn)生的誤區(qū)越多且越復(fù)雜,甚至?xí)莼蓛蓚€專業(yè)術(shù)語交互活動。
優(yōu)秀的架構(gòu)師需要協(xié)調(diào)每個環(huán)節(jié)不同技術(shù)領(lǐng)域的大牛,甚至跨部門和產(chǎn)品、運營、項目等達成有效溝通,從練習(xí)理解每個人的意圖,和明確向團隊表述自己的意圖至關(guān)重要。
很多人在學(xué)習(xí)技術(shù)的時候擔(dān)心自己起步晚,也有很多人在技術(shù)穩(wěn)定時失去對未來的眼光,默然冷視因為年齡大被更新?lián)Q代掉的人。
其實不妨想想,需要面對危機的是每個人,能夠直視危機并找對自己進階方向的人不但能夠成為翹楚黑馬,更能在競爭愈加激烈的行業(yè)內(nèi)成為不可或缺的人。