I find myself very good at picking up small examples of code. I think the real challenge in programming isn't learning how if statements, loops, arrays, etc. work but how to put them together to do what you want. This is the real challenge and I believe this is a combination of self-teaching (maybe experiences) and natural ability.