Software Architect

roadmap.sh: https://roadmap.sh/software-architect

Suggested path through the Software Architect nodes. Each node links to its lesson when written.

Nodes

Architecture Fundamentals

  • What is Architecture
  • Levels of Architecture
  • Enterprise Architecture
  • Application Architecture
  • Design vs Architecture
  • System Properties
  • Trade-offs
  • Balance
  • Important Skills to Learn

Architecture Styles & Patterns

  • Layered Architecture
  • Client / Server
  • Microservices
  • Microfrontends
  • Serverless
  • Stateless Architecture
  • MVC / MVP / MVVM
  • Patterns & Design Principles
  • Cloud Design Patterns
  • CQRS & Eventual Consistency
  • Saga Pattern
  • Service Discovery
  • Service Locator

Design Principles

  • OOP
  • Functional Programming
  • Reactive Programming
  • SOLID Principles
  • Domain-Driven Design (DDD)
  • Twelve-Factor App

Distributed Systems

  • Distributed Systems
  • System Design
  • ACID / CAP Theorem
  • Actors
  • Transaction Management
  • Hashing Algorithms
  • Containers
  • Virtual Machines
  • Virtualization

APIs & Integration

  • APIs & Integrations
  • REST API
  • GraphQL
  • gRPC
  • RPC
  • SOAP
  • Web Services
  • ESB / SOAP
  • BPM / BPEL
  • Messaging Queues
  • Auth Strategies
  • Session Management

Data & Storage

  • Relational Databases
  • SQL Databases
  • NoSQL Databases
  • Data Warehouse Principles
  • ETL & Data Warehouses
  • Hadoop
  • Apache Spark
  • Hadoop / Spark / MapReduce
  • Storage Area Network
  • EMC / DMS

Networking & Security

  • Networks
  • OSI Model
  • TCP/IP
  • HTTP / HTTPS
  • Proxies
  • Firewalls
  • PKI
  • OWASP
  • Security

Operations & Delivery

  • Operations Knowledge
  • Linux / Unix
  • Windows
  • CI / CD
  • Infrastructure as Code
  • Cloud Providers
  • Version Control
  • Git
  • GitHub
  • Webpack
  • Testing
  • Frameworks
  • Tools and Technologies

Programming Languages

  • Programming Languages
  • JavaScript / TypeScript
  • TypeScript
  • Java / Kotlin / Scala / Swift
  • .NET Framework Based
  • Python
  • Go

Enterprise Frameworks & Methodologies

  • Enterprise Software
  • TOGAF
  • IAF
  • ITIL
  • BABOK
  • Scrum
  • Kanban
  • LeSS
  • PRINCE2
  • PMI
  • IBM BPM
  • MS Dynamics
  • Atlassian Tools

Soft Skills & Practices

  • How to Code
  • Documentation
  • Understanding Requirements
  • Estimate and Evaluate
  • Decision Making
  • Strategic Thinking
  • Risk Management
  • Stakeholder Management
  • Team Management
  • Management
  • Communication
  • Consult & Coach
  • Marketing Skills

Resources

See resources.md.

Project ideas

  • Design and document the architecture of a multi-tenant SaaS platform: produce C4 diagrams, ADRs, and a trade-off analysis covering data isolation, auth, and scaling.
  • Build a reference event-driven microservices system (order/payment/inventory) using messaging queues, CQRS, and the Saga pattern, then document failure modes and eventual-consistency guarantees.
  • Run an architecture fitness review of an existing app: map quality attributes, identify bottlenecks, propose a target architecture with a migration roadmap and risk assessment.

1 item under this folder.