袁岳
很多人在看到“架構(gòu)師”一詞的時(shí)候會(huì)覺得很陌生,
可你一定知道喬布斯,他的頭銜就是首席架構(gòu)師;
同樣假如你有幸與丁磊交換名片,
也會(huì)看到他的頭銜是網(wǎng)易公司首席架構(gòu)師,
而不是其他你所熟悉的種種抬頭。
似乎悄然間,架構(gòu)師這一職位變得崇高無(wú)比,成為職場(chǎng)上最讓人羨慕的職位。
這時(shí)候你會(huì)更加迷茫些了,是不是只有成為喬布斯、丁磊這樣的才能稱之為架構(gòu)師,架構(gòu)師是不是只存在在于軟件技術(shù)領(lǐng)域?架構(gòu)師實(shí)際上就是軟件的總體設(shè)計(jì)師。打個(gè)通俗的比方:鄧小平是中國(guó)改革開放的總設(shè)計(jì)師,用時(shí)髦的話語(yǔ)來(lái)形容就是鄧小平是中國(guó)改革開放的首席架構(gòu)師。架構(gòu)師的形成一定是在實(shí)踐中積累起來(lái)的,而并非上了幾次課,讀了幾本書就可以成功的,架構(gòu)師是在工程實(shí)踐中培養(yǎng)出來(lái)的!
舉個(gè)例子,在軟件行業(yè)中,一般提到的架構(gòu)師是技術(shù)架構(gòu)師,而忽略了領(lǐng)域架構(gòu)師或者領(lǐng)域工程師的概念。一個(gè)好的領(lǐng)域?qū)<乙欢ㄊ菢I(yè)務(wù)領(lǐng)域的架構(gòu)師,他能夠給出某一個(gè)業(yè)務(wù)領(lǐng)域的架構(gòu),只有技術(shù)架構(gòu)和業(yè)務(wù)架構(gòu)緊密相結(jié)合才有可能創(chuàng)造出一個(gè)好的系統(tǒng)!架構(gòu)師是客戶需求和開發(fā)者之間的橋梁。那么如何成為優(yōu)秀的軟件架構(gòu)師呢?首先必須具有豐富的軟件設(shè)計(jì)與開發(fā)經(jīng)驗(yàn),這有助于理解并詮釋所進(jìn)行的設(shè)計(jì)是如何映射到現(xiàn)實(shí)生活中去的。 其次要具有領(lǐng)導(dǎo)能力與團(tuán)隊(duì)協(xié)作技能,軟件架構(gòu)師必須是一個(gè)得到承認(rèn)的技術(shù)領(lǐng)導(dǎo),能在關(guān)鍵時(shí)候?qū)夹g(shù)的選擇作出及時(shí)、有效的決定。第三是具有很強(qiáng)的溝通能力,軟件架構(gòu)師需要經(jīng)常與客戶、市場(chǎng)人員、開發(fā)人員、測(cè)試人員、 項(xiàng)目經(jīng)理、 網(wǎng)絡(luò)管理員、數(shù)據(jù)庫(kù)工程師等等打交道。所以,無(wú)論在技術(shù)方面、管理方面還是市場(chǎng)方面,一個(gè)優(yōu)秀的架構(gòu)師都必須面面俱到,只有這樣才有助于設(shè)計(jì)出一個(gè)滿足客戶需求的體系結(jié)構(gòu)。
《大道至簡(jiǎn)》作者、支付寶(中國(guó))公司業(yè)務(wù)架構(gòu)師周愛民在《架構(gòu)之美》一書中曾寫過這么一段話:在大多數(shù)人的談?wù)撝?,架?gòu)是一個(gè)目標(biāo)產(chǎn)物,而作為架構(gòu)師的責(zé)任就是去生產(chǎn)它。所以無(wú)論如何,架構(gòu)是可以“做”出來(lái)的,而且也應(yīng)該有一些“做”的方法、技術(shù)、技巧。有人問過我:架構(gòu)的最主要產(chǎn)出是什么?我的答案是:圖。這里面有兩層含義:一層含義是如同建筑師描繪的藍(lán)圖一樣,用于引導(dǎo)實(shí)施者;另一層含義是架構(gòu)師頭腦中清晰的目標(biāo)系統(tǒng)。如果架構(gòu)師頭腦中沒有系統(tǒng)清晰的圖像,他是沒有辦法把它畫出來(lái)的。
現(xiàn)在, 微軟的決策者比爾?蓋茨即是“首席架構(gòu)師”。設(shè)立這個(gè)特殊職位是因?yàn)闊o(wú)論在微軟還是在其他公司,首席執(zhí)行官?zèng)]有時(shí)間管技術(shù),而很多所謂的“首席技術(shù)官”卻都是沒有實(shí)權(quán)的科學(xué)家,決定不了技術(shù)發(fā)展方向。但是,在一個(gè)技術(shù)主導(dǎo)的行業(yè)里,一個(gè)企業(yè)沒有技術(shù)方向的最高決策者是不行的。
在國(guó)內(nèi),很少有軟件企業(yè)擁有獨(dú)立的架構(gòu)師,通常一個(gè)軟件高手可能既是項(xiàng)目經(jīng)理,又是軟件架構(gòu)師,還是軟件開發(fā)者,有時(shí)還要客串一個(gè)測(cè)試人員。其實(shí)這對(duì)軟件的開發(fā)周期和產(chǎn)品質(zhì)量是很不利的,因?yàn)橐粋€(gè)人的觀點(diǎn)立場(chǎng)是很片面的,而且各方面的工作與壓力會(huì)影響一個(gè)人的情緒,情緒會(huì)影響決策,決策影響結(jié)果,所以這是一個(gè)很值得深思的問題。
又有人會(huì)疑問了:是不是架構(gòu)師更多是在軟件領(lǐng)域,跟其他行業(yè)無(wú)關(guān)?錯(cuò)!過去或許架構(gòu)師更多的在軟件行業(yè),但未來(lái),每個(gè)行業(yè)每個(gè)企業(yè)都該有自己的架構(gòu)師。雖然我們很多企業(yè)都會(huì)有架構(gòu)師一職,但是更多的架構(gòu)師只懂技術(shù)不懂市場(chǎng)。例如,我們?cè)陲w馬星駒創(chuàng)業(yè)企業(yè)孵化項(xiàng)目中就發(fā)現(xiàn),可能企業(yè)在某一兩個(gè)方面有比較突出的地方,但是在整體模式上面還有缺乏,因此要幫助企業(yè)做一些架構(gòu)方面的調(diào)整。架構(gòu)的真正意義是戰(zhàn)略管理層面方針,所謂戰(zhàn)略就是只有想明白一個(gè)點(diǎn)才能理清整個(gè)事情,這就是我們所說的戰(zhàn)略性思維。一個(gè)真正的架構(gòu)師就是要有這樣整體觀念,去設(shè)計(jì)整個(gè)企業(yè)模式,有完全的架構(gòu)概念。
通俗來(lái)講,一個(gè)公司合格的架構(gòu)師,需要對(duì)企業(yè)從事的行業(yè)情況了解透徹,會(huì)根據(jù)客戶需求分析的結(jié)果,準(zhǔn)確定位目標(biāo)群體,設(shè)定企業(yè)整體架構(gòu),做好規(guī)劃、以最大限度地進(jìn)行高效資源分配與管理。而且具有極度高的市場(chǎng)敏銳度,能夠引導(dǎo)并帶動(dòng)市場(chǎng)趨勢(shì)。架構(gòu)師的工作就是制定公司的長(zhǎng)久發(fā)展路線圖,并確認(rèn)公司每一個(gè)部門的工作計(jì)劃是互補(bǔ)而不是重疊的。因此,架構(gòu)師需要與公司各部門做好及時(shí)的溝通與工作情況匯報(bào)或者風(fēng)暴會(huì)議。做這樣的風(fēng)暴會(huì)議,既能在會(huì)議中得到架構(gòu)師的反饋,各項(xiàng)目團(tuán)隊(duì)也會(huì)為了可能在風(fēng)暴會(huì)議中出現(xiàn)的各種問題,在匯報(bào)前進(jìn)行徹底的市場(chǎng)調(diào)研,無(wú)論市場(chǎng)還是技術(shù)以及未來(lái)方針管理等各類信息的收集,都可避免閉門造車的風(fēng)險(xiǎn)。