There’s nothing like the rush you get from taking a hard problem and making it easy with Test-Driven-Development.