Matt Rickard

Share this post

How to Increase Developer Velocity

blog.matt-rickard.com

Discover more from Matt Rickard

Thoughts on engineering, startups, and AI.
Continue reading
Sign in

How to Increase Developer Velocity

Aug 26, 2022
Share this post

How to Increase Developer Velocity

blog.matt-rickard.com
Share

Developer velocity is something that every engineering organization wants, but the steps aren't always clear on how to get it.

19 snippets of best engineering practices that help developers move faster.

  1. Preview environments on pull requests.

  2. One-click local deployment (through something like skaffold, docker-compose, or a bespoke tool).

  3. Developers can deploy a significant part of the stack locally.

  4. Inner loop (locally compile/deploy) feedback cycles < 5 seconds. For frontend toolchains (e.g., interpreted) should have hot-reload; for backend, optimized and cacheable builds. For small teams, that might mean an optimized BuildKit Dockerfile; for bigger teams, a reproducible build system.

  5. Always release-able main branch.

  6. Automated releases.

  7. Reasonable full deploy time (rule of thumb: small teams, <15 minutes, large, <1 hour).

  8. Standardized merge workflow (squash, merge, or rebase) that optimizes for either a linear commit history or one that retains feature branch context. This makes it easy (easier) to perform rollbacks.

  9. No submodules. Balance of monorepos and microservices (U-shaped). When organizational debt exceeds technical debt.

  10. Easy for developers to spin up their own infrastructure (developer accounts/staging environments).

  11. Frozen packages, checked in or reproducibly defined.

  12. Automated CI/CD pipeline (logs available, no bespoke instances).

  13. Only a few different languages and stacks running production (no toolchain sprawl).

  14. Monitoring and alerting (should scale with company size).

  15. Limited third-party services (or open-sourced and debuggable ones).

  16. An integration test suite that can be run locally.

  17. Infrastructure defined as code that makes it trivial to spin up a new environment or make changes.

  18. Code review culture. Ad hoc for small teams. For large teams, nearly everything gets code reviewed (see some things I look for).

  19. High signal to noise on integration tests. Your Integration Tests are Too Long.

Share this post

How to Increase Developer Velocity

blog.matt-rickard.com
Share
Previous
Next
Comments
Top
New
Community

No posts

Ready for more?

© 2023 Matt Rickard
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing