I have this sort of experience in programming as well.<p>For the whole 5 years of my programming hobby and career, I wrote primary in ruby(now, starting to do javascript), struggling with my own problem and bugs and generally learning how to write good code. I didn't think I was learning much, since I was doing this whole thing in ruby and rubygame.<p>It took a beginner programmer who asked for help to see the extent of my knowledge. From there, I efficiently dispatch each problems one by one, pointing out the simple errors that the newbie made. He was so thankful that he gave me 10 bucks.<p>Even so, I still felt that I wasn't so smart given the vast domain of knowledge that exists in programming and computer science. Surely, there is someone my age who is way smarter than me and programmed all sort of cool stuff. Surely there is someone who can code a tetris clone with unfathomable beauty.<p>I reckons that each programmer in the world only solve a fraction of the problem space in the area that they're interested in.