|Think about Loose Coupling|
I started (and fell in love with) programming with a 1.5 year college course in March '99, and have been working in "the industry" for 6 months or so, but I still feel that my skills and certainly my speed as a developer are vastly inadequate. Am I being to hard on myself? Do other monks feel this way?
Be patient mothra.
It take a long time to be a good programmer, I mean not only knowing perfectly the syntax but be proficient with the idioms of the language...
And if you want to have a wide programmer background you'll have to count in years...
Yes I feel like you do, I'm a learner.
Even if I've been playing with computer since 1985 (anyone remember the TI99/4A or the ZX81 ?) All I know now is that even if I spend the rest of my life stuck on my computers 10 hours a day, I'll always be a learner : New Os, New Languages, New buzzwords (even if it's often old concepts...)
But anyway, as long as I enjoy learning and to see my skills increase, the computer-guy path will be my Path.
BTW stay humble as you are, for it's a common virtue among GREAT programmer.
Good luck, and enjoy...