π³ Software Engineering β Tree of Knowledge
A comprehensive map of every major concept area in software engineering. Use this as your home base. Each link leads to a deeper branch of the tree.
π§± 1. Foundations
The roots β CS fundamentals everything else is built on.
- 01 - Foundations MOC
- Data Structures β Arrays, Linked Lists, Trees, Graphs, Hash Maps, Heaps, Tries
- Algorithms β Sorting, Searching, Graph Algorithms, Dynamic Programming, Greedy, Backtracking
- Computational Complexity β Big-O, P vs NP, Space Complexity, Amortized Analysis
- Mathematics for CS β Discrete Math, Linear Algebra, Probability, Statistics, Information Theory, Queueing Theory
π» 2. Programming Languages & Paradigms
How we express computation β the tools of thought.
- 02 - Programming Languages and Paradigms MOC
- Programming Paradigms β Imperative, OOP, Functional, Logic, Concurrent
- Concurrency β Threads, Locks, Await, Actor Model, CSP, Lock-Free Programming
- Type Systems β Static vs Dynamic, Strong vs Weak, Type Inference, Generics, Algebraic Types
- Language Implementation β Compilers, Interpreters, JIT, ASTs, Parsing, Bytecode
- Memory Models β Stack vs Heap, Garbage Collection, Reference Counting, Ownership (Rust), Manual Management
ποΈ 3. Data Management
Storing, retrieving, and moving data β the lifeblood of applications.
- 03 - Data Management MOC
- Relational Databases β SQL, Normalization, Joins, Indexing, Query Optimization, Transactions
- NoSQL Databases β Document, Key-Value, Column-Family, Graph, Time-Series
- Database Selection Guide β Decision Factors, Tradeoffs, Polyglot Persistence Patterns
- Data Modeling β ER Diagrams, Schema Design, Denormalization, Migrations
- Caching β Strategies, Redis, Memcached, CDN Caching, Cache Invalidation
- Data Pipelines β ELT, Streaming vs Batch, Kafka, Spark, Beam, Trino, Data Lakes, Data Warehouses
- Database Operations β Connection Pooling, Query Analysis, Maintenance, Backups, Schema Migrations
- Search Systems β Inverted Indexes, Text Analysis, Ranking, Full-Text Search, Vector Search
- Data Serialization Formats β JSON, Protobuf, Avro, Parquet, Arrow, Schema Registries
βοΈ 4. Systems & Infrastructure
The machines, networks, and platforms that run our software.
- 04 - Systems and Infrastructure MOC
- Operating Systems β Processes, Threads, Memory Management, File Systems, I/O, Scheduling
- Networking β TCP/IP, HTTP, DNS, TLS, Load Balancing, CDNs, WebSockets
- Distributed Systems β Consensus, CAP Theorem, Replication, Sharding, Message Queues
- Cloud and Containers β Docker, Kubernetes, Serverless, IaC
ποΈ 5. Software Design & Architecture
Structuring code and systems to be maintainable, scalable, and elegant.
- 05 - Software Design and Architecture MOC
- OOP and SOLID Principles β Encapsulation, Inheritance, Polymorphism, SOLID, Composition vs Inheritance
- Design Patterns β Creational, Structural, Behavioral (Gang of Four + Modern)
- Architectural Patterns β Monolith, Microservices, Event-Driven, Layered, Hexagonal, CQRS
- API Design β REST, GraphQL, gRPC, WebSockets, API Versioning, Rate Limiting
- Domain-Driven Design β Bounded Contexts, Aggregates, Entities, Value Objects, Ubiquitous Language
- System Design Tradeoffs β Consistency vs Availability, SQL vs NoSQL, Monolith vs Microservices, Build vs Buy
π§ 6. Development Process
The practices and tooling that make teams effective.
- 06 - Development Process MOC
- Version Control β Git Internals, Branching Strategies, Monorepos vs Polyrepos
- Testing β Unit, Integration, E2E, Property-Based, TDD, Mocking, Fuzzing
- CI-CD β Pipelines, Deployment Strategies, Feature Flags, Environments
- Methodologies β Agile, Scrum, Kanban, Extreme Programming, Shape Up
- Code Quality β Code Review, Linting, Static Analysis, Refactoring, Technical Debt
π‘οΈ 7. Reliability & Operations
Keeping systems running β the art of not being paged at 3am.
- 07 - Reliability and Operations MOC
- Observability β Logging, Metrics, Tracing, Dashboards, Alerting
- Incident Management β On-Call, Runbooks, Post-Mortems, Blameless Culture
- Site Reliability Engineering β SLAs, SLOs, SLIs, Error Budgets, Toil Reduction, Production Readiness
- Disaster Recovery and Business Continuity β Restore, Failover, DR Tiers, RPO/RTO
- Traffic Management β Traffic Shifting, Load Shedding, Dynamic Configuration
- Performance Engineering β Profiling, Benchmarking, Load Testing, Capacity Planning, Chaos Engineering
- Cost Engineering / FinOps β Cloud Costs, Right-Sizing, Reserved Capacity, Spot Instances, Unit Economics
π 8. Security
Protecting systems, data, and users from harm.
- 08 - Security MOC
- Cryptography β Hashing, Symmetric/Asymmetric Encryption, TLS, Digital Signatures, PKI
- Authentication and Authorization β OAuth 2.0, OIDC, JWT, RBAC, ABAC, SSO, MFA
- Application Security β OWASP Top 10, Input Validation, XSS, CSRF, SQL Injection, SSRF
- Infrastructure Security β Network Security, Secrets Management, Zero Trust, Container Security
- Supply Chain Security β SLSA, SBOM, Dependency Scanning, Artifact Signing
- Compliance and Privacy β GDPR, SOC 2, HIPAA, PCI-DSS, Privacy Engineering
- Security Operations β Vulnerability Management, SIEM, Penetration Testing, Blue Team
π€ 9. Machine Learning & AI
Teaching machines to learn β increasingly core to engineering.
- 09 - Machine Learning and AI MOC
- ML Fundamentals β Supervised, Unsupervised, Reinforcement Learning, Bias-Variance, Evaluation
- Deep Learning β Neural Networks, CNNs, RNNs, Transformers, GANs, Diffusion Models
- Natural Language Processing β Tokenization, Embeddings, LLMs, RAG, Fine-Tuning, Prompt Engineering
- MLOps β Model Serving, Feature Stores, Experiment Tracking, Model Monitoring, Data Versioning
- ML System Design β Batch vs Real-Time, Recommendation Systems, Search Ranking, Responsible AI
π₯ 10. Human & Organizational
Software is a team sport β the people side of engineering.
- 10 - Human and Organizational MOC
- Technical Communication β Documentation, ADRs, RFCs, Diagramming, Writing for Engineers
- Engineering Management β Team Topologies, Tech Lead vs Manager, Hiring, 1-on-1s, Planning
- Engineering at Scale β Platform Engineering, Technical Governance, Staff Archetypes, Org Antipatterns
- Career Development β IC vs Management Track, System Design Interviews, Open Source, Google Interview Prep
βοΈ 11. Cloud Providers & Proprietary Systems
Vendor-specific services and internal platforms β proprietary instances of the concepts above.
- 11 - Cloud Providers and Proprietary Systems MOC
- AWS Services Guide β Compute, Storage, Databases, Networking, Messaging, ML, Security
- GCP Services Guide β Compute, Storage, Databases, Networking, Data Analytics, ML, Security
- AWS vs GCP Service Mapping β Side-by-side service equivalents
- Google Internal Technologies β Borg, Spanner, Bigtable, Dremel, Stubby, Zanzibar, BeyondCorp
- Google Internal to External Mapping β Internal β Open Source β GCP equivalents
π 12. Web & Mobile Development
Building user-facing applications β the most visible layer of our work.
- 12 - Web and Mobile Development MOC
- Web Fundamentals β HTML, CSS, DOM, Browser Rendering Pipeline, Critical Rendering Path
- JavaScript & the Browser β Event Loop, Web APIs, Web Workers, Service Workers, Module Systems
- Frontend Frameworks β React, Vue, Angular, Svelte, Signals, State Management, SSR/CSR/SSG
- Web Performance β Core Web Vitals, Lighthouse, Code Splitting, Image Optimization, Tree Shaking
- Build Tooling β Webpack, Vite, esbuild, Turbopack, Babel, SWC, PostCSS, Tailwind, Monorepo Tools
- Accessibility β WCAG, ARIA, Semantic HTML, Screen Readers, Keyboard Navigation
- Browser APIs & PWAs β Service Workers, Cache API, Web Push, Offline-First, WebSockets, WebRTC
- Frontend Testing β Testing Library, Visual Regression, Playwright, Cypress, Storybook
- Mobile Development β iOS (Swift, SwiftUI), Android (Kotlin, Compose), React Native, Flutter, App Distribution
- Internationalization β Unicode, ICU Message Format, Locale-Aware Formatting, RTL, Time Zones
π οΈ 13. Developer Tooling & Productivity
The tools that multiply developer effectiveness β mastering them is a career-long leverage multiplier.
- 13 - Developer Tooling and Productivity MOC
- Editors & IDEs β VS Code, JetBrains, Vim/Neovim, Emacs, LSP, DAP
- Shell & Terminal β Bash/Zsh, Shell Scripting, Dotfiles, tmux, Modern CLI Tools
- Debugging β Interactive Debuggers, Memory Debuggers, Profilers, Log-Based Debugging
- Package Managers β npm/yarn/pnpm, pip/uv/poetry, Cargo, Go Modules, Maven/Gradle
- Containers for Development β Dev Containers, Docker Compose, Testcontainers
- AI-Assisted Development β Code Completion, Chat-Based Coding, AI Code Review, Limitations
πΊοΈ How to Use This Vault
- Start here β Browse the tree to find what interests you
- Go deep β Each MOC links to detailed topic notes
- Build connections β Add your own notes and link them with
[[wiki-links]] - Track progress β Use tags like
#learned,#in-progress,#to-study - Use Graph View β Obsidianβs graph view will visualize your knowledge tree
π‘ This vault is a starting scaffold. The real value comes when you fill in the notes with your own understanding, examples, and connections.
𧬠Ontology
This vault organizes knowledge at four levels of specificity. Each MOC follows this hierarchy:
| Level | Term | Description | Example |
|---|---|---|---|
| 1 | Domain | Broadest subject area. Each numbered section is a domain. | Data Structures |
| 2 | Category | A grouping within a domain. Represented as H2/H3 headings in MOCs. | Linear Structures |
| 3 | Concept | A specific, nameable thing. The bolded terms in bullet points. | Arrays |
| 4 | Sub-Concept | A variant, detail, or sub-topic within a concept. The descriptions after the em dash. | contiguous memory, O(1) random access, B-Trees, DAGs |
Domain β Category β Concept β Sub-Concept
This terminology comes from ontology (knowledge representation). Alternate terms you may encounter:
- Domain = field, discipline
- Category = class, subclass, subdivision
- Concept = topic, entity
- Sub-Concept = variant, detail, attribute, facet