背景:
今天接到一個哥們兒的電話,說,很郁悶,想和我聊聊。
我問,有啥郁悶的事情啊,說來聽聽。
他說,最近很郁悶,我本來今年的計劃是成為一個架構(gòu)師,但是,無論如何努力,都不知道為什么,感覺希望很渺?!?/p>
這哥們兒其實是一個很努力的家伙,曾經(jīng)是我Team里技術(shù)最好的程序員,對一個技術(shù)不鉆明白不罷休的那種程序員。
我給他電話里說了說我一直想說,但一直都沒有時間說的話,那就是:為什么你總是成為不了架構(gòu)師?
一、什么是架構(gòu)師?
其實架構(gòu)師的概念并不是從程序開發(fā)專業(yè)一誕生就有的職位概念,架構(gòu)師(Software Architect)僅僅是最近幾年提出來的一個職位,貌似Software Architect的概念是IBM提出來的。然而,架構(gòu)是什么樣的一個職位,就像云計算一樣,看起來很美,但是,每個人都有自己的理解。
很多人認(rèn)為,架構(gòu)師就是系統(tǒng)分析師,是拿到系統(tǒng)需求進(jìn)行分析的人,錯!如果系統(tǒng)只是系統(tǒng)分析,那么架構(gòu)設(shè)計誰來弄?
有人認(rèn)為架構(gòu)師就是架構(gòu)設(shè)計的人,畫畫UML,寫一寫文檔之類的人,錯!畫UML就是設(shè)計嗎?畫圖的人有了,設(shè)計的人是誰?
還有人認(rèn)為架構(gòu)師是從屬于項目經(jīng)理,只管設(shè)計,而沒有任何權(quán)利的人,錯!如果設(shè)計的決策權(quán)交給項目經(jīng)理,那么這個設(shè)計是有分量的嗎?
架構(gòu)師是什么?
我們先不回答,我們先來看看在架構(gòu)師概念出現(xiàn)前的一些職位提法。
在架構(gòu)師概念出現(xiàn)前,微軟是我們大多數(shù)軟件企業(yè)的研發(fā)機(jī)構(gòu)設(shè)置的樣板,當(dāng)時比較流行的職位搭配是——技術(shù)經(jīng)理+項目經(jīng)理。
ok,當(dāng)然也有很多企業(yè)實際上,技術(shù)經(jīng)理和項目經(jīng)理是一個人。
也就是大多數(shù)企業(yè)當(dāng)時是采用的開發(fā)主管負(fù)責(zé)制,即:技術(shù)+團(tuán)隊+項目,的負(fù)責(zé)人。
當(dāng)我們把“項目經(jīng)理”剝離出開發(fā),僅僅對項目進(jìn)度以及為項目推進(jìn)而排除各項外部障礙時,其實負(fù)責(zé)開發(fā)技術(shù)和開發(fā)團(tuán)隊的人就是“技術(shù)經(jīng)理”了。
如果,我告訴你,之前所謂的技術(shù)經(jīng)理其實就現(xiàn)在的架構(gòu)師,可能我們大家就更容易理解了。
沒錯,就是這樣的,如果“架構(gòu)師”的設(shè)計失去了“發(fā)言權(quán)”、“技術(shù)方向的決策權(quán)”、“團(tuán)隊人員的開發(fā)資源調(diào)配權(quán)”,那么我們可以想見,這個設(shè)計是多么的無力!!
因此,什么是架構(gòu)師?
架構(gòu)師是具有技術(shù)發(fā)言權(quán),方向決策權(quán),和團(tuán)隊人員開發(fā)資源調(diào)配權(quán)的開發(fā)團(tuán)隊的TeamLear,也是這個程序的設(shè)計者,當(dāng)然他是這個程序團(tuán)隊的靈魂!!
因此,不想當(dāng)Teamleader的程序員,絕對不可能成為真正意義上的架構(gòu)師!
同時,不是Teamleader的架構(gòu)師,也是一個被架空的,蒼白無力的架構(gòu)師!
二、如何才能用架構(gòu)師的思想去思考?
架構(gòu)師,如果只是把需求變成程序,那就不是架構(gòu)師,那是叫“照著葫蘆畫瓢”。
架構(gòu)師,如果只是精通各種框架,比如S\S\H之類的技術(shù),只是利用S\S\H之類的技術(shù)去描述用戶提出的需求,那是叫“用S\S\H畫瓢”。
ok,不賣關(guān)子,那么怎么思考就是架構(gòu)師應(yīng)該去思考的方法?
首先告訴你,進(jìn)行沒有設(shè)計的架構(gòu)設(shè)計叫架構(gòu)師嗎?
這種情況在軟件行業(yè)內(nèi)太普遍了!!
為什么沒有設(shè)計?
因為,很多人都不懂什么叫設(shè)計!!
給大家一個概念,什么是設(shè)計?——
設(shè)計因未來而存在!
——鐘聲 2010年6月
沒有面向未來的,只是面向過去的,那絕對不是設(shè)計,那絕對只是模仿!!
設(shè)計因未來而存在!!
即,沒有創(chuàng)新,就沒有設(shè)計!!
即,沒有改變,就沒有設(shè)計!!
用進(jìn)化論去思考你的設(shè)計!!
讓你的設(shè)計超越一切理論!!
設(shè)計只是記憶的載體而不是記憶的全部!!
其實程序員是藝術(shù)家,而不是建筑工人!!
那么,為什么你總成為不了架構(gòu)師?
不要僅僅從技術(shù)的角度出發(fā)一味的按照自己理所當(dāng)然的方向去努力,要學(xué)會用設(shè)計的思想思考,并努力讓你自己成為有分量的人!!
如果你想學(xué)習(xí) Java 工程化、高性能及分布式、高性能、深入淺出。性能調(diào)優(yōu)、Spring,MyBatis,Netty 源碼分析和大數(shù)據(jù)等知識點可以來找我。
而現(xiàn)在我就有一個平臺可以提供給你們學(xué)習(xí),讓你在實踐中積累經(jīng)驗掌握原理。主要方向是 JAVA 架構(gòu)師。如果你想拿高薪,想突破瓶頸,想跟別人競爭能取得優(yōu)勢的,想進(jìn) BAT 但是有擔(dān)心面試不過的,可以加我的 Java 架構(gòu)進(jìn)階群:582100479
1、具有 1-5 工作經(jīng)驗的,面對目前流行的技術(shù)不知從何下手,需要突破技術(shù)瓶頸的可以加。
2、在公司待久了,過得很安逸,但跳槽時面試碰壁。需要在短時間內(nèi)進(jìn)修、跳槽拿高薪的可以加。
3、如果沒有工作經(jīng)驗,但基礎(chǔ)非常扎實,對 java 工作機(jī)制,常用設(shè)計思想,常用 java 開發(fā)框架掌握熟練的,可以加。
4、覺得自己很牛 B,一般需求都能搞定。但是所學(xué)的知識點沒有系統(tǒng)化,很難在技術(shù)領(lǐng)域繼續(xù)突破的可以加。
聯(lián)系客服