Booleans, the ones and zeros, trues and falses, make up the world programmers live in. I think programming is deep, it teaches us about the non-cyber universe we live in. There's something spiritual about computers, and I want to understand it. Programming is good training in the scientific method. That truth was available to me the instant I discovered the malfunctioning software, but it took five hours of investigating, digging in, and challenging assumptions before the truth was clear, and I could move on to the next problem.
Programmers build castles out of theorums.
Every program is proof that certain input will produce certain output. We build more complex castles, and look for synergies that allow the generality we like and still be approachable in non-mathematical ways. In movies they call this suspension of disbelief. In programming we call it the user interface. An insightful Charles Connell paper on how most software stinks .