Fui programador hace bastantes años. Estoy muy descolgado, pero trabajo en una empresa donde hay programación.
Te diría varias cosas genéricas:
- Aprende los fundamentos de programación antes de decidir. Puedes estar haciéndote una idea de en qué consiste la programación muy distinta a lo que realmente es
- Hazlo solo si te gusta. Porque si te gusta, podrás disfrutar trabajando. Pero si no, es un trabajo que puede exigir una concentración y un nivel de estudio y experimentación constante, que te pueden llevar a odiarlo. No es un trabajo alimenticio
- Si te metes, piensa en ser bueno, te llevará tiempo. Un programador mediocre tiene un futuro bastante dolido, es un trabajo en el que el nivel bajo no pasa desapercibido. Canta mucho
- Los programadores buenos no tienen problema en encontrar su sitio. Antes o después encontrarán donde los valoren, con un trabajo razonable con un sueldo razonable
- Hazte un plan de aprendizaje conciso. Simplemente para entender todo lo que podrías llegar a aprender, te vas a volver orate. Si no conoces qué lenguajes hay, para qué sirven, la diferencia entre escritorio, o internet, APP, ventajas o inconvenientes, qué es un framework, qué es una API, te podrá pasar (y no serás el primero..) que después de aprender algo durante tiempo....no es lo que buscabas.
No se parece en nada un front que un back, por ejemplo. Que te guste razonablemente el diseño o la usabilidad, o que lo tuyo sea el pensamiento abstracto puede significar dos profesiones totalmente distintas.
- Búscate un mentor. Pagado. Puedes estudiar todo lo que quieras por tu cuenta, material lo tienes inagotable. Seguramente será más rápido que buscar un curso ya hecho, donde habrá mucha una manola.
Pero si tienes la posibilidad de tener un programador senior con el pandero pelado que te de clases particulares, será fundamental. Que sepa explicarte esos conceptos que cuesta entender, pero que te muestre también la realidad del día a día, muchas veces muuuuy alejada de lo que se hace en una universidad, FP o curso
- Ten paciencia. Ser programador significa tener una mente muy estructurada sobre muchas cosas. Análisis, conocimientos de programación, conocimientos de un lenguaje concreto (o varios...), elementos accesorios (otros softwares o tecnologías...), más una capa muy importante de entrenar el instinto para saber cuál es la mejor solución en cada caso
Por ejemplo, si te vas al desarrollo web, tendrás que conocer HTML, CSS, el lenguaje de servidor que sea y Javascript. Pero ojo, si no conoces todos ellos (más tecnologías accesorias...), no sabrás encontrar la solución óptima. Porque cada reto que tienes delante se puede hacer de 1.000 formas distintas.
Este punto es importante, ser un programador junior sin experiencia no implica que no sepas hacer una programación buena. Pero será subóptima por esa falta de experiencia: estará mal estructurada, tardará mucho tiempo de desarrollo, provocará problemas futuros, tendrá demasiadas dependencias, será lenta o inestable, etc etc.
Vamos, que la experiencia esa ahorra muchíiiisimos problemas. Y es la que se paga.