1. 程式人生 > >如何成為一名架構師?

如何成為一名架構師?

整理自網路
 

對於工作多年的程式設計師而言,日後的職業發展無非是繼續專精技術、轉型管理和晉升架構師三種選擇。那麼程式設計師如何才能晉升為優秀的架構師?

 

優秀架構師需要具備怎樣的素質

1 確認需求

架構師要懂得使用者需求,理解使用者真正想要什麼,

架構師會與很多人溝通,例如開發人員,例如我們專案經理,有時甚至是使用者本身。架構設計的目的很明確,目的是什麼呢?

挖掘使用者需求。

 

2 系統分解

在架構師認可需求規格說明書後,架構師已明確使用者需求是是什麼,這時候便看架構師的分解能力了。通過100offer入職的全棧技術架構師周先生從「縱向分解」和「橫向分解」和我們說明了系統分解是什麼——

「一般分為縱向分解和橫向分解,縱向分解是將整個系統分層,從而將整體系統分解成下一級的子系統與元件。橫向分解是在系統分解成不同的邏輯層或服務後,對邏輯層進行分塊,確定層與層之間的關係。」

 

3 技術選型

在系統分解後,架構師會最終形成軟體整體架構,接下來,架構師的職責是技術選型。

 

「前端到底用瘦客戶端還是富客戶端呢?資料庫是用MySQL還是MSSQL又或是Oracle呢?」「在瞭解使用者需求後,分解完系統後,技術選型是非常重要的環節,提出各個方向,再進行評估。 」

架構師在技術選型階段會提供參考資訊給專案經理,專案經理再從預算、進度、人力、資源等各方面情況來權衡,最終確認。

 

4 制定技術規格說明

架構師在專案開發過程中是「靈魂人物」,並且要具備協調組織能力和懂得人員分工。

在制定技術規格說明階段,架構師要協調起所有的開發人員,架構師通常會用技術規格說明書與開發人員保持溝通,讓開發人員能從各個視角去觀測、理解他們負責的模組或者子系統,確保開發人員能夠按照架構意圖實現各項功能。

 

再來看看架構師該具備什麼能力才能成為一家公司中的「靈魂人物」。

1 設計能力-擅長整合分析

架構是過程,並非結果。

架構是架構師洞察內在結構、原則、規律與邏輯的過程,架構師要做到清晰理解系統,以及簡潔描述,這是分析整合的能力。

 

2 技術實力-實現產品規劃

架構師首先要將程式碼寫的清晰易懂,要能夠實現功能,做到沒有Bug,這要求架構師必須具備至少熟練掌握一門語言。

不推薦不熱愛程式設計的人去做架構師,對於團隊工作和個人發展來說,都會帶來糟糕的後果。

 

3 溝通能力-能夠橫向溝通

架構師必須參與專案開發全過程,包括確認需求、系統分解、架構設計、技術選型、制定技術規格說明、系統實現、整合測試和部署各階段,在這一系列過程中,架構師會與各部門溝通交流。

一個產品會有多部門合作,架構師在其中的溝通極為重要,直接影響產品進度與質量。架構師不僅要與開發人員溝通,也要和專案經理、分析人員甚至使用者溝通,來實現產品的各種可能性。

 

所以,對於架構師來講,不僅有技術方面的要求,還有能夠橫向溝通的要求。

 

架構師的發展現狀

高薪職業往往都擔著巨大壓力,對於架構師而言,他們在工作中面臨的最大困難又是什麼呢——

 

協調人際利益佔了35%,管理分工佔了26%,這些與「人」相關的內容成為架構師在工作中面臨的最大困難。對於能成為架構師的人來說,只要不是PPT架構師,基本都具備了對架構師而言最重要的設計能力和程式設計能力,所以最重要的有時並不是最困難的。

 

他們必須思考清楚使用者最需要的是什麼,同時協調好專案內部人員的利益關係,對於很多不擅於打交道的程式設計師而言,協調和管理的確成為了他們最頭疼的問題。

 

無論是企業需求,還是薪資水準,從現狀而言,架構師的各方面待遇都是較好的,同樣,多部門協調和多線部署也給他們帶來了巨大壓力。不難看出,國內架構師的發展現狀是較為樂觀的,架構師無論是地位、薪酬還是未來發展,都具有著優勢。