It's funny, I've been playing guitar now for 30 years and just learned by ear. Somewhere along the way I found that I could almost ~see~ (for lack of a better word) the intervals that make up chords when I hear them, and it was very easy for me to learn to play anything I heard.
I went on to have a decent career as a profession musician before I settled down to get a "real job" (as my now-ex-wife so nicely put it). After all that, several years ago I decided to go take lessons so I could learn theory, scales, chord construction, etc.
OK... I felt like an idiot! How can I play and instrument for so many years, and yet have such a hard time grasping the theory behind it?
Being a programmer and a bit of a geek, I sometimes find it easier to learn something when I am teaching it to someone. So I started this giant Excel sheet and plotted out how the chords were made, that's when things started to click into place for me.