An expert in any programming language has:

  • Intimate knowledge and experience in a diverse array of designs and implementations the language is commonly used for.
  • Familiarity and expertise with the latest methodologies and design patterns,
  • Vast knowledge of its distinctive features.
  • Even greater knowledge of possible traps and pitfalls.
  • A long list of good resources to query when he encounters something he is not familiar with.
  • A strong and diverse portfolio of previous projects with that language at different positions (implementation, design).