I have a friend and previous co-worker who hoped that by learning Python he could work on a legacy system I built while we worked together. He's able to make some tweaks and get a general idea of it, but translating intention to algorithm is still mostly mystic to him. He was shocked after I showed how to simplify some 30 lines of if clauses with a dict, he learned the syntax for a dict but didn't really understood how it works, or to what it's good for. This kind of illumination, I believe, only comes after learning some theory, not syntax, or your favorite framework.