|What do you mean by a good programmer?He does have 6 years of experience. |
There's more to being good than just having experience.
To answer your original question, there's nothing at all demeaning about being honest about your strengths and weaknesses, and about knowing where you are in your progress in learning a topic.
As others have said, identifying yourself as a beginner is helpful in letting others know how to tailor their answers to you. If I know I'm talking to someone who's inexperienced in C++, I'll try and write my answer in terms a beginner will understand, keeping it simple and not going into digressions about advanced C++ features. If I'm answering someone who seems to be experienced, then I may go into those extra details, and skip over explaining basic stuff.
(Or at least, that's what I ought to do. I suspect I'm not as good at it as I'd like.)
Anyone who's so full of pride and ego that they have to pretend they know more than they actually do, is hindering their own development and growth - in programming, or in any aspect of life.