I am a polyglot programmer with more than 15 years of professional programming experience. When learning a new programming language, I start with a familiar problem and try to learn enough of the new language to solve it. For me, an engine for solving genetic algorithms is that familiar problem. Why? For one thing, it is a project where I can explore interesting puzzles, and where even a child's game like Tic-tac-toe can be viewed on a whole new level. Also, I can select increasingly complex puzzles to drive evolution in the capabilities of the engine. This allows me to discover the expressiveness of the language, the power of its tool chain, and the size of its development community as I work through the idiosyncrasies of the language.