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