Steven's Knowledge
Engineering Culture

Technical Practices

CI/CD, automated testing, and technical debt management

CI/CD — Continuous Integration and Delivery

  • Automatically trigger builds and tests after code commits
  • Keep the main branch always deployable
  • Automate the deployment pipeline to reduce manual operations
  • The more frequently you deploy, the smaller the risk per deployment

Automated Testing

  • Build a culture of automated testing, not just reliance on manual testing
  • Testing is part of development, not extra work done after development is complete
  • Write tests for new features, add tests when fixing bugs
  • Test coverage is a reference metric, not a goal — having tests for critical logic matters more than chasing numbers

Technical Debt Management

  • Technical debt is normal, but it needs to be managed consciously
  • Regularly assess the impact and priority of technical debt
  • Allocate a percentage of each Sprint to address technical debt
  • Document technical debt: What it is, why it was created, what's the impact, what's the fix
  • Don't let it accumulate until it becomes unmanageable

Engineering Efficiency

  • Focus on Developer Experience (DX) — good tools and processes make people more efficient
  • Automate repetitive work: formatting, linting, deployment, monitoring
  • Development environments should be easy to set up — new members should be able to get started quickly
  • Regularly optimize build times, test times, and other development feedback loops

On this page