程式設計師走向架構師——思維導圖
一、架構師是什麼?要做什麼?
架構師:是一個既需要掌控整體又需要洞悉區域性瓶頸並依據具體的業務場景給出解決方案的團隊領導型人物。架構師不是一個人,他需要建立高效的體系,帶領團隊去攻城略地,在規定的時間內完成專案。

image
1 確認需求
架構師要懂得使用者需求,理解使用者真正想要什麼,這使得架構師必須要和分析人員不斷溝通,反覆確認需求規格說明書,以此來保證他精準清楚使用者需求。
「架構師會與很多人溝通,例如開發人員,例如專案經理,有時甚至是使用者本身。架構設計的目的很明確,目的是什麼呢?挖掘使用者需求。」

image
2 系統分解
在架構師認可需求規格說明書後,架構師已明確使用者需求是是什麼,這時候便看架構師的分解能力了。
從「縱向分解」和「橫向分解」和讀者說明系統分解是什麼——
「一般分為縱向分解和橫向分解,縱向分解是將整個系統分層,從而將整體系統分解成下一級的子系統與元件。橫向分解是在系統分解成不同的邏輯層或服務後,對邏輯層進行分塊,確定層與層之間的關係。」

image
3 技術選型
在系統分解後,架構師會最終形成軟體整體架構,接下來,架構師的職責是技術選型。
前端到底用瘦客戶端還是富客戶端呢?資料庫是用MySQL還是MSSQL又或是Oracle呢?
需要在瞭解使用者需求後,分解完系統後,技術選型是非常重要的環節,提出各個方向,再進行評估。不過,很多人都以為架構師是有決定權的,其實不是,架構師沒有拍版的權力,決定由專案經理來做。
架構師在技術選型階段會提供參考資訊給專案經理,專案經理再從預算、進度、人力、資源等各方面情況來權衡,最終確認。

image
4 制定技術規格說明
如前文調查顯示,架構師在專案開發過程中是「靈魂人物」,並且要具備協調組織能力和懂得人員分工。
在制定技術規格說明階段,架構師要協調起所有的開發人員,架構師通常會用技術規格說明書與開發人員保持溝通,讓開發人員能從各個視角去觀測、理解他們負責的模組或者子系統,確保開發人員能夠按照架構意圖實現各項功能。
在瞭解架構師的職責後,再來看看架構師該具備什麼能力才能成為一家公司中的「靈魂人物」。我們先來看一下調查資料——

image
37%的受訪人認為架構師的設計能力最重要,技術實力重要度排在第二佔了24%,溝通能力則排在第三,佔比14%,管理能力在大多數架構師眼中並不是最重要的,僅佔了7%。此次,我們詳細分析排在前三的能力。
技術能力
技術能力,不用置疑肯定是最重要的。技術能力弱的架構不是一個好架構。所以,你需要知道所有主流技術的基本原理、應用場景,及快速解決問題的能力。
所以,架構師必須要有見識,所需知識面肯定是要不斷拓展的。你需要清楚在什麼樣的場景用什麼樣的技術比較合適,並知道可能存在什麼樣的風險。來了需求,你腦袋是空的,不知道用什麼技術這是最可怕的。

image
架構設計能力
這個可以表現為抽象能力、整體規劃能力、及設計能力。你需要照在業務的角度進行系統分解、技術選型、架構搭建,以及規範制定。架構出來了至少可以滿足近幾年的發展,或者可以很方便對現有架構進行擴容。
有人說架構不需要懂業務,我面試過的就有明確表示不做業務架構。當然有方面的架構師,如中介軟體架構師,運維基礎設施架構師等。但一般的後端架構師都是需要了解業務,不理解業務你如果進行系統分解,服務劃分,及根據不同業務作出不同的架構?
技術都是為業務服務的,不站在業務的角度設計架構,那架構就是空談。

image
溝通能力
這個看起來不是最重要的,其實也非常重要。作為一個優秀的架構師,你需要清楚的知道客戶的需求,需要不斷和需求人員進行溝通,以達到客戶真正的目的。
不論是不是架構師,任何一個職場人,提高自己的溝通表達能力無疑是不可或缺的。有一句話怎麼說的,領導就喜歡拍馬屁的。做領導的大多不是技術特別牛的,但溝通能力肯定是一流的。
這3點肯定是架構師的核心,但不一定是每個架構師的標準。

image
國內做程式設計師,30歲左右就得轉型,不然就會被嫌棄。不管是不是如此,大環境就是這樣,程式設計師你能幹到35已見天花板。
所以,程式設計師必須轉型,管理職位數量有限,對性格、溝通表達能力有要求。所以轉型架構師是首選,大家一起加油吧!希望下面導圖可以對你們有幫助。
一、架構築基主題解析:深入核心,直擊故障,拒絕懵圈

image
二、開源框架原始碼解析:站在巨人肩膀,收穫不一樣的視野

image
三、高效能架構專題:成為網際網路架構師,你要的都在這裡

image
四、微服務架構:你還不知道微服務,怎麼加薪升職

image
五、商城實戰專案:擼起袖子幹實事,專案經驗的故事

image
六、設計模式專題:你的架構之路必須掌握

image
如果你依然在程式設計的世界裡迷茫,不知道自己的未來規劃,可以加入web前端學習交流。裡面可以與大神一起交流並走出迷茫。新手可免費領取學習資料,看看前輩們是如何在程式設計的世界裡傲然前行不停更新最新的教程和學習方法(詳細的前端專案實戰教學視訊),有想學習web前端的,或是轉行,或是大學生,還有工作中想提升自己能力的,正在學習的小夥伴歡迎加入

image