🌳 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.


πŸ’» 2. Programming Languages & Paradigms

How we express computation β€” the tools of thought.


πŸ—„οΈ 3. Data Management

Storing, retrieving, and moving data β€” the lifeblood of applications.


βš™οΈ 4. Systems & Infrastructure

The machines, networks, and platforms that run our software.


πŸ—οΈ 5. Software Design & Architecture

Structuring code and systems to be maintainable, scalable, and elegant.


πŸ”§ 6. Development Process

The practices and tooling that make teams effective.


πŸ›‘οΈ 7. Reliability & Operations

Keeping systems running β€” the art of not being paged at 3am.


πŸ” 8. Security

Protecting systems, data, and users from harm.


πŸ€– 9. Machine Learning & AI

Teaching machines to learn β€” increasingly core to engineering.


πŸ‘₯ 10. Human & Organizational

Software is a team sport β€” the people side of engineering.


☁️ 11. Cloud Providers & Proprietary Systems

Vendor-specific services and internal platforms β€” proprietary instances of the concepts above.


🌐 12. Web & Mobile Development

Building user-facing applications β€” the most visible layer of our work.


πŸ› οΈ 13. Developer Tooling & Productivity

The tools that multiply developer effectiveness β€” mastering them is a career-long leverage multiplier.


πŸ—ΊοΈ How to Use This Vault

  1. Start here β€” Browse the tree to find what interests you
  2. Go deep β€” Each MOC links to detailed topic notes
  3. Build connections β€” Add your own notes and link them with [[wiki-links]]
  4. Track progress β€” Use tags like #learned, #in-progress, #to-study
  5. 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:

LevelTermDescriptionExample
1DomainBroadest subject area. Each numbered section is a domain.Data Structures
2CategoryA grouping within a domain. Represented as H2/H3 headings in MOCs.Linear Structures
3ConceptA specific, nameable thing. The bolded terms in bullet points.Arrays
4Sub-ConceptA 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