Debemos partir del hecho de que hoy en día la información está de alguna u otra forma al alcance de nuestras manos en prácticamente todos los ámbitos que podamos imaginar, entonces, la respuesta a ésta pregunta realmente está dentro de cada uno, ya que las motivaciones personales por las cuales estás interesado en aprender a programar son las que determinarán en cuanto tiempo lo logres (nótese que no dudo de que lo logres, sino la premura).
Espíritu rebelde y autodidacta
Este es tema muy importante ya que determinará tu futuro en la programación, me refiero a que debes desarrollar una destreza autodidacta, ya que la tecnología cambia todos los días, por lo cual por más que logres masterizar una tecnología, lo más probable es que tengas que seguir aprendiendo nuevas y mejores opciones continuamente.
Sitios de referencia y de aprendizaje
Siempre que desarrollas es necesario tener sitios web donde acudas regularmente a enterarte de nuevas técnicas, tecnologías y herramientas, así como de sintaxis y cosas puntuales de un leguaje de programación o herramienta, acá te dejo una lista de recursos seleccionados por mi para que los vayas agregando a tu lista de referencias.
Acompañamiento o Comunidad
Como todo en la vida habrá momentos en los que te sientas agobiado o impaciente ante algo que no te esté funcionando, en éstos casos cuando ya has probado de todo y no se dan las cosas, acude a una comunidad o a un amigo que conozca más del tema, no dejes que una situación así te aleje de aprender o dejar un tema inconcluso, en los recursos del link anterior, la mayoría de escuelas gratuitas tienen una comunidad gratuita de apoyo, si no te funcionan siempre hay una opción pagada, al momento no tenemos una selección de comunidades pagadas, pero pronto la tendremos.