Software Architect Roadmap¶
- Roadmap: https://roadmap.sh/software-architect
1. Understand the Basics¶
- 1.1 What is Software Architecture
- 1.2 What is a Software Architect
- 1.3 Levels of Architecture
- 1.3.1 Application Architecture
- 1.3.2 Solution Architecture
- 1.3.3 Enterprise Architecture
2. Responsibilities¶
- 2.1 Tech Decisions
- 2.2 Design & Architecture Decisions
- 2.3 Requirements Elicitation
- 2.4 Documentation
- 2.5 Enforcing Standards
- 2.6 Collaborate with Others
- 2.7 Consult & Coach Developers
3. Important Skills to Learn¶
- 3.1 Design & Architecture
- 3.2 Decision Making
- 3.3 Simplifying Things
- 3.4 How to Code
4. Programming Languages¶
- 4.1 Java / Kotlin / Scala
- 4.2 Python
- 4.3 Ruby
- 4.4 Go
- 4.5 JavaScript / TypeScript
- 4.6 .NET Framework Based
5. Technical Skills¶
5.1 Tools¶
- 5.1.1 Git
- 5.1.2 GitHub
- 5.1.3 Slack
- 5.1.4 Trello
- 5.1.5 Atlassian Tools
5.2 Patterns & Design Principles¶
- 5.2.1 MVC, MVP, MVVM
- 5.2.2 CQRS, Eventual Consistency
- 5.2.3 OOP
- 5.2.4 Actors
- 5.2.5 ACID, CAP Theorem
- 5.2.6 SOLID
- 5.2.7 TDD
- 5.2.8 DDD
5.3 Architecture¶
- 5.3.1 Microservices
- 5.3.2 Serverless
- 5.3.3 Client / Server
- 5.3.4 Layered
- 5.3.5 Distributed Systems
- 5.3.6 Service Oriented
5.4 Security¶
- 5.4.1 Hashing Algorithms
- 5.4.2 PKI
- 5.4.3 OWASP
- 5.4.4 Auth Strategies
5.5 Working with Data¶
- 5.5.1 Hadoop, Spark, MapReduce
- 5.5.2 ETL, Datawarehouses
- 5.5.3 SQL Databases
- 5.5.4 NoSQL Databases
- 5.5.5 Analytics
- 5.5.5.1 Apache Spark
- 5.5.5.2 Hadoop
- 5.5.6 Datawarehouse Principles
5.6 Web, Mobile¶
- 5.6.1 Reactive Programming
- 5.6.2 Functional Programming
- 5.6.3 React, Vue, Angular
- 5.6.4 SPA, SSR, SSG
- 5.6.5 Microfrontends
- 5.6.6 W3C and WHATWG
5.7 APIs & Integrations¶
- 5.7.1 gRPC
- 5.7.2 ESB, SOAP
- 5.7.3 REST
- 5.7.4 GraphQL
- 5.7.5 BPM, BPEL
- 5.7.6 Messaging Queues
5.8 Frameworks¶
- 5.8.1 BABOK
- 5.8.2 IAF
- 5.8.3 UML
- 5.8.4 TOGAF
6. Operations Knowledge¶
- 6.1 Infrastructure as Code
- 6.2 Cloud Providers
- 6.3 Serverless Concepts
- 6.4 Linux / Unix
- 6.5 Service Mesh
- 6.6 CI / CD
- 6.7 Containers
- 6.8 Cloud Design Patterns
6.9 Networks¶
- 6.9.1 OSI
- 6.9.2 TCP/IP Model
- 6.9.3 HTTP, HTTPS
- 6.9.4 Proxies
- 6.9.5 Firewalls
7. Management¶
- 7.1 PMI
- 7.2 ITIL
- 7.3 RUP
- 7.4 Prince2
- 7.5 Certifications
- 7.6 LeSS
- 7.7 SAFe
- 7.8 XP
- 7.9 Kanban
- 7.10 Scrum
- 7.11 Agile Model
8. Important Soft Skills¶
- 8.1 Documentation
- 8.2 Communication
- 8.3 Estimate and Evaluate
- 8.4 Balance
- 8.5 Consult & Coach
- 8.6 Marketing Skills
9. Enterprise Software¶
- 9.1 MS Dynamics
- 9.2 SAP ERP, HANA, Business Objects
- 9.3 EMC DMS
- 9.4 IBM BPM
- 9.5 Salesforce