軟件體系結構的第一節課,咱們並無直接去了解軟件架構和軟件架構師。而是經過對一段建築設計師的工做的視頻來了解了建築設計師這一行業的工做細節。在課下的時間裏,本身經過對相關資料的檢索和各大論壇博文的閱覽發現其實軟件架構師這一行業與建築設計師其實在工做的不少方面都有其共性。二者都須要與客戶進行接觸,經過本身的設計或架構來實現對用戶所提出的需求進行最大化的知足。前端
軟件架構師是開發軟件時在用戶需求分析與系統設計階段的靈魂人物,與傳統的系統分析員相比,軟件架構師的工做能爲接下來的代碼設計,以及未來的運行都提供更好的指導。有人把架構師的工做定義爲分解系統模塊以及定義相互之間的關係,也有人認爲架構師就是對軟件設計核心環節設計的一系列決策;之因此架構師在現代軟件開發體系中愈來愈重要,還與目前流行的軟件開發組織結構有必定的關係。軟件架構師是軟件行業中一種新興職業,工做職責是在一個軟件項目開發過程當中,將客戶的需求轉換爲規範的開發計劃及文本,並制定這個項目的整體架構,指導整個開發團隊完成這個計劃。主導系統全局分析設計和實施、負責軟件構架和關鍵技術決策的人員。總而言之,架構師的主要任務不是從事具體的軟件程序的編寫,而是從事更高層次的開發構架工做。他必須對開發技術很是瞭解,而且須要有良好的組織管理能力。能夠這樣說,一個架構師工做的好壞決定了整個軟件開發項目的成敗。程序員
瞭解了何爲軟件架構師,做爲一名軟件架構師應該有如下工做職責:編程
一、 負責公司系統的架構設計、研發工做。架構
二、 承擔從業務向技術轉換的橋樑做用。框架
三、 協助項目經理制定項目計劃和控制項目進度。學習
四、 負責輔助並指導系統分析開展設計工做。測試
五、 負責組織技術研究和攻關工做。職業規劃
六、 負責組織和管理公司內部的技術培訓工做。架構設計
七、 負責組織及帶領公司內部員工研究與項目相關的新技術。設計
八、 管理技術支撐團隊並給項目、產品開發實施團隊提供技術保障。
九、 理解系統的業務需求,制定系統的總體框架(包括、技術框架和業務框架)。
十、 對系統框架相關技術和業務進行培訓,指導開發人員開發。並解決系統開發、運行中出現的各類問題。
而一個軟件架構師所應具備的基本素質則能夠大體囊括爲:較強的溝通能力和自我表達、有必定的魄力和感染力、有廣闊的知識領域、有過硬的技術能力和豐富的編程經驗、多方位思考分析能力、需求整理分析能力、系統分解能力、領導決策技術選項、系統設計能力、對團隊的培訓與指導。
當具有全部成爲軟件架構師的條件後就能夠進行軟件架構的工做了。
從一個普通的程序員成爲一個架構師就是經過一個個項目和不斷地學習,實踐,總結,我的進步和能力成長過程。從最初的開發工程師到高級工程師,再到系統架構師,而後是資深架構師,最後就是技術總監、CTO、技術副總裁。有人說過,「不想成爲架構師的程序員不是好程序員」。程序員的修煉之道任重道遠。須要咱們在不斷的學習成長和平常積累中不斷摸索前進,讓本身始終保持最前端的技術手段和最長遠的職業規劃。不斷完善本身的我的能力和知識技能儲備。