paulwong

          架構師的素質

          架構師最基本的素質,總結出兩點,1是技術知識廣度,2是業務行業深度。


          1 架構師是技術領導。
          架構師必須要有技術,而且還是領導。架構師要帶領自己團隊完成自己的任務,完全憑借自己的能力做事情,完全是匹夫之勇,根本不提倡。

          2 架構師理解軟件流程。
          架構師必須了解軟件流程,否則無法驅動整個團隊前進,如果一個架構師不熟悉開發流程,無法協調產品線相關人員進行高效工作,也無法指導團隊成員完成自己的工作。所以來說架構師一般不是空降兵(除非是全新的部門),因為空降兵一般不會熟悉新公司的開發流程,即使是同一個行業的,各個公司的差別還是很大。所以說聽說某某去某某公司做首席架構師或者首席科學家,一般是高風險的事情,即使他對這個行業很了解。

          3 架構師必須熟悉業務領域。
          如果一個架構師不熟悉自己的行業,做的架構就是紙上談兵,熟悉業務領域的架構師,才能很好的理解需求,做出合適的方案。互聯網和網絡安全是完全不同的兩個方向,即使你熟悉里面的各種具體技術,但是以互聯網的架構來做網絡安全產品,肯定是100%的失敗。
          我做PKI的時候,項目最初的使用.net,使用微軟的crytoAPI,開發的很順利。后來來了一位新的架構師,覺得.net不能跨平臺,決定?用java,做出產品后,發現找不到arm cpu的jdk,使用平臺有限。再次決定使用openssl做,最后這個項目以失敗而告終。后來我想過arm cpu都是嵌入式設備用的,根本沒有任何嵌入式設備提供CA服務。

          4 架構師必須要有廣度的知識。
          架構師考慮的問題必須全面,必須了解的要廣,具體的細節可以不關注,因為細節變化很快。很多具體技術人員出身的架構師,只關注于具體的細節,某些方面做的很好,整體的性能很差。
          下面這個項目的成功可以理解為一個笑話。某公司的兩個部門都做c程序的,A部門做的平臺使用的x86和mips,B部門使用平臺是x86和 arm,后來A部門的一個模塊要給B部門用,最后發現根本不能運行。最后A部門發現arm平臺使用big endian模式,這樣A部門的20多名員工,檢查代碼中所有非零整數,經過數個月苦戰,才修改完畢。其實解決方法很簡單,因B部門的代碼也是首先在 x86做的,做的時候他們考慮了cpu的endian模式。這并不能說B部門架構師很牛,從另一個方面說他的無知。因為板子有跳線,專門切換cpu的是 big endian還是little endian,這樣兩個部門都可以不修改程序。

          5 架構師必須是寫程序的高手。
          架構師一般都是?發人員出身,一般都是團隊的核心。優秀的架構師應該了解團隊使用各種技術,有了這些知識,才能和開發人軟進行有效溝通。
          有一個項目架構使用xml做配置,因為病毒庫很龐大,最后導致xml 達30多兆,服務端的java程序使用dom 進行過濾的時候,30兆xml加載很慢,頻繁出現out of memory。這個項目后來擱淺。根據以前的經驗發現 msxml加載30多M的xml 不過幾秒,而且msxml的xpath速度很快,后來專門為此寫了JNI處理xml的。

          6架構師是優秀的溝通人員。
          架構師一定要會忽悠,至少要扯淡。架構師不但要指導本部門員工的工作,也要協調其他部門的資源,還要向用戶收集需求,制定規格說明書,重要的把用戶的不合理要求砍掉,合理需求遵循自己的思路

          posted on 2012-03-19 02:21 paulwong 閱讀(295) 評論(0)  編輯  收藏 所屬分類: SOFTWARE ARCHITECTURE

          主站蜘蛛池模板: 隆安县| 榆林市| 双柏县| 延川县| 韩城市| 松江区| 彭泽县| 手游| 望江县| 蒲城县| 景德镇市| 林甸县| 定安县| 关岭| 桓台县| 涟源市| 普兰县| 阿克陶县| 兴安盟| 怀化市| 湘潭市| 南漳县| 砀山县| 成武县| 邓州市| 泰和县| 石狮市| 沧州市| 杂多县| 宜宾县| 闵行区| 石河子市| 广平县| 炎陵县| 清河县| 西平县| 大理市| 汾西县| 蓬莱市| 大方县| 肃南|