Time and determination. That's all it takes.
I recently introduced interface-based programming to my cohort of students and I was surprised how well many of them learned the basic concepts. Well, all it takes is a couple of days and an introduction to C# Generics to put the stopper on the enthusiasm. Even though the mechanism of generics might seem easy to grasp for a highly experienced developer, someone who is only 3.5 months into learning software development sees it as an almost insurmountable mental activity to understand.
Their neurons haven't been completely rewired to make that pattern of signal flow automatic yet. Only masters in a subject can do it with a small amount of thought. Their brains do it so quickly as to make it seem magical to a beginner.
BUT!
My two junior instructors took it all fairly in stride. They are both now a year out from graduating, and if I had taught them these concepts while they were students, they would have had the same struggles. It truly drives home how important Reflection is to allow the brain time to restructure the neurons for particular thinking pathways.