Software Engineer Backend Roadmap

Backend engineer roadmap from zero to one.

  • ⭐ (Beginner)
  • ❄️ (Intermediate)
  • 🔥 (Advanced)

Table of Contents

  1. Big O(n) Notation
  2. Algorithm
  3. Data Structure
  4. Software Architecture
  5. Programming Language
  6. Database
  7. Protocol
  8. Test
  9. Distributed System
  10. DevOps
  11. Security
  12. Bonus

Big O(n) Notation

  1. O(1) ⭐
  2. O(n) ⭐
  3. O(log n) 🔥
  4. O(n log n) 🔥
  5. O(n^2) ⭐

Algorithm

  1. Recursion ⭐
  2. Search
    • Linear Search ⭐
    • Binary Search ⭐
    • Tree Traversal ⭐
  3. Sort
    • Bubble Sort ⭐
    • Quick Sort ❄️
    • Merge Sort ❄️
  4. Sliding Window ❄️
  5. Two Pointer ❄️
  6. Greedy 🔥
  7. BFS & DFS 🔥
  8. Dynamic Programming 🔥
  9. Backtracking 🔥

Data Structure

  1. Array ⭐
  2. LinkedList ⭐
    • Single LinkedList
    • Double LinkedList
    • Circular LinkedList
  3. Stack ⭐
  4. Queue ⭐
  5. Tree ❄️
    • Tree
    • Binary Tree
    • Binary Search Tree
    • Heap
  6. Graph 🔥
  7. Hash 🔥
  8. Bloom Filters 🔥

Software Architecture

  1. Paradigm ⭐
    • Object Oriented Programming
      • Encaptulation
      • Abstraction
      • Inheritance
      • Polymorphism
    • Functional Programming
  2. Principle ❄️
    • SOLID Principle
    • Clean Architecture
  3. Design Pattern 🔥
    • Creational
      • Factory
      • Builder
      • Singleton
      • Prototype
    • Behavioral
      • Observer
      • Iterator
      • Strategy
      • Command
    • Structural
      • Adapter
      • Facade
      • Bridge
      • Composite
  4. Architecture

Programming Language

  1. Golang

    • Basic syntax ⭐
      • Struct
      • Pointer
      • Defer Recover
    • I/O
      • Reader ⭐
      • Writer ⭐
      • Stream 🔥
    • Concurrency
      • Goroutine ⭐
      • Channel ❄️
      • Select ❄️
      • Sync Package ❄️
        • Wait group
        • Mutex
    • Low Level 🔥
      • Garbage collector
      • Context switching
      • Go runtime scheduler
      • Goroutine queues
      • Stealing work
  2. NodeJS

    • Basic syntax ⭐
      • Closure
      • Interpolation
    • I/O
      • Reader ⭐
      • Writer ⭐
      • Stream 🔥
    • Concurrency
      • Promise ⭐
      • Clustering 🔥
      • Child process 🔥
    • Low Level 🔥
      • Event queue
      • Event loop
      • Thread pool
      • Callback
      • Promise

Database

  1. Principle ❄️
  2. Transaction Isolation Level ❄️
    • Serializable
    • Repeateble Read
    • Read Commited
    • Read Uncommited
  3. Optimization
  4. Type
    • SQL ⭐
      • Postgres
      • MySQL
    • No SQL 🔥
      • MongoDb
      • Elastic Search
      • Cassandra
      • Scylla
    • Memory ⭐
      • Redis
      • Memcached
    • Distributed 🔥
      • Debezium

Protocol

  1. TCP / UDP ❄️
  2. HTTP ⭐
  3. Rest API ⭐
  4. Grpc ❄️
  5. Websocket 🔥
  6. Graphql ❄️
  7. Webhook ❄️
  8. Sftp ⭐

Distributed System

  1. Pattern ❄️
    • Ambassador
      • Kubernetes Envoy
    • Circuit Breaker
    • CQRS
    • Event Sourcing
    • Leader Election
      • Zookeper
    • Sharding
  2. Microservices
  3. Database 🔥
  4. Race Condition 🔥
    • Optimistic Locking
    • Pessimistic Locking
  5. Load Balancer ❄️
    • Round robin
    • Worker pool
  6. Thorttling 🔥
    • Rate Limiter
    • Circuit Breaker
  7. Fusing 🔥
    • Request Coalescing
    • Idempotency
    • Batch Processing
  8. Logging ⭐
    • Datadog
    • Logstash
  9. Monitoring & Alerting 🔥
    • Prometheus
    • Grafana
    • Pyroscope
  10. Tracking 🔥
    • Open Telemetry
    • Zipkin
    • Jeager

Test

  1. Unit Test ⭐
  2. Functional Test
  3. Integration Test ⭐

DevOps

  1. Scaling ⭐
    • Vertical
    • Horizontal
  2. Load Balancer ⭐
  3. CDN (Content Delivery Network) ⭐
  4. TCP ⭐
  5. IP Address ⭐
  6. DNS ⭐
  7. Proxy & Reverse Proxy ⭐
  8. SSL, TLS, HTTPS ❄️
  9. Container
    • Docker ⭐
    • Kubernetes 🔥
  10. CI/CD
    • Jenkins ❄️
  11. Ops 🔥
    • Git flow
  12. Serverless 🔥

Security

  1. Authentication ⭐
  2. Authorization ⭐
  3. Oauth2 ⭐
  4. CSRF ⭐
  5. XSS ⭐
  6. Validation ⭐
  7. Encryption ❄️

Bonus

  1. System Design
  2. Behavioral

Contributing

Your contributions are always welcome.

License

CC0