Some necessary but not sufficient criteria for our intrepid programmer to consider himself a master of his language:<p>* He's written a non-toy compiler for the language.<p>* He knows how to choose between more or less semantically equivalent ways of writing the same code because he understands the tradeoffs involved.<p>* He's explored many or most of the dark and mysterious corners of the language and knows when and when not to invoke them in production code.<p>* He is familiar with the contents of the standard library and uses it whenever appropriate.<p>* Knuth is his homeboy.<p>That's all I can think of for now.