What programming is like for me
I am human. Because I am human and a descendant of fallen Adam and Eve, I also have a fallen nature, I have flaws and have errors in my thinking. This is where logic errors come from, and where software bugs come from. I am pretty sure this is also one of the reasons why we only use a percentage of the capacity of our brains. I think that before the fall, Adam and Eve were using the full capacity of their brains. After all, they named all the animals that God brought before them. Just as in Mathematics, naming things is a definite programming task (for variables and functions). Why do you think we have dictionaries? But I digress. Naming things needs to also be a form of communication too, because other people have to be able to read your code and understand it.
I make lots of mistakes, but I try to keep the end-result of my code as high of quality as I can get it - I can do this because I usually end up going to Jesus when things don't work as expected (I personally may not catch everything because I have the tendency to think the code looks perfect when it is not). so far, I think you will find the releases for the most part quite satisfactory, being the command-line tools that they are. My process is not perfect either, because Jesus is not involved in every step along the way, and the fact that I'm not perfect like He is.
Programming is like running blind into a series of walls (I like to call them brick walls). After a while you either break through a wall (problem/bug) yourself, or you get help from the newsgroups, or in the times when I can't get anywhere at all, I have reached the end of everything I can do before Jesus will help me. It's amazing the number of times Her has helped me fix somebody's computer or fix my code. I think He likes it that way, because then I know and everyone else knows that it was Him that did it, not little old me. God gets the glory, just like He should.