浅谈架构师特点
我總結(jié)了3個階段,如下圖所示。
先說一下各個階段的感受:
1、系統(tǒng)架構(gòu)階段:
系統(tǒng)架構(gòu)實際上包括了 業(yè)務(wù)功能架構(gòu) 和 技術(shù)功能架構(gòu)。
業(yè)務(wù)上,其實有點接近于產(chǎn)品,但是有些問題是與技術(shù)強相關(guān)的,產(chǎn)品不懂技術(shù),他的設(shè)計就存在問題或者隱患,這時候,一個技術(shù)功底好的又有豐富業(yè)務(wù)系統(tǒng)開發(fā)經(jīng)驗的人,就能將這些功能設(shè)計得更好。這就是我說的“業(yè)務(wù)功能架構(gòu)”。
而技術(shù)架構(gòu),與開發(fā)功能、寫代碼,都息息相關(guān),特別是在系統(tǒng)整體框架層面,以及開發(fā)重難點功能的時候,好的技術(shù)手段、算法,能夠開發(fā)出更好的功能實現(xiàn),包括可維護性、性能、穩(wěn)定性、用戶體驗等等方面。
這個階段,我經(jīng)歷特別多,大概有3年半的時間(但算上加班時間,相當于5年以上時間),不一一細講??傊?#xff0c;這個階段負責了很多個的項目,包括工程、代碼管理,重難點功能的設(shè)計實現(xiàn)等。
系統(tǒng)架構(gòu)師的能力,決定了做出來的系統(tǒng)的好壞和質(zhì)量。
2、框架和中間件架構(gòu)階段:
這個階段,不直接面向具體項目,更多的是針對工具、框架、平臺和中間件層面,針對技術(shù)規(guī)范和難點,站在技術(shù)專家的角度思考和設(shè)計。
這個階段的架構(gòu)師,眼里都是技術(shù)細節(jié),以及框架和中間件的架構(gòu)設(shè)計,有非常多的標準(開發(fā)效率、可維護性、可擴展性、性能、穩(wěn)定性等),基本上可以說是完美主義者,對平臺設(shè)計有非常大的追求。亦或是,搗鼓各種技術(shù)和工具,不停測試、對比,整天安裝這樣、安裝那樣——不是運維,勝過運維,不是測試,勝過測試。
在這個階段,對技術(shù)的要求近乎苛刻,而且還要跨多個技術(shù)領(lǐng)域(后端、前端、運維、網(wǎng)絡(luò)...),所以面臨的挑戰(zhàn)很大,要學(xué)習的新東西也太多太多。一直到今天,我在這個方面也不敢說做得多好,只能說,算是熟手了,見多識廣了,有信心了,再復(fù)雜、再高端的東西,我不怕了,但是如果要做到業(yè)界一流水準,還是相當困難的。
這個階段,要做的事情,全都是和技術(shù)相關(guān)的,舉幾個例子吧:
- 負責公司基礎(chǔ)框架及組件選型及維護、二次開發(fā)
- 分布式存儲的選型、推廣、運維支持
- 容器云平臺的搭建、優(yōu)化和推廣
- 監(jiān)控平臺的設(shè)計和搭建
- Kafka、Redis的多機房數(shù)據(jù)同步方案
- ……
做到這個階段,通常會被稱為“高級架構(gòu)”、“大架構(gòu)”,做的事情往往能反映出公司的技術(shù)水平。但不是人人都能做這些事情,即便是非常有天賦的工程師,在這個階段也需要長時間的沉淀,才能稱之為專業(yè)架構(gòu)。
所以說,很多公司,在這方面是很不專業(yè)的,甚至沒有全職的架構(gòu)師來牽頭做這些事情。
3、公司總體架構(gòu)階段
這個階段,更多的是方法論和策略,決策以及溝通,跟蹤執(zhí)行。在這個階段,眼中沒有技術(shù)細節(jié)。眼中有的,是整個公司,整個研發(fā)團隊的效率和質(zhì)量。一切都是圍繞研發(fā)團隊來的,要給研發(fā)團隊指引正確的方向。
比如說,用什么工具,用什么框架,用什么技術(shù),流程怎么設(shè)計,規(guī)范怎么設(shè)計,遇到問題怎么解決,怎么提高效率,怎么避免風險。不是每件事情,都得你親自去做,甚至都不用太關(guān)注細節(jié),但是你得有一個正確的方向和長遠的眼光,去指引和決策。
其實最難的是,技術(shù)、規(guī)范和流程的推廣和落地實施,因為這些事情,可能涉及到很多部門、很多人,有的時候會遇到利益沖突,有的時候遇到特殊情況,有的時候遇到某些團隊只顧眼前。這個時候,需要權(quán)力、決策能力和執(zhí)行能力,還需要一定策略和技巧。
總結(jié):
- 作為一個系統(tǒng)架構(gòu)師,系統(tǒng)沒設(shè)計好,是你的責任;
- 作為一個基礎(chǔ)技術(shù)架構(gòu)師,基礎(chǔ)組件/框架/中間件有問題,是你的責任;
- 作為一個公司總體架構(gòu)師,研發(fā)團隊效率低、風險高,是你的責任。
個人經(jīng)驗:
-
中小型的項目,系統(tǒng)是很好控制的;
-
基礎(chǔ)框架/中間件,難度可能比較大,但是如果技術(shù)能力強,也能hold得住;
-
面對整個研發(fā)體系的團隊,各種人各種事,不太好控制,需要策略,需要轉(zhuǎn)變技術(shù)思維。
所以:
- 領(lǐng)導(dǎo)5個重點項目,可以培養(yǎng)一個系統(tǒng)架構(gòu)師;
- 5年以上技術(shù)經(jīng)驗,兼3年以上框架/中間件相關(guān)經(jīng)驗,如果技術(shù)確實很好,可以成為技術(shù)架構(gòu)師;
- 5年以上基層技術(shù)和管理經(jīng)驗,3個以上公司總體架構(gòu)經(jīng)驗,有方法、有策略、有能力,可以成為技術(shù)總監(jiān);
重點解釋:
多數(shù)人工作經(jīng)驗豐富后,都可以成為系統(tǒng)架構(gòu)師;
但是只有 少數(shù)人 能成為合格的技術(shù)架構(gòu)師,這個得看天分,就像有人數(shù)學(xué)隨便能考140分一樣;
沒有豐富的項目管理經(jīng)驗、沒有出色的技術(shù)天賦和全面的架構(gòu)能力和實踐經(jīng)驗,無法勝任技術(shù)總監(jiān)(或研發(fā)團隊老總)。我見過很多研發(fā)老總都是“偏科的”:有的做過一些項目,但技術(shù)能力和架構(gòu)經(jīng)驗嚴重不足;有的項目經(jīng)驗很少,雖技術(shù)精通一兩項但不全面。這些偏科的人,大多數(shù)情商較高,但技術(shù)能力和架構(gòu)經(jīng)驗不足。
反過來,理論上還有一類人,技術(shù)和架構(gòu)經(jīng)驗很強,但是總體領(lǐng)導(dǎo)和管理能力偏弱。但至今我還沒有遇到這樣的人,側(cè)面也說明了一個很尷尬的情況:真正牛逼的技術(shù)人才,在二線互聯(lián)網(wǎng)企業(yè),是很難出頭的,以至于他們很難走上管理崗位。我愿意相信,技術(shù)牛逼的人,做管理也不會差,但是他們可能不愿意去適應(yīng)復(fù)雜的政治環(huán)境,心里的Diss可能是:我憑技術(shù)實力也能混得很好,干嘛要去應(yīng)付復(fù)雜的人事關(guān)系呢。
最后
引申出技術(shù)人員的一個疑問:未來該如何發(fā)展?
中高端路線有四條:
第一條路,鉆研高精尖的技術(shù),去一線大公司做事,盡量不要去二線城市、二流公司。年薪百萬不是問題。
第二條路,做個系統(tǒng)架構(gòu)師或項目經(jīng)理,最好是在某一行業(yè)和業(yè)務(wù)領(lǐng)域深耕,成為技術(shù)業(yè)務(wù)專家,運氣好的話可以做到部門經(jīng)理、分子公司總經(jīng)理。
第三條路,全面發(fā)展,從項目管理、技術(shù)架構(gòu)做起,積累豐富的研發(fā)經(jīng)驗,進而成為技術(shù)主管、技術(shù)總監(jiān)、部門經(jīng)理、技術(shù)副總等,分管整個研發(fā)團隊。
第四條路,突出的技術(shù)能力 + 敏銳的商業(yè)嗅覺,成為 獨立開發(fā)者、創(chuàng)業(yè)者。
結(jié)合我十余年的工作經(jīng)驗(一二三線城市都待過,具備完整的架構(gòu)經(jīng)驗),下面說一些想法和建議:
其實,專業(yè)技術(shù)人員的路,哪怕十年、二十年都只做個高級程序員,當不上經(jīng)理也做不了架構(gòu)師,也很好了——相對于其他很多行業(yè)來說,能穩(wěn)穩(wěn)當當做一個高級程序員就已經(jīng)算是一個好的出路。每天開心一點、身體健康一點、家庭和睦一點,比有百萬資產(chǎn)更重要。
不是人人都能成為架構(gòu)師、成為經(jīng)理,其中吃的苦,也不是一般人能承受。知名架構(gòu)師冰河,90后,出版了3本書,工作幾年來,幾乎全年無休,五一、國慶、春節(jié)都搭上,晚上9點后還在寫文章、寫代碼,期間父親還患病去世了。IT培訓(xùn)界的先驅(qū),傳智播客創(chuàng)始人張孝祥老師,從C/C++,到PHP、Java,再到Android,親手培訓(xùn)了眾多高薪程序員,并且很多教程向大眾公開,最終自己累到在一線,享年38歲。我以前的一個同事,比我大一歲,工作4年就成了研發(fā)部門經(jīng)理,管一百多人,有一次領(lǐng)導(dǎo)及客戶過來,他帶上幾個骨干去陪同,我等不勝酒力,幾乎是他一人陪東北的客人喝到結(jié)束,客人走后他才倒下,我們抬著他回去的。
總結(jié)
- 上一篇: windows下 解决PHP-CGI 进
- 下一篇: 推荐一款全能的计算器软件