I don't believe this. Most people aren't willing to put the time and effort into understanding certain things others do understand.
"This is why it's so hard to find good programmers."
It's hard to find good programmers because many just want a paycheck and they don't care about the quality of code they are churning out.
I disagree. Let me give an example. I remember my networking course in university. The professor had a sort of teaching method by asking questions and then giving logical conclusions. I never could logically explain engineering decisions in networking protocols like my classmates. He would ask a question about some feature or design situation and ask a random person. They always got it. It was not in the book or any where readily available.
He could ask crazy design questions, that to me seemed more like a parallel thought puzzle, and my class mates got it. Always. Professor learned to not ask me after a while because I never could do it. I'm like a dog, everyone else was like a human. They have insight that I don't and I never could get it; a potency in their mind that I lacked. I never got it like they did. I flunked my way through that class at dead last but passing, just like I had done for all the years I spent in school since I was a child.
Maybe I could recite things by memory about network protocol design but I could never really understand it like everyone else in that class did.
I don't think you know what it means to be a failure with no real recourse. I mean NO recourse short of a radical alteration to my biology. Have some compassion for people for whom things simply don't work out. Everyone seems to think that if you aren't the best it's 100% your fault and in a way it's true. Sometimes people just get bested and it's just the cards that were dealt to them.