Ha lo largo del tiempo la humanidad creció  de una manera acelerada, debido a ello sus necesidades cambiaron y esto los llevo a crear herramientas que les permitieran satisfacer dichas necesidades. Desde una simple lanza, hasta cosas mas complejas como la inteligencia artificial, carros autónomos, etc. La tecnología se desarrollo al mismo paso y hoy día es muy complicado que una persona tenga el conocimiento de todas las tecnologías que existen.





Uno de los campos que mas llama la atención es la programación, debido a que es la forma en la cual nos comunicamos con las maquinas y nos permite darle instrucciones de lo que se quiere que realicen. Así como el aprender un idioma es complejo, el aprender a programar no es algo tan sencillo y requiere de tiempo y dedicación.

En este post quiero hablar de una buena ruta para aprender a programar y darte algunos consejos en base a mi experiencia.


Hay 3 cosas importantes que se deben definir al empezar en la programación y esas son:
  1. ¿Se quiere aprender a plenitud la programación?.
  2. ¿El interés en la programación es profesional, por hobby o meramente económico?.
  3. ¿En que campo se quiere aplicar la programación.
Plantear estas preguntas te ayudara a buscar la mejor manera para que alcances tu objetivo y no pierdas  tiempo en otras cosas.


Entrando ahora si a las recomendaciones sobre lenguajes y código, que me imagino que es la razón de que estés en este post, empezar por C/C++ me parece que es la mejor opción, siempre y cuando hayas contestado que si a la primer pregunta. 

Es uno de los lenguajes mas conocidos  y también de los mas difíciles de aprender debido a que todo se debe hacer paso a paso. A pesar de su dificultad es de gran ayuda debido a que muchas de las tecnologías hoy existentes están basadas en C/C++. 

Una vez que logres comprender este lenguaje tan rustico, migrar a otro lenguaje sera mas sencillo debido a que muchos tienen la misma estructura.



Las principales desventajas de este lenguaje es su dificultad y sobre todo que tiene una ruta de aprendizaje bastante larga. 

Por eso, es importante plantearte con toda honestidad la segunda pregunta, si quieres comenzar a programar solo por cuestiones de dinero y generar ingresos lo mas rápido posible, puede que este no se el mejor camino.




Mencionando un poco de la ruta de aprendizaje de C/C++:


  1. Sintaxis.
  2. Programación Estructurada.
  3. Programación Orientada a Objetos
  4. Buenas Practicas en Programación.
  5. Análisis Numérico.
  6. Bases de Datos.
Es un camino bastante tardado pero al final si entiendes los temas sera de gran ayuda cuando requieras cambiar de lenguaje.





Ahora bien, si tus intereses van hacia el lado de ahorrar tiempo y generar dinero, existen lenguajes que su curva de aprendizaje es mas rápida. Hacer lo que te gusta es la primicia al querer programar, de aquí la necesidad de responder la ultima pregunta. 

Hay herramientas optimas para cosas como el desarrollo de vídeo juegos, diseño, inteligencia artificial, blockchain y minería de criptomonedas.

Desenvolverte en lo que te gusta te ayudara a esforzarte en aprender lo que requieres y , aunque suene muy trillado, el dinero vendrá solo. Un gran plus sera que el tiempo que tardes en dominar los temas sera muy corto debido a que tu pasión te llevara a practicar constantemente lo aprendido y todo sera muy sencillo.



En ocasiones, el dedicarte a lo que te gusta no trae los resultados de inmediato, por lo cual, el saber cuales son las tendencias hacia la tecnología y tener conocimientos en esto no estaría de mas.

En seguida te dejo un vídeo con referencias a los empleos que mas demanda tendrán en este 2020 para que tengas una idea general.




Siendo mas especifico, recomiendo aprender python si el tiempo es algo fundamental en tu formación para programar. Es un lenguaje bastante flexible y con facilidades para escribir código. Al día de hoy es utilizado en muchos de los ámbitos de programación antes mencionados y con un campo laborar bastante amplio.



Si tu principal interés es el desarrollo web, el seguir el camino de back end, front end o full stack deberás definirlo tu y lo que mas te agrade. 

El back end es toda la estructura y detrás de cámaras que existe en una pagina web, como por ejemplo, el servidor, hosting, bases de datos, etc. 

Por otra parte un programador front end es aquel que se dedica a todo el diseño de una pagina web, animaciones, colores y demás. 

Un desarrollador full stack tiene conocimiento tanto en back end como en front end.

Relacionado al desarrollo web esta javascript, html, sql, css, y frameworks como angular, django, mongodb, entre otros.



Para el desarrollo de aplicaciones en Android existe Android Studio programando en Java o Kotlin o si lo tuyo es Windows,  C# es una opción bastante interesan.




Para concluir este post te dejo algunos links con cursos que te pueden ser de ayuda para aprender,  sin importar cual sea el camino que quieras elegir:

Youtube C++

Programación Básica Platzi

Aplicaciones Android

Paginas web Html y CSS

Video juegos

Back end con PHP y SQL

Javascript

Python 3

Xamarin

Fuera del ámbito de la programación recomiendo tomar el curso de marca personal de Platzi, que es bastante interesante y te ayudara a dar una mejor imagen como desarrollador. Para cualquier problema o información mas especifica, no dudes en contactarme por cualquier medio y recuerda  apoyarme  siguiendo mis redes sociales.

Curso Marca Personal