Just like in any other field, 90% of workers do trivial routine things and only less than 10% actually do the most difficult things. Most programmers in the industry are average, and so am I.
There are lots of smarties/geeks who have been coding/programming since age 10-12. Obviously they have more experience than me -- I started learning software development/programming at age 20, when I first went to university.
I realize that to match their level, I would have to spend all my time for years, just solving problems, making my brains work hard and get used to a developer's mindset.
With many other things to do in life, I understand that I will most likely be constantly behind geeks - I can't solve TopCoder/Google CodeJam problems, I'm bad with algorithms etc. I should have studied programming since childhood to match the level of other geeks. In other words, I feel guilty, stupid and most of all envious and scared of geeks!
No super brainy geek knows everything about programming but: there are guys who are simply 10x better than me. I feel compelled to study all the time, but I can't and don't want to. I'm sure many developers have had this feeling - when you envy someone much smarter than you.
How do you deal with this feeling?
I'm really confused, I keep thinking they can steal my job, and I can't even compete with them.