Mike is a Java software developer with a passion for creating great products. Domain-driven design & Test-driven development are some of his favorite tools. His code is clean and easy to modify, thanks to the modular, loosely coupled design achieved by continuous TDD iterations backed by a deep understanding of business requirements. Mike is also a professional consultant and trainer. Recently he has created an interactive training program to help you become a professional software developer.