The "Expert/Master At (Language)" Point
DanielStraight: You are a master of a programming language when you consistently write idiomatic code in that language which exploits the power of the language to solve difficult problems in an easy-to-explain way.Or in detail:You must consistently write code in the language. Knowledge without experience cannot make you a master.You must write idiomatic code for the language. If you're just writing FORTRAN in another language, then you might be a FORTRAN master, but you aren't a master of the language you're using.You must exploit the power of the language. If you're writing "for" rather than "foreach" loops to iterate over a collection in C# or rolling your own LinkedList class, you aren't a master of C#.You must solve difficult problems. Writing Hello World will never make you a master.You must write code in an easy-to-explain way. If you are the only person who can read your code, you aren't a master of the language.