你覺得程序員,如何才能晉升為優秀的高薪架構師?(架構書籍推薦

  對於工作多年的程序員而言,日後的職業發展無非是繼續專精技術、轉型管理和晉升架構師三種選擇。

  今天,從架構師在一家公司有多重要、優秀架構師需要具備怎樣的素質以及架構師的發展現狀三個方面來分析本次的主題。

  程序員如何才能晉升為優秀的高薪架構師?

  希望通過本文讓程序員們瞭解架構師的市場行情,瞭解架構師的發展前景,並幫助你更清晰地做出職業規劃。

  架構師在一家公司有多重要

  架構師對一家公司、一個項目有多重要?我們來看一看100offer所做的調查數據——

  

你覺得程序員,如何才能晉升為優秀的高薪架構師?(架構書籍推薦

  高達62%的受訪人認為,架構師在公司中擔當著「IT架構靈魂人物」的角色,因為他們不僅做著架構師的本職工作,還同時做程序開發,寫核心代碼。另外,13%的受訪人也認為,架構師依舊是技術高手,編程能力依然是一流的。

  從採訪圖表結果來看,我們可以認為架構師是一家公司的IT架構靈魂人物,他必須具備出色的設計能力、編程能力和溝通能力,在完成本職的架構工作外,還要協調好項目中人員的關係,做出合理的分工,最終完成全部工作。

  架構師是程序員個人發展的一條道路,在一家公司裡有著極為重要的地位,是團隊的關鍵人物,擔當著重責。

  軟件架構師李先生這麼比喻道:「架構師的工作就像是他打造一棵樹的主幹和枝幹,然後程序員們讓這棵樹上長出樹葉和果實。」

  一名架構師必須能夠寫出他親自設計的系統中最難以實現的那段核心代碼,種出主幹和枝幹,才能將“冒芽開花結果”的重擔交給開發團隊來做。

  既然架構師是「靈魂人物」,那麼,成為一名架構師,需要具備怎樣的素養呢?

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

  擔任全棧技術架構師三年的劉先生表示:「架構師雖然經常需要做一些分工的工作,涉及到一些管理層面,但在我看來,它並不算完全的管理,更考驗溝通能力和他的設計能力。」

  在具體分析架構師該具備的素質前,我們首先了解下架構師的主要職責有哪些。100offer選取了平臺上企業對JAVA架構師、前端架構師、爬蟲架構師發出的面試邀請,我們先來看一看企業對架構師這一職位的需求描述是什麼——

  企業對Java架構師的職位描述與職位要求

  

你覺得程序員,如何才能晉升為優秀的高薪架構師?(架構書籍推薦

   企業對前端架構師的職位描述與職位要求

  

你覺得程序員,如何才能晉升為優秀的高薪架構師?(架構書籍推薦

  企業對爬蟲架構師的職位描述與職位要求

  

你覺得程序員,如何才能晉升為優秀的高薪架構師?(架構書籍推薦

  可以看出,企業無論是招哪一類架構師,都會要求他們具有多年從業經驗,有過項目開發經歷,精通多門編程語言且熟悉數據庫。

  本次採訪了多名架構師與程序員以及CTO,綜合他們的描述,總結出架構師的主要職責為以下四點。

  

你覺得程序員,如何才能晉升為優秀的高薪架構師?(架構書籍推薦

  1 確認需求

  架構師要懂得用戶需求,理解用戶真正想要什麼,這使得架構師必須要和分析人員不斷溝通,反覆確認需求規格說明書,以此來保證他精準清楚用戶需求。

  項目經理劉先生在受訪時說:「架構師會與很多人溝通,例如開發人員,例如我們項目經理,有時甚至是用戶本身。架構設計的目的很明確,目的是什麼呢?挖掘用戶需求。」

  2 系統分解

  在架構師認可需求規格說明書後,架構師已明確用戶需求是是什麼,這時候便看架構師的分解能力了。

  通過入職的全棧技術架構師周先生從「縱向分解」和「橫向分解」和我們說明了系統分解是什麼——

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

  3 技術選型

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

  「前端到底用瘦客戶端還是富客戶端呢?數據庫是用MySQL還是MSSQL又或是Oracle呢?」架構師張先生在接受採訪時說,「在瞭解用戶需求後,分解完系統後,技術選型是非常重要的環節,提出各個方向,我再進行評估。不過,很多人都以為架構師是有決定權的,其實不是,架構師沒有拍版的權力,決定由項目經理來做。 」

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

  4 制定技術規格說明

  如前文調查顯示,架構師在項目開發過程中是「靈魂人物」,並且要具備協調組織能力和懂得人員分工。

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

  在瞭解架構師的職責後,再來看看架構師該具備什麼能力才能成為一家公司中的「靈魂人物」。我們先來看一下調查數據。

  

你覺得程序員,如何才能晉升為優秀的高薪架構師?(架構書籍推薦

  37%的受訪人認為架構師的設計能力最重要,技術實力重要度排在第二佔了24%,溝通能力則排在第三,佔比14%,管理能力在大多數架構師眼中並不是最重要的,僅佔了7%。此次,我們詳細分析排在前三的能力。

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

  架構是過程,並非結果。

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

  一個架構師必須具備極強的分析能力,要做到根據產品宗旨和目標,分析清楚產品定位以及產品業務,再整合利用現有的技術領域,找出最佳方案,實現產品概念。

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

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

  這是最重要的,每一名出色的架構師,必定是一位優秀程序員。架構師並不是純粹的管理崗位,對那些愛寫格式文檔、畫流程圖、脫離代碼、只說不做、高高在上的架構師,程序員們通常會稱他們為 PPT 架構師。

  不懂編程的架構師的職業生涯必定是短暫的,無論如何都不可本末倒置,要想實現自己的職業規劃,不能荒廢自己本身的技能,技術是架構師賴以生存的最基本能力。

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

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

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

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

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

  架構師的發展現狀

  成為一名架構師是程序員的職業發展道路之一,架構師的工作前景也是程序員們所關心的事情,我們採訪了數名架構師,做出「架構師的發展現狀」的相關分析。首先,我們來看一看架構師們想去怎樣規模的公司。

  

你覺得程序員,如何才能晉升為優秀的高薪架構師?(架構書籍推薦

  可以發現,初創公司並不受到架構師們的青睞,架構師們更偏向進入具有一定規模已有成熟產業線的公司進行發展。

  接下來,我們收集了100offer上近一年來架構師所收到的面試邀請數——

  

你覺得程序員,如何才能晉升為優秀的高薪架構師?(架構書籍推薦

  能夠看出,最近一年來,企業對架構師的需求量是在逐步上升的。在瞭解企業需要後,我們再來看一看架構師的收入。

  

你覺得程序員,如何才能晉升為優秀的高薪架構師?(架構書籍推薦

  以上數據是兩年來通過100offer入職的架構師年薪,20萬以下和60萬以上各佔3%,20萬至30萬、30萬至40萬各佔22%,40萬至50萬佔比最大,高達34%,從現狀年薪來看,架構師屬於高薪職業。

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

  

你覺得程序員,如何才能晉升為優秀的高薪架構師?(架構書籍推薦

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

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

  受訪的架構師們表示,面對協調和管理所帶來的困擾時,不能著急,協調人員之間的利益、管理和分配工作量本身就是一件需要大量實踐才能有成效的事情,成功的架構師們往往會選擇從減壓做起,而協調與管理,在他們看來,是一件水到渠成的事。

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

  不是每一位程序員都必須轉管理層成為CTO甚至CEO,也不是每一名程序員都必須要成為架構師,每名程序員都有著不同的發展方向。

  從程序員到架構師,是很大的職業轉變,也是不少程序員的職場規劃路線。

  本次受訪的架構師,大多數都是在工作十年後再從程序員轉型為架構師,幾乎所有高薪架構師,都懂得多門主流編程語言如C++、Java、python等,才能在架構系統時沒有侷限性,也可以使用如MySQL、sqlserver、sybase、jracle、infomix等多種數據庫,他們還了解文件系統特性,如NFS、GFS,NTDFS、XFS等,甚至做過幾年windows開發,是這些經歷,才造就了一名優秀的架構師。

  架構師是靈魂人物,地位也在不斷攀升,薪酬仍在穩步增長,願你在本文中找到你想要的幫助。

下面呢就是小編給大家整理的架構師書籍,希望大家能夠喜歡!

你覺得程序員,如何才能晉升為優秀的高薪架構師?(架構書籍推薦


你覺得程序員,如何才能晉升為優秀的高薪架構師?(架構書籍推薦

架構書籍有點偏多哈,大家學習的話得多費費腦子了,大家需要的話可以轉發關注一下小編,私信小編“學習”來免費獲取吧!

最後面這個是架構師需要學習的一步步對標阿里p7的五大架構項目。


你覺得程序員,如何才能晉升為優秀的高薪架構師?(架構書籍推薦

你覺得程序員,如何才能晉升為優秀的高薪架構師?(架構書籍推薦

你覺得程序員,如何才能晉升為優秀的高薪架構師?(架構書籍推薦

  1. 多人在線即時對戰網遊服務器
  2. 和家服務雲平臺
  3. 前後端分離-~某喵微信商城
  4. 某滴網約車項目
  5. 億級流量多級緩存架構平臺


分享到:


相關文章: