2. 架構(gòu)師是一個(gè)純粹的技術(shù)工作

某方面講這是對(duì)的,但又不全對(duì),因?yàn)榧夹g(shù)工作只是架構(gòu)師工作做的一個(gè)核心關(guān)注點(diǎn)而已。一個(gè)nb程序員可能在技術(shù)方面是nb的,但是在很多方面確實(shí)欠缺的,并不適合做架構(gòu)師。

做企業(yè)應(yīng)用的,牽涉的面太廣,加上行業(yè)生存環(huán)境又不是很好,企業(yè)管理普遍也不規(guī)范,所以很難象某些領(lǐng)域,架構(gòu)師就是一個(gè)純粹的技術(shù)工作。

首先,如何獲取項(xiàng)目經(jīng)理和管理層對(duì)你的信任和支持, 是你開始工作的起點(diǎn), 這一塊和技術(shù)并沒(méi)有直接的關(guān)系,取決于你的表達(dá)能力和主動(dòng)性,你如何展現(xiàn)你的實(shí)力,你做事是否足夠主動(dòng),是否有意識(shí)和能力去推動(dòng)項(xiàng)目。不能讓老板感覺(jué)你就是一個(gè)greek,這一條是很多不錯(cuò)的技術(shù)人員難以做到的。而實(shí)際工作中,你也絕不能把所有時(shí)間都花在技術(shù)上,你至少要拿出4分之一的時(shí)間去和pm,和老板溝通,協(xié)商問(wèn)題, 才能得到你的生存空間。

其次,如何獲得團(tuán)隊(duì)成員對(duì)你的信任和支持,是你展開工作的基礎(chǔ),如果你不夠傳奇,就需要你做一個(gè)牧師或者善于聆聽的人, 通過(guò)熟悉自己的團(tuán)隊(duì)成員的構(gòu)成和技術(shù)特點(diǎn),才能充分發(fā)揮他們的所長(zhǎng),贏得他們的信任和支持,看起來(lái)這好像是pm的工作,但是不盡然,如1所訴,架構(gòu)設(shè)計(jì)并非是一個(gè)個(gè)體脫離團(tuán)隊(duì)的行為。和團(tuán)隊(duì)成員打交道,多半又要花掉你4分之一以上的時(shí)間。

好吧,你還要明白,為啥要叫架構(gòu)師而不是高級(jí)工程師(這個(gè)已經(jīng)out了), 是因?yàn)槟氵€需要承擔(dān)售前售后任務(wù), 如何簡(jiǎn)單清晰的向不懂技術(shù)或者半懂技術(shù)的客戶講清楚技術(shù)問(wèn)題,這是個(gè)學(xué)問(wèn),要做到這點(diǎn),按我以前的老板說(shuō)法,你必須有常識(shí), 常識(shí)要多道可以用一些簡(jiǎn)單的故事例子把東西講出來(lái),所以有空要多看看電視,多和銷售學(xué)學(xué),順便還得學(xué)點(diǎn)基本禮儀,上次我差點(diǎn)把某公司來(lái)給我們推銷產(chǎn)品的工程師給踢出去了,在我提了意見以后,丫居然堅(jiān)持跟我說(shuō)他們東西是最好用的,你敬業(yè)沒(méi)錯(cuò),但是好歹我才是用戶吧。

如果你的公司是做項(xiàng)目為主的,恭喜你,你還要學(xué)會(huì)如何和客戶周旋,如何回避到客戶內(nèi)部以及客戶和其他供應(yīng)商之間的矛盾里去。因?yàn)槟撤矫妫鳛榧軜?gòu)師,你就代表了技術(shù)上的權(quán)威,你要明白一點(diǎn),管理上出了問(wèn)題,從來(lái)都是往技術(shù)上推是最簡(jiǎn)單的。項(xiàng)目之外的話,說(shuō)起來(lái)一定要謹(jǐn)慎,再謹(jǐn)慎。比如如果有客戶不愿意購(gòu)買設(shè)備和軟件實(shí)現(xiàn)負(fù)載均衡,找你咨詢,你隨口一說(shuō),啥啥免費(fèi)軟件可以做,好吧,你完蛋了,你要么就是得罪了某供應(yīng)商(搞不好還就是你們公司賣的),要么,就是等著將來(lái)客戶給你套口子吧。

而且,作為一個(gè)企業(yè)應(yīng)用的架構(gòu)師,你不可避免的要和各類廠商打交道,這里面也是大堆的學(xué)問(wèn),虛虛實(shí)實(shí)的東西大把,偶爾你甚至?xí)艿矫郎蛘咩y彈的攻擊(記住,只是偶爾,人家一般不樂(lè)意在你這個(gè)級(jí)別上下血本)你要一不小心分不出真假,很可能就做了大堆錢公司的小白鼠,搞的在客戶和公司間里外不是人。


還有,架構(gòu)設(shè)計(jì)往往還需要考慮到技術(shù)的生命周期問(wèn)題, 那么你對(duì)客戶公司,對(duì)開發(fā)公司的狀況的了解,對(duì)整個(gè)行業(yè)的發(fā)展趨勢(shì)的了解,也會(huì)影響到你設(shè)計(jì)的決策,這種東西往往跟市場(chǎng)有關(guān),并不取決于技術(shù),這考核的就是你的視野和對(duì)問(wèn)題的敏感程度。 打個(gè)比方,你開發(fā)了一個(gè)很好的系統(tǒng),但是到了你離職的時(shí)候,客戶卻發(fā)現(xiàn)你選擇的這種技術(shù)已經(jīng)淘汰了,現(xiàn)在很難再找到合適的人員進(jìn)行維護(hù)了,這樣的架構(gòu)師,算合格么?

說(shuō)完了外面的東西,再說(shuō)里面的。

一個(gè)成熟的企業(yè)應(yīng)用的架構(gòu)師,除了對(duì)行業(yè)技術(shù)應(yīng)用有準(zhǔn)確的把握和經(jīng)驗(yàn)積累之外至少還需要有豐富的業(yè)務(wù)知識(shí)。

一般來(lái)說(shuō),架構(gòu)設(shè)計(jì)由幾個(gè)面構(gòu)成,其中一個(gè)面是技術(shù)架構(gòu),還有一個(gè)面是業(yè)務(wù)架構(gòu), 技術(shù)架構(gòu)必須通過(guò)后者的驗(yàn)證。積累一個(gè)行業(yè)的業(yè)務(wù)知識(shí),少則一年半載,多則3年5年,這都不是單純看書閱讀資料可以獲得的。客戶可不會(huì)只因?yàn)槟愕募夹g(shù)如何先進(jìn),nb 就驗(yàn)收項(xiàng)目的。


再有, 再好的架構(gòu),也需要向程序員溝通和推廣, 那么你至少也要是個(gè)合格的技術(shù)講師吧? 兄弟們管你叫那個(gè)師,你總還得有能力教人家一點(diǎn)東西吧?

某些項(xiàng)目,技術(shù)甚至可能根本就不是關(guān)注點(diǎn),我曾經(jīng)參與的一個(gè)項(xiàng)目,在我加人的時(shí)候架構(gòu)設(shè)計(jì)和開發(fā)工作都已經(jīng)完成,而且是基本構(gòu)建在相對(duì)錯(cuò)誤的道路上,基于項(xiàng)目進(jìn)度的壓力,我已經(jīng)沒(méi)有可能重新推到再來(lái),所以我把工作的重心轉(zhuǎn)移到如何培養(yǎng)提高團(tuán)隊(duì)成員的技術(shù)能力,降低不成熟架構(gòu)對(duì)他們工作的干擾,換句話說(shuō),我干的工作就是打補(bǔ)丁。這些看實(shí)不夠nb的工作大部分都和技術(shù)無(wú)關(guān),和流程圖,模式無(wú)關(guān),但是有效的彌補(bǔ)了架構(gòu)的缺陷,保證了項(xiàng)目的順利進(jìn)行。

既然不能選擇離開,那么菜刀也是刀,對(duì)吧。


最最后,你還要有點(diǎn)人脈,有在天涯海角到處混的兄弟,這樣你搞不定問(wèn)題的時(shí)候,卡住的時(shí)候,或者他們一個(gè)小小的提示就可以救你于水火之中。不會(huì)不是你的錯(cuò), 解決不了問(wèn)題才是你的錯(cuò)。

在我看來(lái)架構(gòu)師的工作,是一個(gè)混合了各種知識(shí)和經(jīng)驗(yàn)的工作,架構(gòu)師更象酒店里的行政大廚,只會(huì)炒菜那是絕對(duì)不行的,很難單純的定義為技術(shù)工作。當(dāng)然,動(dòng)不動(dòng)就把架構(gòu)師抬舉為藝術(shù)家,開口閉口XX的藝術(shù),哪還是過(guò)了,你以為畫畫的都是藝術(shù)家么? 我家狗仔還能用噓噓畫地圖來(lái)著。

指望多讀書,多寫代碼,一個(gè)人對(duì)著電腦就能迅速成長(zhǎng)為架構(gòu)師,嗯, 我覺(jué)得可能性不是很大。