DM
All learning areas
Repeatable process

Developer Playbooks

Step-by-step approaches for situations developers face in real projects.

Topic library

Approach an unfamiliar codebaseDebug a production issueInvestigate a slow APIChange a database schema safelyPlan a large refactorReview a pull requestWrite a technical design documentRelease a risky featureRoll back a deploymentRespond to an incidentWrite a postmortemEvaluate a dependencyManage technical debt

Featured guides

Practical starting points for the highest-value topics.

Approach an unfamiliar codebase

Build a reliable mental model before making broad changes.

  1. Run the application and one representative test before editing anything.
  2. Locate entry points, route definitions, configuration, and package manifests.
  3. Trace one user action through the interface, API, business logic, and persistence.
  4. Read recent pull requests to learn conventions and active areas.
  5. Make one small change and verify your understanding with a maintainer.

Key idea: Follow real execution paths; do not try to read every file.

Release a risky feature

Reduce blast radius and make recovery a normal part of the plan.

  1. Define success, failure, owners, and observable signals.
  2. Separate deployment from release with a feature flag when possible.
  3. Verify backward compatibility and rehearse the rollback.
  4. Release to a small cohort and watch technical and product signals.
  5. Expand gradually, document the result, and remove temporary controls.

Key idea: A rollout plan without a tested rollback is incomplete.

Evaluate a dependency

Choose libraries using evidence instead of popularity alone.

  1. Write down the exact problem and compare against a small in-house solution.
  2. Check maintenance activity, release history, license, size, and platform support.
  3. Review its security history and transitive dependencies.
  4. Prototype the hardest integration and removal path.
  5. Record the decision, owner, upgrade plan, and exit strategy.

Key idea: The true cost includes upgrades, incidents, learning, and eventual removal.