After reflection, I decided to post my initial comment here as a "solution," with a few additions.
My advice is simply to try and avoid worrying about what type of programmer you are, or other people are, and just get busy studying, reading, practicing, and setting yourself real problems to solve. Everyone, at some point in time, was a "beginner," everyone has been confused by new syntax and struggled towards mastery of whatever programming language they adopted.
Study other people's code, study the great articles, and tutorials, here on CodeProject.
Get a few good books to read, and read them over, and over, again, being patient with your own progress in understanding. There are a few writers who have published books on C# who I think have a special gift for teaching; among them I would include Charles Petzold, Jesse Liberty, and, Matthew MacDonald. You can see further comments I've made on books for C# here: [
^], [
^].
I believe that you grow your "technical mind" the way a tree grows, ring after ring added over time. You need to get comfortable with a type of learning that is not "all or nothing," but involves making multiple passes over the same documentation, the same code, again, and again. To quote the great Sufi poet, Kabir: "where there is a garden, the flowers will come" ("rahi gulzar to phool khilenge").
I think there are some key cognitive skills that enable becoming a better programmer that can be developed through persistent, disciplined effort, including the ability to be aware of when you are frustrated, and need to "back-off" and let the mind relax before resuming study.
Another ability I have observed in the really good programmers (far better than I will ever be) I had the privilege to work with at Cricket, Emerald City, Adobe, and WildTangent, was ... perhaps more of a character trait ... a "humility" in the sense of never hesitating to admit they had not grasped the full implications of a technical problem, or that had over-worked their code: a kind of personal flexibility that was often accompanied by a wonderful sense of humor :)
Given the way most of us have been socialized to be motivated by financial reward and peer pressure, putting yourself ... if you can ... into situations like an internship, or volunteering to assist on a project where you have opportunity to interact with people at more advanced levels of skill than you have, can be very valuable.
I took up programming after the age of forty, and I truly hope that when you are seventy years old, as I am, you will look back on your career in programming with the happy conviction that it was one of the best choices you ever made, and laugh at your memories of the incredible dramas you may have been through (as I laugh when I think about the "birth" of Acrobat, in which I played a significant role) !