架構師之我見
2009-08-06
架構師是乙個專案組的靈魂人物,他決定著整個系統的技術選型、整體架構以及模組劃分,同時還可能擔當與領導層的溝通角色,從某種意義上來說,架構師在很大程度上決定著專案的成敗與否,正所謂火車跑得快,全靠車頭帶。
很多優秀的架構師都是從乙個優秀的開發人員轉變過來的,但優秀的開發人員未見得都能成為合格的架構師。與架構師相比,開發人員所需擔當的任務相對狹隘的多,其最大的目標就是編寫出精良的**、做好充分的測試以及撰寫高質量的文件等;而架構師所要面對的則相對寬泛得多,除了過硬的技術之外,還需要有良好的表達能力,同時還要有巨集觀的駕馭整個系統的能力。
有人曾說過,20幾歲的程式設計天才好找,但30多歲的優秀架構師難尋。架構師何其難?除了敏銳的洞察力之外,我認為乙個好的架構師必須具備如下幾方面的素質:
a.過硬的技術能力。有人說架構師就不需要編寫**,只需設計整體架構就行了。但我認為這是很片面的,試想乙個人如果長時間不寫**,他還能具備持續的技術敏感度麼?當然了,這裡所說的寫**並非一般開發人員的行為,而是讓自己保持住對**的感覺。還有人說架構師不一定是技術高手,這一點我很同意,但他一定是個優秀的開發者。
b.良好的溝通能力。這一點尤為重要,因為架構師需要與專案組的開發人員以及領導層不斷交換意見,向對方傳遞自己的設計意圖與思想,沒有良好的表達與溝通能力是很容易出現問題的。這一點在溝通方式並非母語的企業中尤為明顯。
c.良好的軟體工程素質。雖說架構師不是專案經理,但我認為他需要對軟體開發過程有清晰明確的認識,這裡的開發過程是個泛指,也許是rup,也許是xp,是什麼無所謂,但這種工程素質是每個優秀架構師必備的品格之一。
d.寬廣的知識領域。架構師的眼界一定要開闊,絕對不能侷限於眼前的小範圍事務,否則極易出現「鼠目寸光」的後果。這就需要架構師不斷學習,這裡的學習既包括技術上的,同時也包括業務上的以及溝通上的。
e.領域知識。架構師務必對自己所從事的業務領域有深刻的認識,他未必要成為業務專家,但他一定要對業務知識有深刻的理解。很難想象經常從事金融領域專案的架構師能輕鬆設計好電信領域的專案架構。知識需要積累,業務也是這樣的。
f.處理系統非功能性需求的本領。架構師尤其需要對系統的效能、容錯、併發等非功能性需求方面有獨到的認識與解決辦法。乙個專案到了後期,往往都是這些問題成為整個專案的瓶頸,這時架構師就要發揮其優勢了。
架構師之路是崎嶇的,充滿了荊棘與挑戰,但這卻是無數開發者的夢想。架構師是多項技能與素質的綜合體,每一位以此為目標的開發者都需要在平日的工作中不斷提公升自己,在這裡我衷心的祝願架構師這個夢想能照進每一位有心人的現實。
架構師之我見
架構師之我見 2009 08 06 架構師是乙個專案組的靈魂人物,他決定著整個系統的技術選型 整體架構以及模組劃分,同時還可能擔當與領導層的溝通角色,從某種意義上來說,架構師在很大程度上決定著專案的成敗與否,正所謂火車跑得快,全靠車頭帶。很多優秀的架構師都是從乙個優秀的開發人員轉變過來的,但優秀的開...
架構師之我見
架構師之我見 架構師是乙個專案組的靈魂人物,他決定著整個系統的技術選型 整體架構以及模組劃分,同時還可能擔當與領導層的溝通角色,從某種意義上來說,架構師在很大程度上決定著專案的成敗與否,正所謂火車跑得快,全靠車頭帶。很多優秀的架構師都是從乙個優秀的開發人員轉變過來的,但優秀的開發人員未見得都能成為合...
架構師之我見
架構師是乙個專案組的靈魂人物,他決定著整個系統的技術選型 整體架構以及模組劃分,同時還可能擔當與領導層的溝通角色,從某種意義上來說,架構師在很大程度上決定著專案的成敗與否,正所謂火車跑得快,全靠車頭帶。很多優秀的架構師都是從乙個優秀的開發人員轉變過來的,但優秀的開發人員未見得都能成為合格的架構師。與...