Preface

 

Like most people in our field, I’ve always been fascinated with problem solving. The painful thrill of hunting for a solution, the exhilarating relief of having found a fix—there’s nothing quite like it. When I was young I really enjoyed strategy games, such as chess, which I’ve played ever since I was a kid; StarCraft, a real-time strategy game I played for 10 years straight; and Magic: The Gathering, a trading card game that can be described as the intersection between poker and chess. They presented plenty of problem-solving opportunities.

At primary school I learned Pascal and rudimentary Flash programming. I was psyched. I would go on and learn Visual Basic, PHP, C, and start developing websites, reaping the benefits of a masterful handle on <marquee> and <blink> tags, paired with a modest understanding of MySQL; I was unstoppable, but my thirst for problem solving didn’t end there, and I went back to gaming.