獨家專訪王翔:堅持不懈是架構師人生第一課
原創【51CTO獨家特稿】什么是架構師最害怕程序員知道的十項技能?如何才能成為架構師?這是51CTO開發頻道年終活動《架構師最怕程序員知道的十件事》的主旨,其實程序員與架構師是合作互助的伙伴,程序員內心中成為架構師的愿望是十分強烈的。本系列文章主要就是讓更多的人了解什么是架構師,他們都有哪些鮮為人知的特殊技能,讓我們一起來向他們學習。今天我們訪問的是高級架構師王翔先生。
#T#
架構師個人簡歷
王翔
軟件架構師,主要從事Java EE/.NET企業應用、XML、公鑰基礎設施的開發。專注于數據(尤其是 XML)的生產、加工、交換、提煉等過程。此外,參與了一系列有關應用密碼技術和 PKI環境保護信息系統數據安全的項目。
最喜歡數學,項目間隙經常到各海濱城市徒步旅行、野外露營、出海航行、極限運動。
所著圖書
《設計模式——基于C#的工程化實現及擴展》
《Google API大全——編程•開發•實例》(合著)
我們的問題主要為以下三個:
1、軟件架構師必須具備哪些技能或素質?哪項技能(素質)是您認為最重要的?
1)首先是經驗和技術基礎,以其昏昏做不到以人昭昭。
2)創造性和知識匯總能力,兩者互承
3)領導力和信心,架構師做事情要有格局
4)基于2、3語言(含母語)的溝通學習能力,不管做的是什么項目,要有國際化視野
5)市場嗅覺
6)***,好的A還有有些藝術氣質(畢竟軟件是給人用的,藝術正好是提供良好體驗的橋梁)和冒險精神(架構師要有烹小鮮的危機感,但要做業內創新更要有冒險精神)
僅從技能角度我一般總結為9個方面:
1、架構理論和方法學
2、對象理論
3、JEE/.NET/動態,技術領域技術能力。而且作為A***保證鉆自己平臺基礎上,對其他平臺有個客觀、與時俱進的了解。
4、模式
5、遺留系統互聯
6、中間件
7、消息機制和協議
8、本地化和國際化
9、安全性和性能
2、要成為一個架構師,是否存在快速成長的捷徑?普通程序員如何一步步向架構師的目標靠近?
存在捷徑,主要是機遇問題。
對國內而言,如果一個人一直從事M(RMB)級以下項目,那么做10年或者做100個項目還是不能很快成長,如果他從事100M(RMB)、B(RMB)、10B(RMB)項目,并且在其中負責全局性的技術工作,那么一兩個項目就可以快速成長,可能4、5年就能成為不錯的架構設計人員(不過還要看她/他交付成果的質量)。
普通程序員成為A最重要的是他自己有信念和行動,其他的都是其次的。
哪怕是Assistant Programmer,只要有信念和行動,應該可以承擔各種壓力和困難,逐步走上Programmer、S. Programmer、Developer、S. Developer、Designer、S. Desinger、A、S. A、D. A、C. A。
3、假設有三名優秀的程序員,A尤其擅長溝通與團隊管理;B的編程功底深厚,且對新技術能快速掌握;C在邏輯思維和抽象能力方面表現優秀。您會重點培養哪位程序員成為架構師?
C(后面依次遞減是B、A。A更適合做項目經理、產品經理)
而且根據個人的經驗,雖然女性程序員開發階段顯得不如男性那么快深入和入手(Programmer),但能堅持到Developer、S. Developer、 Designer、S. Desinger階段她們的思維能力優勢就顯示出來。如果B是女性Desinger級別的人員,我寧愿選擇培養她,因為架構師在創造性、知識匯總方面根據個人經驗似乎女性更適合。