(and also about #devops and my job)
People like to say that programming computers is like music, and they are right and they are wrong. Computers are instruments… but they are also the players of the instruments. Programming a computer is not like being a musician. You do not have to hit keys in the right sequence and the right timing, you do not have to achieve perfection in realtime. Programming a computer is like writing music, being a composer. You take an idea in your head and you turn it into instructions - via a programming language, a notation -- for the players to perform.
I am not much of a composer-programmer. I have never written a symphony. Instead, I write little ditties that express one theme. They get the job done.
What I mostly do, in fact, is conduct. Systems administration is conducting an orchestra of computers. You take music programs written by other people, and arrange them to be played by the computers you have, and then you practice with them to get the effect you desire. Conducting, though, is too much like a performance. You need to have good timing. You need to understand the whole system and do the right things at the right time – conducting is a form of dance. Dancers use their bodies as instruments…
I avoid conducting whenever possible. Instead, I write and test out choreography for conductors that works with the music written by composers to get a performance out of the players.*
Or, if you prefer, we use DevOps techniques to automate our system administration tasks in order to get software to run on computer networks.
*and then I have other musician-computers listen to the performance and tell me if mistakes happened; then I go back and fix mistakes or ask composers to fix them.