【轉】關於構架師

構架師(Architecture)是目前很多軟件企業最急需的人才,也是一個軟件企業中薪水最高的技術人才。換句話說,構架師是企業的人力資本,與人力資源相比其能夠通過構架、創新使企業獲得新的產品、新的市場和新的技術體系。那麼什麼是構架師、構架師的作用、如何定位一個構架師和如何成爲一個構架師呢?這是許多企業、許多程序員朋友希望知道的或希望參與討論的話題內容。

我在此拋磚引玉,就上述幾個問題把我的體會和理解做簡單闡述。

所謂構架師通俗的說就是設計師、畫圖員、結構設計者,這些定義範疇主要用在建築學上很容易理解。小時候到河中玩耍,經常乾的事就是造橋,步驟如下:1、在沙灘上畫圖;2、選擇形狀好看、大小適合的石頭;3、搭建拱橋。其中我們挑出來畫圖的那位光PP小孩就是傳說中的“構架師”了。

在軟件工程中,構架師的作用在於三方面:1、行業應用構架,行業構架師往往是行業專家,瞭解行業應用需求,其構架行爲主要是將需求進行合理分析佈局到應用模型中去,偏向於應用功能佈局;2、應用系統技術體系構架,技術構架師往往是技術高手中的高手,掌握各類技術體系結構、掌握應用設計模式,其構架行爲考慮軟件系統的高效性、複用性、安全性、可維護性、靈活性、跨平臺性等;3、規範構架師是通過多年磨礪或常年苦思頓悟後把某一類構架抽象成一套構架規範,當然也有專門研究規範而培養的規範構架師。他們的產物往往也分爲應用規範和技術規範兩類。

與建築學類似,如果軟件系統沒有一個好的構架是不可能成爲成功的軟件系統的。沒有圖紙的建築工地、沒有設計的造橋工程都是不可以想象的混亂世界。建築工程如是,軟件工程中亦然!

由於國內合格、勝任的軟件構架師極爲少見,直接導致了我國民族軟件產業水平的落後。在未來以信息產業爲主導的社會,信息產業水平的低下將直接影響國家核心競爭力。究其原因,無非企業急功近利、個人缺乏引導。

企業的急功近利是有無法克服的原因的,那就是社會發展總體水平。“生存是第一位的,賺錢是第一位的”,多年來許多客戶抱怨國內的軟件公司無法信任、系統項目累做累敗、公司越換越差,但因國外不可能給中國做應用系統項目還不得不找國內軟件公司做。由於人月費用低、公司開發成本高,軟件企業對於應用只能草草了事,拿錢走人(很多公司拿不到後期尾款)。這樣的環境下,企業幾乎無法投入更多資源培養自己的構架師,加上眼花繚亂的跳槽風氣企業更是不願投入……

那麼要成爲構架師的途徑似乎只有現在較爲流行的軟件學院和個人自我培養了。關於軟件學院我接觸過不少,其宗旨絕大部分都是造就(or打造)企業需要的軟件構架師(or程序員or人才)。教師來源與企業、學員來源與企業、人才輸送到企業是他們辦學的手段。儘管各個如雨後春筍般出現的軟件口號差不多,但除了中科院、清華、北大等大院校可以相信一些之外,恐怕更多的就是爲了圈錢賣學位了事……我有個朋友二十幾個人的小公司也想搞軟件學院:)

構架師不是通過理論學習可以搞出來的,不過不學習相關知識那肯定是不行的。參考軟件企業構架師需求、結合北京網暢公司構架師培養計劃以及目前構架師所需知識,我總結構架師自我培養過程大致如下僅供參考:

1、構架師胚胎(程序員)學習的知識是語言基礎、設計基礎、通信基礎等,應該在大學完成,內容包括 :javacc++umlRUPXMLsocket通信(通信協議)——學習搭建應用系統所必須的原材料。

2、構架師萌芽(高級程序員)學習分佈式系統、組建等內容,可以在大學或第一年工作時間接觸,包括

分佈式系統原理、ejbcorbacom/com+webservice(研究生可以研究網絡計算機、高性能併發處理等內容)

3、構架師幼苗(設計師)應該在掌握上述基礎之上,結合實際項目經驗,透徹領會應用設計模式,內容包括

設計模式(c++版本、java版本)、ejb設計模式、J2EE構架、UDDI、軟件設計模式等。在此期間,最好能夠了解軟件工程在實際項目中的應用以及小組開發、團隊管理。

4、軟件構架師的正是成型在於機遇、個人努力和天賦

軟件構架師其實是一種職位,但一個程序員在充分掌握軟構架師所需的基本技能後,如何得到這樣的機會、如何利用所掌握的技能進行應用的合理構架、如何不斷的抽象和歸納自己的構架模式、如何深入行業成爲能夠勝任分析、構架爲一體的精英人才這可不是每個人都能夠遇上的餡餅……

然而學海無涯,精力有限,個人如何能夠很快將這些所謂的構架師知識掌握?這是祕密,每個人都有自己的獨門家傳祕笈就不敢一一暴露了。不過有一點就是廣泛學習的基礎之上一定要根據個人興趣、從事領域確定一條自己的主線來努力。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章