Engineering Notebook
Notes on building software.
A running set of notes on programming, system design, databases, and the engineering fundamentals underneath. Organized like a notebook — by topic, in order, nothing in the way.
Start from page one →Contents
14 sections01ProgrammingC++ and JavaScript fundamentals — syntax, paradigms, closures, and asynchronous programming.→02DSAData structures, algorithms, and the problem-solving patterns behind them.→03Node.js InternalsThe event loop, streams, memory management, and concurrency underneath the Node.js API.→04Design PatternsReusable solutions to recurring design problems, and when each one actually applies.→05DatabaseHow data is stored, indexed, queried, modeled, and optimized across SQL and NoSQL systems.→06LLDLow-level design: classes, interfaces, and object-oriented design for real systems.→07HLDHigh-level system design: architecture, scalability, reliability, and distributed systems.→08DevelopmentEngineering practices — API design, code review, Git workflows, observability, and security.→09TestingUnit, integration, and load testing strategies for building reliable software.→10C++ Addons for Node.jsBuilding high-performance native addons for Node.js with the V8 API.→11AI AgentsAgent architectures, memory systems, tool use, and multi-agent systems in production.→12DeploymentContainers, CI/CD, load balancing, and the infrastructure that ships software to production.→13Software ManagementProject planning, stakeholder management, and productivity for engineering teams.→14Technology FundamentalsProtocols, networking, DNS, and the infrastructure that powers the internet.→