Creo que realmente depende de la definición de "bueno" o del propósito de "ser bueno".
Por ejemplo, consideremos Java.
La mayoría de los trabajos no se conformarían con que seas bueno en el lenguaje central, esperarían que seas competente con API específicas (por ejemplo, Swing para GUI) o incluso API de terceros (como todas las cosas Apache) . No necesariamente tiene que saber cada caso de esquina.
La investigación académica e industrial puede requerir que usted realmente conozca el idioma por dentro y por fuera.Por ejemplo, si escribe una herramienta de análisis estático o una optimización del compilador, es mejor saber de los casos límite.
En educación y en control de calidad, a menudo es importante conocer todos los rincones extraños y sus riesgos. Esto es típico con C++. En educación, porque puedes contar con estudiantes que cometen estos errores accidentalmente. En QA, porque ahí es donde se encuentran algunos de los errores más extraños (por ejemplo, las condiciones de carrera en la inicialización estática).
En cuanto a cómo se implementan las características, creo que puede ser un gran programador sin saber cómo se implementan ciertas cosas (por ejemplo, detalles de la VTBL en C++), pero es importante saber cómo se implementan otras cosas (por ejemplo, recolección de basura, administración de memoria, algunas librerías) para escribir código realmente bueno y eficiente.
@epochwolf - ¡Gracias por la edición, parece mucho más claro ahora! – Pranav