架構學習筆記系列四——架構師軟文

cdh0805010118發表於2018-06-26

阿里架構

《技術發展那麼快,程式設計師如何做到不被淘汰?》一文,首先說到,程式設計師必須要有發現業務價值的能力,否則,過多關注新技術對職場競爭力的價值,則是產生技術學習焦慮症的根本原因。 我們所設計開發的軟體系統,價值體現在:

  1. 業務領域與功能。即業務領域的服務物件
  2. 服務能力。

對於第二點,服務能力高低主要表現在:系統正確性(最基本條件);可用性(不同行業對可用性的要求不同,主要體現在幾個9上);大規模(高吞吐量、高併發)

軟體系統所表現得程式設計師的價值在於:

公司依靠軟體系統,對外提供業務服務而創造價值,程式設計師則是通過構建並持續演進軟體系統服務能力以及業務功能,以支撐公司業務快速發展,創造社會價值

對於我們程式設計師而言:

不要為了學習而學習,一定要有支撐學習的應用場景,不然學之後會感覺很空洞,或者無法持續堅持,理解問題也顯得層次低

作者提到:

1. 什麼是架構?
    答:在我看來架構就是將人員、技術等資源整合起來,解決業務問題,支撐業務快速並穩定發展的一種活動。
2. 架構師的具體工作任務,主要包括:
    1. 組織業務;
        拆分業務的生命週期,確定業務邊界,並構建一套解決特定業務問題的領域模型。
    2. 組織技術
        架構師需要選擇合適的框架、中介軟體、程式語言、網路協議等技術工具形成一套軟體系統方案。
    3. 組織人員
        根據業務需要,選擇合適的開發人員,對其合理分工,設立里程碑
    4. 組織全域性,對外輸出
        架構師首要目標是解決業務問題,推動業務增長。在軟體系統執行過程中,根據業務增長、系統當前執行狀態,及時提出改進軟體系統的架構目標和方向

作為一名軟體工程師,我們往往處在軟體構建過程中的某個環節,我們可以基於成本與收益的關係去思考自己每一項技能的價值,學習新的有價值的技能,甚至可以在工作中基於成本與收益的考量選擇合適的技術,成為技術的主人。實用才是王道

架構目標需要適應業務的發展

初創團隊最重要的是業務快速迭代,1~2個月出第一版,然後給種子使用者使用,市場快速地推。初始產品是需要市場快速驗證的,然後根據種子使用者快速驗證需要是否是使用者需要的,並調整產品方向。

初期團隊人員較少,同時創業氛圍和積極性是非常高的,快速獲取使用者,能夠是內部人員建立市場信心,快速推進業務發展。快速試錯、快速調整,是初創團隊的必經之路。

如果架構一開始就想設計一套高可用、高效能的分散式系統,則非常容易陷進去,本末倒置。最後花費了半年時間,人力、金錢和寶貴的時間全部浪費掉,創業也非常容易失敗。

所以一般業務發展伊始,業務粗暴迭代,是一個非常實用的方案。業務量大時,邊扛邊改造。

從價值出發,尋找學習與工作的新思路

  1. 明確自身業務的相關主體:深入挖掘業務價值和上下游鏈路的資源
  2. 向前一步,為更大的價值負責:當業務軟體系統執行穩定時,你可以多關注運維、測試、中介軟體、資料儲存、監控告警、metrics指標、日誌、服務編排等等相關的技術和知識,這樣你才能對整個產品的技術支撐,有一個全域性的瞭解。不然只關注自己的一畝三分地,則思維會變得狹隘。然後再試著以產品經理、產品運營的角度去思考業務的深度與廣度,才能更好的把握未來的架構目標與方向。
  3. 像架構師一樣思考,用價值尋找重心;
  4. 學會連線,構建體系

《如何成為一名阿里的頂尖架構師?》

文章介紹到,專職架構師重要職責如下:

  1. 職責一,全域性的技術規劃;
  2. 職責二,統一的方法&規範&機制
  3. 職責三,完備的基礎構建
  4. 職責四,落地的規劃才是架構

相關文章