<i>When I program, I’m playing chess with the computer. The board is wide open and there are tons of moves to make, but which move is the right one? Typing commands into my terminal to compile and run my latest masterpiece is just another turn. A runtime error means I’ve lost a pawn. A cryptic, nonsense compiler error? The computer just took my Queen.</i><p>Wrong analogy, I think. I would say when you program, you're expressing, or describing, an idea/design/thought to a computer. The computer is your ally and 99.999% of the time it does exactly what you tell it. I think, on some philosophical level, that this matters. The computer isn't out to get you, steal your pawns or whatever. It's sole purpose is to bring your ideas, however flawed they may be, to life. And yours is to harness that power and learn to express your thoughts as effectively as you can.