1. 程式人生 > >架構師軟硬技能圖譜

架構師軟硬技能圖譜

最近老兵哥在構思從程式設計師到架構師的成長系列分享,梳理了從事架構工作需要熟悉或精通的軟硬技能,現釋出出來邀請各位小夥伴一起來探討,後續我還會繼續完善補充:

 

 

程式語言

  • 強型別:C++、Java
  • 弱型別:Javascript、Python
  • 標記型:XML、HTML、JSON、YAML

開發框架

  • 表現層:React、Vue、Flutter、Weex
  • 領域層:Spring、Spring Boot
  • 資料層:Hibernate、MyBatis、JPA
  • 基礎層:Log4j、LogBack、Quartz、C3P0

程式設計

  • 面向物件設計 OOD
  • 設計模式 Design Patterns
  • 領域驅動設計 DDD

資料庫類

  • 關係型:MySQL、PostgreSQL、Oracle
  • NoSQL:Redis、MongoDB、HBase、Neo4j
  • SQL、儲存過程
  • 查詢優化(索引、儲存、分割槽)

作業系統

  • Linux、Windows、Android、iOS
  • 程序、儲存、檔案、裝置、作業等

網路協議

  • 網路層:IP
  • 傳輸層:TCP、UDP
  • 應用層:HTTP、FTP、SMTP、NTP

中介軟體類

  • 訊息類:ActiveMQ、Kafka、RocketMQ
  • 容器類:Apache、Tomcat、Nginx
  • 檢索類:Lucene、Solr、ElasticSearch

安全機制

  • 身份認證 OAuth2.0
  • 許可權鑑權 RBAC
  • 風險漏洞:XSS、CSRF、SQL 注入、指令碼注入
  • 防範措施:驗證碼、數字簽名、數字證書

基礎架構

  • 資源選型、容量估算

  • VPC、網路域、IP 網段、域名

  • 防火牆策略

  • 負載均衡策略(F5、LVS、HAProxy、Nginx)

資料架構

  • 資料建模

  • 儲存方案

  • 資料庫選型

  • 高可用方案(讀寫分離)

  • 備份方案(冷熱、主從)

  • 容災方案(同城、遠端)

  • 同步方案(實時性)

應用架構

  • 架構選型:C/S、B/S、SOA、微服務(Dubbo \ Spring Cloud \ Service MeshServerless

  • 架構檢視:邏輯、過程、開發、部署等

  • 介面設計:RESTful、JMS、IPC、RPC

分散式系統

  •  擴充套件性設計

    • 垂直擴充套件
    • 水平擴充套件
  •  可用性設計

    • 限流
    • 熔斷
    • 降級
  •  一致性設計

    • ACID、BASE、CAP等理論
    • 分散式事務(鎖)
    • 分散式一致性演算法
  • 分割槽容錯性

  • 可靠性設計

    • 服務隔離
    • 非同步呼叫
    • 資源冗餘

綜合技能

  • 軟體工程
  • 專案管理
  • 自我銷售:寫作、PPT、演講、培訓、諮詢

 

架構師,是我們程式設計師打怪升級的主要方向,它不像某單項技能報個培訓班就能獲得,勝任架構工作需要慢慢積累許多技能,既有硬技能還有軟技能。一口吃不成胖子。從程式設計師到架構師也無法一蹴而就,它是一個循序漸進、穩步提升的進階過程,每個階段都有每個階段要掌握的技能,多項技能之間還存在先後順序。如果你想往架構師轉型升級,那你可以在日常工作中有意識地儲備這些技能。

 

堅持原創不易,如果你覺得有價值,麻煩動動手指點個 「贊」或 轉發 給更多小夥伴,老兵哥會更有動力堅持。另外,我還會持續分享職業規劃、應聘面試、技能提升、影響力打造等經驗,關注 「 IT老兵哥 」,賦能程式人生!

 

近期文章索引:

  • 程式設計師,怎麼就成了一碗青春飯?
  • 為什麼要成為「無敵」程式設計師?
  • 程式設計師,怎樣打造個人影響力?
  • 不寫情書,程式設計師還要學寫作嗎?
  • 如何在打造影響力的路上碼不停?
  • 程式設計師打造影響力常犯的 3 個錯