Aprender un lenguaje de programación lleva varios años.
Eso depende de cómo definas la competencia. En términos generales, a nivel de aplicación, puede dominar y comprender profundamente la mayoría de las funciones del lenguaje en sí, y puede utilizar la información para lograr las funciones requeridas. En el nivel inferior, puede familiarizarse con el mecanismo de implementación y comprender el proceso de ejecución y compilación del lenguaje utilizado. Este suele ser un estándar definitorio (se tarda entre 5 y 10 años en alcanzarlo), pero en realidad es específico de diversas áreas de aplicación, como arquitectura, juegos, etc.
Así que, por mucho tiempo que estudies, sólo podrás decir que lo conoces.