Chess. In many ways, chess is very similar to programming. It is a beautiful mix of art & science. It requires constant learning, studying and practice to get better. It allows you to solve puzzles and identify patterns. It has been around for many centuries and yet people still find new strategies.