Ready-to-use checklists, recommended books, essential tools, and cheat sheets. Save them, print them, use them on every project.
Run through this before every production deployment. Takes 5 minutes and can save hours of incident response.
These books are referenced by senior engineers at Google, Meta, Netflix, and Amazon. If you read 5 of these, you'll think differently about software forever.
Robert C. Martin • 2008
Martin Kleppmann • 2017
Gene Kim et al. • 2013
Google SRE Team • 2016
Nicole Forsgren et al. • 2018
John Ousterhout • 2018
The tools used by high-performing engineering teams. These are the tools that, once you start using, you can't imagine working without.
Free CI/CD built into GitHub. 2000 minutes/month free. Supports matrix builds, caching, and 15,000+ community actions. The default choice for most teams.
Package your app with its dependencies. docker-compose for local dev environments that mirror production exactly. Essential for onboarding new developers in minutes.
Open-source metrics collection and visualization. Prometheus scrapes metrics, Grafana visualizes them. Self-hosted, free, and used by thousands of teams.
Real-time error monitoring with stack traces, user context, and release tracking. Know about bugs before your users report them. Free tier for small teams.
Feature flag management. Flagsmith is open-source and self-hostable. LaunchDarkly is enterprise-grade with advanced targeting and experimentation.
Load testing tools that run from CLI or CI. Simulate 1000+ concurrent users to find performance bottlenecks before launch. Write tests in JavaScript.
# EVERYDAY COMMANDS git status # see what's changed git log --oneline -10 # last 10 commits, compact git diff HEAD # unstaged changes git stash push -m "wip: feature X" # save work temporarily # BRANCHING git checkout -b feature/my-feature # create + switch branch git branch -d feature/my-feature # delete local branch git push origin --delete feature/x # delete remote branch # MERGING & REBASING git merge --no-ff feature/x # merge with commit (preserves history) git rebase main # replay commits on top of main git rebase -i HEAD~3 # squash last 3 commits interactively # UNDOING git reset HEAD~1 --soft # undo last commit, keep changes staged git reset HEAD~1 --mixed # undo last commit, keep changes unstaged git revert <commit-hash> # create new commit that undoes a commit (safe) git restore src/file.js # discard changes in a file # FINDING THINGS git log --all --grep="bug fix" # search commit messages git blame src/utils.js # who changed each line and when git bisect start # binary search for bug-introducing commit
# BUILD & RUN docker build -t myapp:1.0 . # build image from Dockerfile docker run -d -p 3000:3000 myapp:1.0 # run detached, map port docker run --rm -it myapp bash # interactive shell, auto-remove # INSPECT docker ps # running containers docker ps -a # all containers including stopped docker logs -f my-container # stream logs docker exec -it my-container sh # shell into running container docker inspect my-container # detailed container info (JSON) docker stats # live CPU/memory usage # DOCKER COMPOSE docker compose up -d # start all services detached docker compose up -d --build # rebuild and start docker compose down -v # stop and remove volumes docker compose logs -f backend # stream logs for one service # CLEANUP docker system prune -af # remove ALL unused images/containers docker volume prune # remove unused volumes docker images | grep none # find dangling images