When it comes to programming, there is no such thing as an expert. Well, there is one. Only one expert though, but that's beside the point. The field of programming evolves and changes, every day you have a new battle and you cope with the fact that you will not stick with the same routine for long. OK fine, his name is Jon Skeet and you can find him on Stackoverflow. So annoying...
Nowadays, we have heroes in the programming field. You will hear of a Notch, John Carmack, Donald Knuth, or Margaret Hamilton. Kids chant their name, and make inspirational memes with whatever they said, but this is something we borrowed from the hollywoods, we shouldn't have. Yes these people made their mark and are great programmers in that respect, but they are mythicized.
Real heroes are never as polished as the legend that surrounds them — Snake - Peace Walker.
New graduates or people who are just entering the field of programming, think they need to be as good as these guys and gals before they could do anything. I watched student struggle with printing "Hello World" on the screen not because they couldn't follow the simple instructions in their book, but because they couldn't grasp how this relates to the zeroes and ones they had learned about in their introductory class.
Hint: Nobody knows!
Most concept in programming seems foreign, but the students know, or believe, that the expert, the true programmers, have grasped every aspect of it. The good news is, No they don't understand everything. I worked for almost 10 years in the field, and I only just learned how the computer adds two numbers together. Think about that for a moment. I have posed as The Expert in meetings that triggered millions of dollars in revenue, yet I didn't know how the computer added two numbers together.
I like this analogy by Matt Ridley better,
No one knows how to make a computer mouse. You need the assembled talents of a metallurgist, a plastics specialist, someone in supply chain management, a software whiz, etc.
Not to say that the people I cited earlier are any less deserving, but they are just people. I followed the bandwagon of calling Linus Torvald a genius. Like most people, I didn't really know anything about him, until I watched one of his interviews. He couldn't speak one coherent sentence and he is always rude to everyone online. Not to say he didn't create something amazing that runs the very world I work in, but he is just man, with all his flaws and glory.
If you are struggling with a simple concept in programming, don't fret over it. Move on. You will learn other things, that seem unrelated at first, but at the end they will all tie together and make more sense. I spent my time in school learning trigonometry and only years later I figured out what the heck cosine or π were.
What those people we call expert did that the majority of people don't is very simple. They don't spend time thinking about how they would have been better off if they were experts. Instead, they work some more.
It's easy to accept that nobody is perfect, yet somehow we struggle with accepting that no one is an expert. Except Jon Skeet that is.