Chess players make great programmers. It's not a vague correlation, the cognitive toolkit that separates a 2400-rated chess player from a 1600-rated one maps almost exactly onto what separates a senior engineer from a junior one. Both fields reward the same mental habits: pattern recognition over brute force, structured search over random...