Learn unit testing, TDD, mocking and Dependency Injection: techniques that you'll need to build reliable software.