Code Review Best Practices That Help the Author Ship
Code review best practices that help the author ship the same day: review for risk, not taste, bucket comments, and stop blocking on nits.
Feature Flags Best Practices Without the Maze
Feature flags best practices: separate deploy from release, name flags so you can grep them, log the variant, and delete them before they haunt production.
Environment Variables, Secrets, and the Config Mess
The app works on your machine. CI fails because API_URL is missing. Staging points at production Stripe because .env was copied. A secret is in the repo from 2021 and…
How to Ask for Help Like an Engineer
You have been stuck for three hours. You ping “it doesn’t work.” A senior spends twenty minutes reconstructing your setup, then asks for the error, then asks what you tried.…
How to Onboard Onto a Repo Nobody Documented
The README is “coming soon.” The wiki is a 2019 screenshot. Slack history is in a workspace you are not in. You are expected to ship a small ticket this…
Caching: The Bugs You Introduce on Purpose
Caching is how you make a slow thing fast. It is also how you serve yesterday’s price, yesterday’s permission, and a logged-out header on a logged-in page. Every cache is…
How to Estimate Work Without Lying to Your Team
Someone asks “how long?” You say two days because two days sounds responsible. The work has an unknown vendor, a migration, and a designer who is on leave. Four days…
CSS Layout Without Fighting the Box Model All Week
You add width: 100% and the page grows a scrollbar. You set height: 100% and nothing happens. You center a div with four different tricks and it is still 3…
How to Leave a Messy Codebase Better Than You Found It
You will not get a greenfield. You will get a repo that grew for six years, with a folder named new-new-api, a helper called utils2, and a comment that says…
Tests Worth Writing and Tests You Should Skip
A test suite that takes twelve minutes and fails because a button’s CSS class changed is not a safety net. It is a tax. Teams respond by skipping CI or…