Yes it feels like that sometimes. I have studied human languages (2, English and French) and I can see how coding is very similar to languages. Lexicon might no be it all but if you do not have most of it or sufficient of it you cannot solve some of the problems. I have found that the more programming lexicon I get the more problems I can solve, the more creative I can be.
By the way talking about Barbara Oakley, I took one of her courses and I liked the concept of interleaving and how the mind gains by effort but also how is good to step from a problem when you are stuck and let it sink, your brain will keep working at it. So I do this, I interleave using not just leisure activities but other learning activities, topics and programming languages, concepts or paradigms. I also step from a problem when I get really stuck and work on something else or just take a break, or look at some other code solutions by others.