I started out programming from simple games in Visual Basic, then moved on to programming competitions, then to software development, until I realized that, in order to build truly innovative systems and have real impact, I need to deeply understand the underlying theory, which led to the decision to do a PhD.