Skip to content

mcholismalik/software-engineer-be-roadmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 

Repository files navigation

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

About

Software Engineer Backend Roadmap

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published