小團(tuán)隊(duì)一般 10 人左右,其中常常是技術(shù)最牛的人做架構(gòu)師(或TL)租悄。所以谨究,架構(gòu)師在廣大碼農(nóng)中的占比大概平均不到 10%。而架構(gòu)師也可以分為初級(jí)泣棋、中級(jí)胶哲、高級(jí)三檔,江湖上真正高水平的軟件架構(gòu)師就更少了潭辈。
所以鸯屿,大部分(超過(guò)九成的)碼農(nóng)干上許多年,還是做不了架構(gòu)師把敢,這是什么原因造成的呢寄摆?
① 碼農(nóng)分為真的能寫(xiě)代碼的,以及自認(rèn)為能寫(xiě)代碼的修赞。
② 真的能寫(xiě)代碼的碼農(nóng)又分為自認(rèn)為寫(xiě)的不錯(cuò)的婶恼,以及真的還不錯(cuò)的。
③ 真的能寫(xiě)不錯(cuò)代碼的碼農(nóng)又分為會(huì)鉆研會(huì)不斷優(yōu)化的榔组,以及安于現(xiàn)狀的熙尉。
④ 會(huì)鉆研的碼農(nóng)又分為喜歡廣度了解新技術(shù)蜻蜓點(diǎn)水的,以及深入鉆研用到知識(shí)的搓扯。
了解廣度的碼農(nóng)又有少部分愿意深入某些技術(shù),喜歡深入研究的又往往缺乏廣度知識(shí)包归。
⑤ 極少深度廣度都關(guān)注的碼農(nóng)又分為為技術(shù)而技術(shù)和為業(yè)務(wù)而技術(shù)的锨推。
純?yōu)榧夹g(shù)而技術(shù)的碼農(nóng)在國(guó)內(nèi)的軟件行業(yè)需求太少,且需求的往往不是應(yīng)用軟件領(lǐng)域了。
⑥ 為業(yè)務(wù)而技術(shù)的深度廣度都了解的碼農(nóng)换可,又需要有良好的溝通能力椎椰。
⑦ 而溝通好的,又有一部分當(dāng)PM去了沾鳄。
⑧ 然后剩下的慨飘,又有一部分慢慢脫離實(shí)際開(kāi)發(fā)(不再做任何實(shí)現(xiàn))或者開(kāi)始依靠拿各種中間件搭積木來(lái)作為“架構(gòu)”手段。
⑨ 除去這些译荞,剩下對(duì)業(yè)務(wù)有一定了解瓤的,對(duì)技術(shù)廣度上有多種涉獵,深度上對(duì)部分技術(shù)研究徹底吞歼,還有很重要的一點(diǎn)圈膏,考慮問(wèn)題足夠細(xì)致全面。
④ 細(xì)致全面善于溝通篙骡,技術(shù)上深度廣度都沒(méi)問(wèn)題稽坤, 又喜歡這個(gè)工作,還會(huì)不時(shí)做底層實(shí)現(xiàn)糯俗,從業(yè)務(wù)和開(kāi)發(fā)兩個(gè)角度出發(fā)尿褪,搭出“架構(gòu)”來(lái)是為了開(kāi)發(fā)效率,為了運(yùn)行效率得湘,為了開(kāi)發(fā)質(zhì)量杖玲,為了業(yè)務(wù)靈活和運(yùn)行穩(wěn)定,為了維護(hù)方便等等這樣的人忽刽,個(gè)人認(rèn)為可以稱為“架構(gòu)師”天揖。
而真能滿足這種需求的,別說(shuō)題主的10%的比例跪帝,1%能不能達(dá)到我也持懷疑態(tài)度今膊。其實(shí)現(xiàn)在的“架構(gòu)師”大多數(shù)都停留在8這個(gè)層次,甚至很多在5這個(gè)層次就當(dāng)上title上的架構(gòu)師了伞剑。
總之斑唬,成為架構(gòu)師,不僅僅是工作上的簡(jiǎn)單積累黎泣,更需要主動(dòng)接納工作外的大量知識(shí)恕刘,同時(shí),對(duì)性格上對(duì)于非技術(shù)能力上也有一定的要求抒倚,不僅如此連思維方式都很重要褐着,外加職業(yè)發(fā)展中又有很多岔路,最后走到架構(gòu)師這根樹(shù)枝上的就寥寥可數(shù)了托呕。
金字塔結(jié)構(gòu)
自古以來(lái)含蓉,金字塔結(jié)構(gòu)(人群分個(gè)三六九等频敛、高中低三檔)在人類社會(huì)的各行各業(yè)中普遍存在,這是客觀規(guī)律馅扣≌遄恐怕再過(guò)千萬(wàn)年,也是如此差油。
人類社會(huì)為什么普遍拗军、長(zhǎng)期存在金字塔現(xiàn)象?其他動(dòng)物蓄喇,比如螞蟻发侵、大雁社會(huì),有嗎公罕?這個(gè)問(wèn)題就很深了器紧,刨根問(wèn)底有難度,也許應(yīng)該問(wèn)上帝楼眷。
金字塔結(jié)構(gòu)/現(xiàn)象從根本上決定了大多數(shù)人做不了軟件架構(gòu)師铲汪。不光軟件工程行業(yè)如此,能做技術(shù)領(lǐng)導(dǎo)的始終必然只是位于中上層的少數(shù)人罐柳。
英文水平差
據(jù)說(shuō)中國(guó)有 700 萬(wàn)碼農(nóng)掌腰,英文不好似乎是一個(gè)比較普遍的現(xiàn)象。英語(yǔ)张吉,尤其讀寫(xiě)不好齿梁,把合格的架構(gòu)師候選人選砍掉一大半。
小富即安的心理
很多碼農(nóng)每月拿到萬(wàn)把塊錢(qián)肮蛹,就心安理得了勺择,不再有更高的追求。求穩(wěn)求安定伦忠,這符合大多數(shù)人的心理省核。不滿于現(xiàn)狀,堅(jiān)持不斷學(xué)習(xí)昆码,努力提高自己的開(kāi)發(fā)技術(shù)和管理水平气忠,擁有強(qiáng)烈進(jìn)取心,想一朝一日做編程高手赋咽、軟件架構(gòu)師的人畢竟是少數(shù)旧噪。
二三流企業(yè)的壓制
架構(gòu)師不是隨便什么人可以做的。在一個(gè)企業(yè)團(tuán)隊(duì)里脓匿,架構(gòu)師作為研發(fā)和管理骨干淘钟,具有特殊的地位和權(quán)利。
知識(shí)結(jié)構(gòu)的缺陷
架構(gòu)師陪毡,程序員日月, 產(chǎn)品經(jīng)理的區(qū)別袱瓮,大概就是建筑行業(yè)里建筑師缤骨,建筑工人爱咬,甲方業(yè)主的區(qū)別。產(chǎn)品經(jīng)理說(shuō)我要建這么這么一棟樓绊起,架構(gòu)師說(shuō)好吧精拟,我來(lái)幫你看看是做成磚木結(jié)構(gòu)還是 框架結(jié)構(gòu),房型怎么設(shè)計(jì)虱歪,水電氣怎么布局蜂绎,預(yù)算多少,然后程序員上陣笋鄙,按照?qǐng)D紙把樓建起來(lái)师枣。運(yùn)營(yíng)是大樓的物業(yè)管理,負(fù)責(zé)營(yíng)運(yùn)大樓萧落。
軟件開(kāi)發(fā)越來(lái)越成為傳統(tǒng)行業(yè)(即便在互聯(lián)網(wǎng)企 業(yè))践美,一個(gè)成熟的軟件團(tuán)隊(duì)內(nèi)部自然會(huì)分化出這些角色,各展所長(zhǎng)找岖。但非常不同的是陨倡,建筑工人很少能自發(fā)成長(zhǎng)為建筑師,后者都是科班出身许布,因?yàn)榻ㄖW(xué)科已經(jīng)高 度發(fā)達(dá)兴革,需要掌握結(jié)構(gòu)力學(xué),美學(xué)等技術(shù)蜜唾,現(xiàn)在軟件行業(yè)還沒(méi)有這么高的成熟度杂曲,程序員和架構(gòu)師接受的都是一樣的計(jì)算機(jī)教育,所以程序員可以自學(xué)升級(jí)到架構(gòu) 師袁余,走一條不同的升級(jí)打怪路線擎勘。
那么,架構(gòu)師是什么人呢泌霍?
按所工作的不同軟件層分货抄,有網(wǎng)絡(luò)架構(gòu),系統(tǒng)架構(gòu)朱转,數(shù)據(jù)架構(gòu)蟹地,業(yè)務(wù)架構(gòu),應(yīng)用架構(gòu)藤为,平臺(tái)架構(gòu)怪与。
按所解決的問(wèn)題領(lǐng)域分,有電商架構(gòu)缅疟,支付架構(gòu)分别,搜索架構(gòu)遍愿,安全架構(gòu),性能架構(gòu)耘斩,游戲架構(gòu)沼填,多媒體架構(gòu),等等等括授。
按其工作的深度來(lái)分坞笙,有集成架構(gòu),業(yè)務(wù)架構(gòu)荚虚,模塊架構(gòu)薛夜,框架架構(gòu),中間件架構(gòu)版述,軟件架構(gòu)梯澜,引擎架構(gòu),服務(wù)器架構(gòu)渴析,甚至編程語(yǔ)言架構(gòu)晚伙。
是不是太亂了?好比在設(shè)計(jì)師的世界觀里一切東西都需要設(shè)計(jì)檬某。軟件也需要精心設(shè)計(jì)撬腾,在優(yōu)秀的程序員眼里,每一行代碼都需要架構(gòu)恢恼!都體現(xiàn)了架構(gòu)民傻。
為了解決問(wèn)題,程序員自然需要架構(gòu)场斑,他們中的佼佼者被冠以架構(gòu)師的名號(hào)漓踢,獲得了一定的話語(yǔ)權(quán),逐步成為一個(gè)職業(yè)分工漏隐,我想喧半,這就是架構(gòu)師的本來(lái)面目。
成為架構(gòu)師青责,需要經(jīng)驗(yàn)和眼界
老碼農(nóng)分為兩種:游擊隊(duì)和板凳王
坐穿板凳有利于積累經(jīng)驗(yàn)挺据,而不利于開(kāi)拓眼界
游遍四海有利于開(kāi)拓眼界,而不利于積累經(jīng)驗(yàn)
碼農(nóng)的生活是高壓的脖隶,唯有熱情可以驅(qū)使你一邊吃著蘋(píng)果扁耐,一邊又去摘梨
然而,又有多少熱情沒(méi)有隨時(shí)間而冷卻呢产阱?