-
1 # Javaspring架構師
-
2 # 幣小孩
我看了下回答的人挺多的,也是長篇大論,無非就是照搬資料過來的。其實很簡單,一個優秀的架構師,無論是技術能力,業務能力,都能在人之上,在為難時刻,或者在大家無法解決的問題上,能獨擋一面,那麼就是相當優秀的架構師!
-
3 # 深圳創業路上的阿輝
架構師這個名稱聽起來高大上,其實在一個開發團隊中,架構師也的確起到了“定海神針”的作用。為什麼這麼講呢?架構師就像建築設計師一樣,從大的方向來給軟體定一個基調。軟體開發中碰到的很多問題,歸咎起來都可能和當初的架構設計有關,所以架構師要想不成為眾矢之的,也不是容易的事情。
各個行業甚至同一行業不同主攻方向的team都需要不同的架構師,比如做SOA的很多架構師實際上的職責是向用戶推銷自己的產品,即使有時採用其他方案更適合企業的情況,出於宣傳本公司產品的需要,也要貶低一番。當然利益對架構的影響不可避免,其他行業也存在類似的情況。但是SOA的架構師更多做的是把自己公司的產品套用在客戶身上。當架構師是在設計自己公司的產品時,相對來說會客觀一些,從功能,效能,穩定性,擴充套件性,市場接受程度和成本等幾方面來權衡。
因為我是在做手機軟體方面的工作,對系統架構師的想當然的要求也只能侷限在這個領域。由於平臺非常龐大,系統架構師的職責顯得尤為重要,可能也是因為這個原因,公司裡在不同層面上都設立了系統架構師,連某個Component team都有自己的架構師。當然小team的架構師的職責與整個平臺的架構師的職責不可同日而語。
如果一個架構師負責的僅僅是一個小的模組,或者是一個小的應用程式,那麼他所能施展的空間不太多,包括作業系統,硬體,驅動,其他模組的介面等都是已經確定的了,甚至自己的模組需要哪些介面暴露給別人也都是定義好的了,那麼這個架構師該做些什麼呢?從別的程式或者系統來看,這個應用程式至少要具備以下幾個條件才能算是合格的:
回覆列表
系統架構師負責設計系統整體架構,從需求到設計的每個細節都要考慮到,把握整個專案,使設計的專案儘量效率高,開發容易,維護方便,升級簡單,等等系統架構師的職責:一、理解系統的業務需求,制定系統的整體框架(包括:技術框架和業務框架)二、對系統框架相關技術和業務進行培訓,指導開發人員開發。並解決系統開發、執行中出現的各種問題。 系統架構師的目的:對系統的重用、擴充套件、安全、效能、伸縮性、簡潔等做系統級的把握。 系統架構師能力要求:一、系統架構相關的知識和經驗。二、很強的自學能力、分析能力、解決問題的能力。三、寫作、溝通表達、培訓。角色軟體架構師Software Architect 定義主導系統全域性分析設計和實施、負責軟體構架和關鍵技術決策的角色 職責l、領導與協調整個專案中的技術活動(分析、設計和實施等) 2、推動主要的技術決策,並最終表達為軟體構架 3、確定和文件化系統的相對構架而言意義重大的方面,包括系統的需求、設計、實施和部署等“檢視” 4、確定設計元素的分組以及這些主要分組之間的介面 5、為技術決策提供規則,平衡各類涉眾的不同關注點,化解技術風險,並保證相關決定被有效的傳達和貫徹 6、理解、評價並接收系統需求 7、評價和確認軟體架構的實現 專業技能l、技術全面、成熟練達、洞察力強、經驗豐富,具備在缺乏完整資訊、眾多問題交織一團、模糊和矛盾的情況下,迅速抓住問題要害,並做出合理的關鍵決定的能力 l、具備戰略性和前瞻性思維能力,善於把握全域性,能夠在更高抽象級別上進行思考; l、對專案開發涉及的所有問題領域都有經驗,包括徹底地理解專案需求,開展分析設計之類軟體工程活動等 2、具備領導素質,以在各小組之間推進技術工作,並在專案壓力下做出牢靠的關鍵決策 3、擁有優秀的溝通能力,用以進行說服、鼓勵和指導等活動,並贏得專案成員的信任; 4、以目標導向和主動的方式來不帶任何感情色彩地關注專案結果,構架師應當是專案背後的技術推動力,而非構想者或夢想家(追求完美) 5、精通構架設計的理論、實踐和工具,並掌握多種參考構架、主要的可重用構架機制和模式(例如J2EE架構等); 6、具備系統設計員的所有技能,但涉及面更廣、抽象級別更高; 活動確定用例或需求的優先順序、進行構架分析、建立構架的概念驗證原型、評估構架的概念驗證原型的可行性、組織系統實施模型、描述系統分佈結構、描述執行時刻構架、確定設計機制、確定設計元素、合併已有設計元素 工件軟體構架文件、參考構架、分析模型、設計模型、實施模型、部署模型、構架概念驗證原型、介面、事件、訊號與協議 系統架構師