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