Some computer programming flows out of me like water. It’s effortless, and interesting.
But there’s also computer programming that feels like a heavy mallet smashing into my brain.
I’ve figured out the difference: when I’m writing programs that conform to my understanding of the world, it’s easy.
And when I’m working with people with whom I share a fundamental understanding, it’s easy.
But when I’m working to specs provided by a client with a totally different conception of how the world works, it’s a long, slow slog.
The reason for this is that I have to, in essence, adopt the client’s world view, see the world as they see it, and believe in their way of understanding. It’s only by doing this that I can effectively muck around in their world and do what needs to be done.
It’s hard enough just being me; having to mind-morph myself into an accountant or a biologist or a bureaucrat is hard work. And maintaining that state of mind while letting code dance out of my fingers is even harder. And if I lose focus, or lose faith in the client’s world view, it’s tantamount to falling into an abyss.
Programming is easy. Wearing several different belief systems a day is hard.
I don’t get paid for the code I write, I get paid to be a nimble, effective, faithful chameleon. Who writes code.