軟體架構師不等同於資深程式設計師
本文的作者Armel Nene是ETAPIX Global公司的首席架構師,他居住在倫敦,他參與過的開源專案包括 Apache Lucene,,Apache Nutch, Liferay 和 Pentaho等
如今很多的公司的IT部門仍然認為招聘一個資深的程式設計師,他同樣也能承擔軟體架構師的角色。
資深程式設計師對整個軟體生命週期很瞭解,他們可以經過培訓成為架構師,但他們不等同於架構師。一個軟體架構師首要的和最重要的是他的遠見。如果一個架構師擁有一些軟體開發經驗,那會更好,但大多時候,他們面對的是一個多語言的複雜環境。在第一行程式碼開始編寫之前,架構師需要制定出業務需求如何轉變成解決方案。這不僅僅需要業務環境的相關知識,從業務操作到客戶環境,他還需要向公司上級勾畫出一個令人信服的系統。如果有些問題不事先考慮,如擴充套件性,訪問延遲問題,安全問題,系統開始開發時就會忽略這些。而資深程式設計師瞭解自己的團隊,瞭解他們的能力。資深程式設計師知道如何管理工作進度,確保開發中的軟體如何實現架構設計的目標。
架構師能決定的是需求應該如何開發才能滿足業務需要,例如:
這個業務分佈全球,業務在需求上需要網站響應延遲不超過3秒——不管使用者在什麼地方,網站最少要能承受10萬以上的使用者訪問量。
上面的需求涉及的是系統的架構,而不是形如我們如何用Oracle資料庫來對使用者安全認證的問題。
有很重要的一點需要注意,很多的軟體架構師在之前都是資深程式設計師(比如我自己),儘管如此,很多的資深程式設計師對架構設計並不感興趣。決定一個系統是該使用Tomcat還是Glassfish,是否要用Apache Webserver做負載均衡,這屬於架構事務。做程式碼審查,確保設計模式被正確的應用,這是資深程式設計師的事務。資深程式設計師可以決定開發方法,比如使用敏捷開發方法,但需要專案經理的認可。架構師要參加專案各方一起的會議:使用者,經營方,基礎設施提供方,開發,測試人員。當使用者詢問為什麼系統緩慢時,他們會找架構師,架構師則會找資深開發負責人研究目前的開發是否達到了架構設計目標,或看看架構設計上是否有缺陷。
我是一名軟體架構師,我可以輕鬆的把我的見解表達給開發團隊,但同時我也是一名資深程式設計師,我仍然熱愛程式設計。我在一個軟體架構協會工作,經常會遇到一些沒有開發經驗的架構師,我不認同他們的這種出身。軟體架構師應該瞭解各種語言的特點,而不是隻偏愛自己喜歡的那種。
我希望有更多的軟體公司能認識到在軟體專案中架構師的價值——不論專案有多大有多小。
相關文章
- 10年資深架構師分享 | 普通程式設計師向架構師進階之路架構程式設計師
- Java從程式設計師到架構師其實並不難Java程式設計師架構
- 資深架構師的養成計劃架構
- 軟體設計師:資料結構資料結構
- 資深架構師講述:3—5年程式設計師的發展和出路在哪裡?架構程式設計師
- 軟考 - 系統架構設計師(基於中介軟體的開發)架構
- 程式設計師、技術主管和架構師程式設計師架構
- 架構師修煉之道(二)——架構?設計?架構師?架構
- 阿里資深架構師談:Java程式設計師怎麼做才能有最高最好的學習效率!阿里架構Java程式設計師
- java程式設計師進階架構師你必須掌握的架構知識體系Java程式設計師架構
- 阿里架構師Peter老師講述Java程式設計師→架構師所需要掌握的技能阿里架構Java程式設計師
- 十幾位資深架構師,整理了最新架構師學習體系,分享給大家!架構
- 資深架構師的 AngularJS服務架構AngularJS
- 從程式設計師到架構師,有捷徑嗎?程式設計師架構
- 架構師如何賦能程式設計師團隊? - esilva架構程式設計師
- 京東資深架構師程式碼評審歪詩架構
- 軟體架構師必讀!什麼是設計?如何進行設計?架構
- 軟考資料-軟體設計師
- 資深架構師的經驗分享——軟體專案開發和決策架構
- Java程式設計師如何成為優秀的架構師Java程式設計師架構
- 程式設計師嘛,先做個好架構師再說程式設計師架構
- 程式設計師,如何從開發轉型做架構師?程式設計師架構
- 架構師給程式設計師的一封信架構程式設計師
- 程式設計師、架構師…,IT職業都有哪些晉升方向?程式設計師架構
- 程式設計師與架構師之間的差距很大嗎?程式設計師架構
- 阿里架構師,講述基於微服務的軟體架構模式(附資料)阿里架構微服務模式
- 從程式設計師到大型分散式架構師,自己到底位於哪裡(二)程式設計師分散式架構
- 從程式設計師到大型分散式架構師,自己到底位於哪裡(一)程式設計師分散式架構
- 系統架構設計師學習(二)系統架構設計師緒論架構
- 幽默:程式設計師與軟體工程師的區別程式設計師軟體工程工程師
- 程式設計師,真有必要了解架構嗎?程式設計師架構
- 資深程式設計師必備技能-如何對軟體系統做技術規劃程式設計師
- 軟體設計師:UML
- 趣頭條 中介軟體架構師架構
- 程式設計師突破內卷大法:聊聊軟體架構師成長之路(乾貨系列,說人話接地氣)程式設計師架構
- 系統架構設計師感想架構
- 架構師之路—理解設計模式架構設計模式
- 阿里資深架構師私下峰會:瞭解這幾點,人人皆是優秀架構師阿里架構
- 好程式設計師告訴你Java架構師學習路線程式設計師Java架構