Before diving headlong into freelance software development, Tim Haak had experienced a variety of working environments, from corporates to startups to more mature small and medium businesses.