We also do trainings in working principles for software development. Some best practices are very useful to write better source code right from the start. The test driven development practice is one of the favorites for instance.