Backend Engineer 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. API
  8. Test
  9. Microservices
  10. DevOps
  11. Security

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 ⭐
    • Depth First Search 🔥
    • Breadth First Search 🔥
  3. Sort
    • Bubble Sort ⭐
    • Insertion Sort ⭐
    • Selection Sort ⭐
    • Merge Sort ❄️
    • Quick Sort ❄️
  4. Concurrency 🔥
    • Multithreading
    • Multiprocessing

Data Structure

  1. Array ⭐
  2. LinkedList ⭐
    • Single LinkedList
    • Double LinkedList
    • Circular LinkedList
  3. Stack & Queue ⭐
  4. Tree ❄️
    • Tree Data Structure
    • Tree Traversal
    • Binary Search Tree Data Structure
    • Heap Data Structure
  5. Graph 🔥
    • Graph Data Structure
    • DFS Traversal
    • BFS Traversal
  6. Hash 🔥
    • Hash Map Data Structure

Software Architecture

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

Programming Language

  1. Golang

    1. Basic syntax ⭐
    2. I/O
      • Reader ⭐
      • Writer ⭐
      • Stream 🔥
    3. Concurrency
      • Goroutine ⭐
      • Channel ❄️
      • Select ❄️
      • Sync Package ❄️
        • Wait group
        • Mutex
    4. Low Level 🔥
      • Go runtime scheduler
      • Goroutine queues
      • Stealing work
  2. NodeJS

    1. Basic syntax ⭐
    2. I/O
      • Reader ⭐
      • Writer ⭐
      • Stream 🔥
    3. Concurrency
      • Promise all ⭐
      • Child process 🔥
    4. Low Level 🔥
      • Non blocking I/O, single thread event loop

Database

  1. ACID ❄️
  2. Transaction Isolation Level ❄️
    • Serializable
    • Repeateble Read
    • Read Commited
    • Read Uncommited
  3. Optimization
    • Indexing ❄️
    • Replication ❄️
    • Sharding 🔥
      • Consistent Hashing
  4. Type
    • SQL ⭐
      • Postgres
      • MySQL
    • No SQL 🔥
      • MongoDB
      • Elastic Search

API

  1. TCP / UDP ❄️
  2. Rest API ⭐
  3. Grpc ❄️
  4. Websocket 🔥
  5. Graphql ❄️
  6. Stream 🔥
  7. Sftp ⭐
  8. Pubsub 🔥
    • Kafka
    • Google Pubsub
  9. Queue 🔥
    • RabbitMQ

Microservices

  1. Monolith ⭐
  2. API Driven ⭐
  3. Event Driven 🔥
  4. CAP theorem 🔥

Test

  1. Unit Test ⭐
  2. Integration Test ⭐

DevOps

  1. Container
    • Docker ⭐
    • Kubernetes 🔥
  2. CI/CD
    • Jenkins ❄️
  3. Ops 🔥
    • Grafana
    • Kibana
    • Logstash

Security

  1. Authentication ⭐
  2. Authorization ⭐
  3. CSRF ⭐
  4. XSS ⭐
  5. Validation ⭐
  6. Encryption ❄️
    • Symetrical
    • Asymetrical
  7. Race Condition 🔥
  8. Docker Security 🔥
  9. Linux Security 🔥

Contributing

Your contributions are always welcome.

License

CC0