¿Cuánto tiempo lleva la programación de autoaprendizaje para ser lo suficientemente bueno como para ganar 90k en las grandes ciudades como programador?

Depende de la persona. Sin embargo, podría verificar sus objetivos, si solo está tratando de aprender a hacer 90k / año, probablemente no lo entusiasmarán lo suficiente como para pasar por todos los altibajos.

No se preocupe por marcar todas las casillas y aprender todo lo que necesita, en lugar de eso, concéntrese en dominar un lenguaje de programación y aprender a aprender nuevos conceptos sobre la marcha.

Realmente en lo que debes enfocarte es en poder sentirte cómodo sin tener idea de cómo resolver un problema, investigar un poco y descubrir la forma de hacerlo. Realmente se trata de convertirse en un desarrollador autosuficiente.

Mira esta publicación sobre el proceso para convertirte en un desarrollador autosuficiente:

La clave para acelerar sus habilidades de codificación: pasar el punto de inflexión y convertirse en un desarrollador web autosuficiente

Puede aprender los conceptos básicos de programación en una semana (selección, iteración y secuencia). Simplemente vaya a Khan Academy o CodeSchool o Udacity o incluso w3schools.

Pero luego están todos estos temas secundarios que son tan relevantes:

  • bases de datos
  • SQL
  • Orientación a objetos
  • MVC
  • Marcos
  • al menos 3 idiomas más
  • desarrollo web
  • CMS
  • scripting
  • redes de computadoras
  • diseño gráfico
  • IDE
  • sistemas operativos
  • sistemas de control de código fuente
  • algunas matemáticas
  • metodologías de ingeniería de software
  • pruebas
  • programación declarativa / funcional

Cualquiera de estos es un estudio en sí mismo y puede tomar semanas para convertirse en experto, o incluso años para convertirse en un experto. Si no tiene una comprensión adecuada de todos estos temas, no podría llamarse a sí mismo un valioso programador para una empresa, porque tendrá que usar todas esas técnicas, sistemas e idiomas en su trabajo, a menos que sea trabajando en un trabajo de muy bajo nivel. Dudo que puedas hacer 90K allí.

Puede interesarle saber que la mayoría de los buenos programadores que tiene son autodidactas. depende de tu tasa de aprendizaje y motivación. Aquí hay algunos consejos para ayudarlo:

Encuentre un mentor : el mundo del software es grande y hay mucho que puede encontrar en Internet al respecto, para ser sincero, hay demasiado y es difícil saber por dónde empezar. Encuentre a alguien que haya estado en la industria por un tiempo y que se mantenga actualizado. Defina un plan con esta persona sobre lo que debe estudiar

Revise su código : por lo general, hay muchas formas de lograr algo y muchas formas muy malas. Si bien Internet está lleno de excelentes recursos, está lejos de ser perfecto. Asegúrese de pedirle a su mentor que revise su trabajo de vez en cuando, para que no esté aprendiendo de la manera incorrecta.

Practique en algo significativo : seguir los tutoriales tiende a ser molesto, una vez que se sienta lo suficientemente cómodo con una tecnología, trate de llegar a una idea de proyecto personal en la que tenga que usar lo que esté aprendiendo. Eso te ayudará mucho a mantenerte motivado y estar orgulloso de ti mismo. Recuerde que PUEDE HACERLO, es cuestión de tiempo y perseverancia, pero el camino puede ser largo. Para ser un gran ingeniero de software, necesitarás 3 habilidades:

1. Tener un conocimiento de la pila completa : las aplicaciones de software son sistemas complicados compuestos de muchas tecnologías y partes: frontend, back-end, base de datos, servidor web y red. Por ejemplo: cambiar una consulta en la interfaz afectará a la base de datos si el desarrollador no tiene idea de cómo funcionan las bases de datos, la consulta podría hacer que el sitio caiga. Algoritmo y estructura de datos Programación de alto nivel (lenguajes de programación de objetos orientados) Administración del sistema y un poco de trabajo en red. Con esto, un ingeniero de software podrá navegar casi cualquier sistema / aplicación y podrá tomar decisiones de ingeniería bien pensadas.

2. Ser capaz de aprender solo: los conceptos básicos del software rara vez cambian, pero las herramientas que utiliza la industria cambian constantemente. La industria del software es probablemente una de las industrias que cambia más rápido, es por eso que constantemente necesita actualizar la aplicación de su teléfono inteligente y que sus sitios web favoritos brinden constantemente una mejor experiencia y características. En este contexto, los ingenieros de software necesitan constantemente evaluar y quizás aprender nuevas herramientas que los ayudarán a hacer que su aplicación sea más rápida, mejor y más confiable. Los nuevos lenguajes de programación y bibliotecas están constantemente llegando y uno no puede volver a la universidad cada vez que surge una nueva tecnología. Los mejores ingenieros de software son los que pueden mantenerse al día con las últimas tendencias. Por eso es fundamental que pueda aprender solo.

3. Habilidades blandas : a menos que esté dispuesto a trabajar solo, podría ser la habilidad más importante. Hay un buen libro sobre esto, “Cómo ganar amigos e influir en las personas” porque este libro es muy importante para aprender a ser un ser humano exitoso. No te puedes imaginar cómo ser amable con las personas y ayudarlas a hacer su trabajo traerá mucho. Recuerda que para una empresa, si haces bien tu trabajo, eres un 1X. Pero supongamos que también está ayudando a 10 personas a hacer bien su trabajo, entonces usted es un 11X y ese es el tipo de personas que necesitan las empresas exitosas. Si puedes conseguir estas 3 cosas, serás un programador increíble y todos querrán contratarte. Esto es lo que hacemos en la escuela Holberton. http: //www.holbertonschool.com ¡Buena suerte en tu camino para convertirte en un gran programador!

Si es muy dedicado y está por encima de las desviaciones estándar de +2 (2% superior) en velocidad de aprendizaje, y ya está familiarizado con las matemáticas de nivel secundario (hasta el cálculo diferencial y algunos cálculos integrales incluidos), probablemente pueda hacerlo en aproximadamente 6 meses, si dedicas 8 horas al día a aprender a programar.

Eso depende de qué tan rápido aprendas. Si eres un estudio rápido y realmente te aplicas, probablemente puedas aprender lo suficiente como para conseguir un trabajo de nivel de entrada con 6 a 12 meses de estudio autodirigido. Los recursos como MIT Open Courseware y similares son un buen comienzo, pero contar con un mentor será de gran ayuda, especialmente cuando se trata de criticar su trabajo.

Si realmente te aplicas durante 5 años en ese trabajo, te dedicas al oficio y escoges el cerebro de tu compañero de trabajo, puede ser suficiente para prepararte para un puesto de deleloper de nivel medio a alto con la paga que estás buscando.

La parte difícil será convencer a alguien para que te dé ese primer trabajo de nivel de entrada sin experiencia y sin educación formal. Es poco probable que incluso obtenga una entrevista si su currículum no tiene título, experiencia ni certificaciones.

Probablemente no lo lograrás si solo estás allí por el dinero. Mi otra preocupación es que quizás nunca seas lo suficientemente bueno para 90k solo como programador. Es posible que desee ver el “programador pragmático” y / o el “programador apasionado” para obtener una explicación larga de que ser un “programador” será cada vez más bajo, pero una persona de negocios / programador / solución será el próximo gran éxito. cosa. Alguien cercano al dinero y puede ayudar a protegerlo. . Revise Glass Door para conocer los salarios … han estado bajando. A las buenas personas no se les paga lo que eran hace solo unos años.

No lleva tiempo . Se necesita experiencia y persuasión .

Si puede convencer a un evaluador de recursos humanos de que no tire su solicitud y a un gerente de contratación de que puede hacer el trabajo mejor que los otros candidatos, lo contratarán con cualquier salario.

Es posible que aprenda lo único que nadie más sabe hacer que alguna empresa necesitará desesperadamente mañana. Puede ser un trabajador perezoso que no se preocupa por sus proyectos y nunca recibe el salario que desea.