And as I mentioned to my nephew, one thing that wasn't studied, but makes for an enjoyable career in programming is, well, enjoyment of the programming process! This includes analysis, design, coding, testing, debugging, and documentation.
I obviously enjoy the craft; my latest recreational thing has been hacking a Python script to solve the soma cube. (I hesitate to mention this because you really don't have to enjoy it that much, really…) I was quite pleased to find that my script found 240 unique solutions. But that's already more than you wanted to know.
Oh, and this post from last August about my life as a computer guy.