← Back to portfolio Study Notes

Study Notes

A Field Guide to Software Engineering

Working through the craft one topic at a time — short, honest notes on what each idea is for, when to reach for it, the trade-offs, and how it is actually built.


The Syllabus at a Glance

10

Fields of engineering

98

Topics mapped out

4

Angles on every topic

Revised as I learn

Programming Fundamentals

The bedrock — how to structure code and reason about what it costs.

Algorithms & Data Structures Time Complexity OOP Functional Programming Design Patterns Clean Code SOLID Testing

Backend

How servers talk, stay secure and hold up under load behind an API.

REST GraphQL gRPC WebSockets Long Polling SSE Authentication Authorization JWT OAuth2 Rate Limiting Caching Queues Cron Jobs API Versioning Idempotency

Frontend

What users actually touch: the browser layer, from markup to performance.

HTML/CSS JavaScript TypeScript React Accessibility Performance

Databases

Storing data so it stays correct, consistent and fast to query.

SQL Normalization Indexes Transactions ACID NoSQL Redis

Architecture

How the big pieces of a system are divided and made to cooperate.

Monolith Microservices Event Driven CQRS DDD Hexagonal API Gateway Service Discovery

DevOps

The path from a commit to a running server — build, ship, operate.

Linux Git CI/CD Docker Kubernetes Terraform Nginx Reverse Proxy Load Balancing SSL/TLS DNS CDN Monitoring Logging Tracing Blue-Green Deployment Canary Deployment Rolling Updates

Cloud

Renting compute, storage and services instead of owning the hardware.

AWS Azure IBM Cloud GCP Serverless Object Storage Secrets Management

Security

Keeping attackers out and data safe by design, not by luck.

OWASP Top 10 XSS CSRF SQL Injection SSRF CORS Encryption Hashing Secrets Zero Trust

Scalability

Staying fast and available as traffic and data grow.

Horizontal vs Vertical Scaling Sharding Replication CAP Theorem Consistency Availability Fault Tolerance Circuit Breaker Bulkhead Retry Backoff

Career & Craft

The practice around the code — process, communication and craft.

System Design Code Reviews Agile Scrum Documentation Observability Performance Profiling

This guide is a living document. Topics begin as entries with a detailed explanation on hover, and become links to full write-ups as I work through them — feedback and corrections are welcome.