I’m a programmer and a musician.
@benjmiller and I have a constant conversation going on about my theory that all programmers are musicians. It’s held quite true. We inevitably ask the question of each programmer we come into contact with, “So, what do you play?”
Programming takes a fair amount of calculations, logical thinking, and spacial reasoning. Music is, in my opinion, the same. Take the note A on a piano (above middle C) which vibrates at 440 times a second. Go up one octave to the next A, and it vibrates 880 times a second. Go down an octave from that original 440 A to find a 220 A. Interested? Learn more here.
My point about the vibrations is that even if people are unfamiliar with the math behind it, many people are accustomed to manipulating these sounds. Some people are masters of it without any formal training. We call that talent. Many people who have the talent for music also have the same talent for manipulating code as well without any formal training. In the same way that someone sings in the shower or figures out how to play the melody to their favorite song when sitting down to a piano for the first time, many programmers get started at their craft. They get curious, they want to dissect something that’s formulaic in nature to figure out how it was constructed, then they reconstruct and use the same formulas to create similar things.
So, my theory is that all programmers have the innate ability to be a musician and vice-versa. The exceptions to the rule: I’m just going to chalk up to the fact that those non-musician programmers simply haven’t given it the old college try. The notion of ‘practice makes perfect’ also applies here going above and beyond talent, though that’s a universal thing.
I love music. I love code.
If you are a musician or a programmer and haven’t tried the other, try it out. You might be pleasantly surprised.