Are Chess,Go and Poker no longer worth playing?
In a very interesting and provocative podcast by Jeff Meyerson of Software Engineering Daily Jeff argues that people should move away from playing the above games where the computer is highly perficient to games where the computer will have problems beating humans for a long time to come. Jeff recommends games such as Magic and Mindcraft. Jeff then maps the ability to play such games to the new skills required by people in the workplace of the future particularly in the area of software engineering. As a software developer and ameature chess player I felt a need to respond.
I believe Chess can develop ones cognitive skills which then can be applied to the working environment now and in the future. I will outline here some of the elements chess has taught me and how I applied them in my work.
If anything chess teaches one to be ruthlessly objective in the assessment of a problem. You cannot just wish things to happen you have to plan and calculate. Imagine a situation where you have a winning position and you embark on the incorrect plan. After making the first move of the bad plan your position is so good all you have to do is return the piece to the original square regardless of the opponents move and try to find the correct plan again. This is psychologically very difficult to do but to be successful at chess you must learn this. How many software engineers out there persist in trying to solve a problem the wrong way because they cannot admit to themselves that their strategy was wrong to begin with.
Defining and Calculating the Goal
In the assessment of a position in chess sometimes one needs to look at the desired end position and work your way backwards from there. In calculating this way you can achieve surprising results. Too often in our jobs we get caught in the details that are nothing to do with the desired goal.
In the middle and opening phase of the game in chess one has to use ones calculating skills. In the endgame with less pieces on the board one must think schematically. This requires you to break down the problems you need to solve into schemes and then calculate the moves to impemet them. A good engineer must also breakup problems into solveable parts.
I would encourage everyone to learn any mind game as it all helps in developing cognitive skills. The reason I want to see chess to continue to progress is that when a great game is played it becomes immortal. It is rare these days for somebody to win a game directly out of the opening at the pro level so what we see are players using their creativity to cause specific problems for their apponent’s style. I have included two links to youtube videos from some of Gary Kasparov’s games. This will give you an insight into how chess players analyse and it is not all calculation. These games proove that chess is a combination of art, science and sport. Surely software development is no different.