TLDR;
-
Continuous Integration and Continuous Deployment
-
Automated QA and Full Product Regression Test Suite
-
TDD - Unit Testing
-
Code Reviews and Automated Code Quality Checks
-
Mentoring
Alternate Title: 5 Things that your company or agency should be doing to get the most out of your Software Engineers
1. Continuous Integration and Continuous Deployment
Continuous Integration (CI) is a development practice where engineers integrate code into a repository several times a day. Each check-in is verified by an automated build. This allows teams to detect problems early whereas Continuous Deployment aims to reduce the time elapsed between writing a line of code and making that code available to users in production. Ideally, a passing automated build means the product is deployed to production. Numerous tools exist to help teams accomplish this: CircleCI, Codeship, Docker, etc