I spent an entire summer staring at C and getting blocked on ridiculous basic stuff because I had dumb learning techniques and kept being too ambitious. I know a solid guy who did first-year C three times before he passed.
Sounds like we're just using different definitions for "good". You seem to define it as meaning competent, so yes, you and your friend fall into the category of people who have successfully taught yourself to program computers despite not being wired to do it.
I was talking about the Fred Brooks 10X types when I said "good". Those guys didn't drop Comp Sci 101.
Again, please try not to take it personally. They're not better people than you. They just took to computer programming like everybody else takes to breathing.