My personal notes on software engineering, collected from experience and synthesized from the reading materials I’ve consumed.
Core Engineering Practices
Fundamental approaches to building quality software.
- Good Software Practices - Principles and practices for sustainable development
- Writing Good Code - Code quality, patterns, and clean code principles
- Testing - Testing strategies and best practices
- DORA - DevOps Research and Assessment metrics
Software Design & Architecture
System-level design decisions and architectural patterns.
- System Design - Architecture, APIs, data, and system design principles
- Delivery - Delivery processes, team patterns, and workflows
Delivery & Operations
Getting software into production and keeping it running.
- Shipping It - Build, deployment, and platform concerns
- Developer Effectiveness - Improving engineering productivity
Technology & Tools
Specific technologies, frameworks, and development tools.
- Tech Stack - Languages, frameworks, and infrastructure
- Web - Web development, frontend, and design
- Mobile Dev - Mobile development
- Terminal - Command line tools and utilities
- Computer Setup - Development environment setup
Professional Development
Growing as an engineer and working effectively with others.
- Learning - Continuous learning and professional growth
- How 2 Consultant - Consulting skills and approaches
Resources
- Document Templates - Templates for common engineering documents
- Wisdom - Collected wisdom from various sources
- Novel Ideas - Interesting concepts to explore
- Side Projects - Personal project ideas
- Computer Science - CS fundamentals and theory
External Resources
Engineering Blogs
- Spotify Engineering - Engineering culture and practices
- Netflix TechBlog - Netflix technical blog
- Devblogs.co - Aggregated developer blogs
- TIL - Today I learned - Daily learnings
Tools & Utilities
- Excalidraw - Collaborative whiteboarding
- tldraw - Infinite canvas for sketching
- Reqres - Hosted REST API for testing
- keybr.com - Typing practice
- Causal Loop Diagram - System thinking template
Standards & Patterns
- Conventional Commits - Commit message format
- Diátaxis - Documentation framework
- Choose an open source license - License selection guide
Related
- Reading List - Books, articles, and talks that have influenced my thinking