架構師軟硬技能圖譜
- 2020 年 3 月 7 日
- 筆記
最近老兵哥在構思從程序員到架構師的成長系列分享,梳理了從事架構工作需要熟悉或精通的軟硬技能,現發佈出來邀請各位小夥伴一起來探討,後續我還會繼續完善補充:
編程語言
- 強類型: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老兵哥 」,賦能程序人生!
近期文章索引: