Software-Engineering

Software Engineering Core Learning Roadmap

For every topic, always cover:


Chapter 1: Computer Fundamentals

1. Memory

2. CPU

3. Process

3.1 Multiprocessing
3.2 Shared Memory Processes

4. Threads

4.1 Multithreading

5. Cache


Chapter 2: Networking and Internet

1. Network and Internet Basics

1.1 Router and Switch
1.2 WiFi and ISP Working

2. OSI Model

3. IP, MAC, and Ports

3.1 Data Packets

4. Protocols

4.1 TCP and UDP
4.2 HTTP and HTTPS
4.3 SSH
4.4 WebSockets

5. Firewall

6. Proxy

7. Data Encryption

7.1 Symmetric Encryption
7.2 Asymmetric Encryption
7.3 Hashing

Chapter 3: Core Backend Concepts

1. API

1.1 API Design
1.2 API Security
1.3 API Testing
1.4 API Types
1.5 WebSockets and Webhooks

2. Authentication and Authorization

3. JWT

4. Sessions and Storage

5. Caching

6. Docker

7. Git and GitHub

8. Logging and Monitoring

9. Sync and Async Systems

Message Brokers

10. Testing

11. Service Workers

12. Code Quality


Chapter 4: Database Internals

1. How Databases Work with Disk

2. CAP Theorem

3. ACID Properties

4. PostgreSQL vs MongoDB

5. Database Internals

6. Database Monitoring

7. Table Design

8. Indexing

9. Joins

10. Database pooling

Chapter 5: Advanced

  1. Load balancing
  2. Horizontal vs vertical scaling
  3. Distributed systems basics
  4. Event-driven architecture
  5. Backpressure
  6. Rate limiting algorithms
  7. Circuit breaker pattern
  8. Database connection pooling
  9. Observability