¿Qué necesitas para llegar a ser programador?
Me da gusto ver que recientemente en muchos foros a los que sigo veo a personas que se van iniciando en este mundo de la programación, honestamente cuando yo iba a iniciar la carrera quería estudiar otra cosa, aunque esa es otra historia, hoy me siento muy feliz de haber tomado la decisión de estudiar Ingeniera en Sistemas.
Una de las preguntas más recurrentes que he visto últimamente es:
Soy nuevo en este mundo. ¿Qué me recomiendan para aprender a programar?
O también
Recientemente me ha interesado aprender a programar, ¿que me recomiendan para conocer más?
Es normal sentirse abrumado por la cantidad de información que existe en la actualidad en Internet, más aún la cantidad de trolls que hacen de menos a aquellos que recién van comenzando. La realidad es que no hay un camino fijo o infalible existen muchas formas de iniciar en este mundo.
- Universidad
- Bootcamps
- Autodidacta
Al día de hoy me atrevo a decir que incluso no es necesario una carrera para convertirse en programador pero esto es gracias a la infinidad de recursos disponibles para aquellos que desean aprender.
El deseo de aprender
Este es el primer punto y quizá es el más importante, que seas o no exitoso en esta carrera dependerá en gran medida de tu deseo y habilidad para mantenerte en constante aprendizaje.
Hasta los más experimentados programadores googleamos las cosas más simples y no es que no sepamos, es que hay tantas cosas por digerir que a veces es difícil recordar 100% todo, lo que me lleva al segundo punto.
Elige una rama a la que quieras dedicarte
El universo de la programación está actualmente en todos lados, la industria automotriz, las fintech, la industria hotelera, los videojuegos, prácticamente todo hoy en día esta involucrado directa o indirectamente con la programación, identifica aquello que te apasione o a lo que quieras dedicarte para poder empezar a crear tu propio camino.
La historia es importante
A lo mejor no es necesario qué conozcas todo acerca de las computadoras pero siempre es bueno darse una empapada de esto porque al final te dará un mejor panorama de que carajos es una computadora, cómo maneja sus recursos, qué tipos de almacenamiento o periféricos tiene, al final si bien esto no es 100% indispensable, considero que te dará una gran ventaja a la hora de escribir tus primeros programas.
Paradigmas de programación
Existen distintos paradigmas de programación, tales como orientado a objetos, funcional, estructurado, de procedimientos, reactivo entre otros, los paradigmas son formas o estilos de programar para resolver problemas, de acuerdo al sector en el que estés interesado puede ser que necesites comprender uno o varios de estos paradigmas.
Estructuras de control
Las estructuras de control son algo totalmente necesario de comprender puesto que estas te ayudan a controlar el flujo de tu aplicación, supongamos que: dada una respuesta del usuario, cuando ingrese el valor X entonces si X es menor a 10 entonces deberemos realizar una operación pero si X es mayor a 10 entonces realizaremos una distinta.
Si me lo preguntan a mí la programación es una serie de decisiones que en conjunto realizan cosas complejas pero en la unidad son únicamente operaciones de verdadero o falso. Al final de cuentas las computadoras sólo entienden secuencias de 0 y 1 es decir verdadero o falso.
Estructuras de datos
Dentro de la programación existen las llamadas estructuras de datos, las cuales nos ayudan a poder almacenar información, filtrarla, ordenarla o hacer distintas operaciones con ella, es importante conocer estas estructuras independientemente del lenguaje ya que cada ellas quizá tenga una forma distinta de ser escrita dependiendo lenguaje escogido, lo importante es entender el concepto, sus pros y sus contras.
Lenguajes de programación
Esto va muy ligado con el área y paradigma que se haya escogido aprender, algunos lenguajes utilizan uno o varios paradigmas para la interpretación y escritura de su código por ejemplo
- Java, C#, Python son Orientados a Objetos y funcionales
- SQL es de procedimientos
- COBOL, Pascal o Fortran son lenguajes estructurados
- Etcétera
Lo más importante que hay que saber de los lenguajes de programación es que son herramientas y estas pueden ser más eficaces para ciertos escenarios o problemas que otros. El error más grande que se puede cometer es querer utilizar la misma herramienta para todo.
Frameworks
Los frameworks ó marcos de trabajo, son un set de herramientas que nos ayudan a partir de una base para construir algo de una forma más simple, existen varios frameworks dependiendo del lenguaje que se vaya a utilizar siendo por ejemplo que sí el lenguaje que escojas es quizá Java entonces muy seguramente necesitarás aprender Hibernate, Spring, SpringBoot, Micronaut, Grails entre otros. No significa que tendrás que aprender los todos pero muy probablemente si algunos.
Algoritmos
Es la forma en la que resolvemos problemas, no hay un camino corto a mejorar más que la pura práctica, para esto existen plataformas que nos ayudan a practicar algoritmos en distintos lenguajes tales cómo:
- LeetCode
- HackerRank
- TeddyOnlineJudge
- CodeWars
- Etcétera
Estas plataformas son totalmente gratuitas y contienen una buena cantidad de problemas para que puedas practicar tu lógica y desarrollo de algoritmos para la resolución de problemas.
Herramientas de versionamiento
Hoy en día no es común pero apuesto que hay quienes siguen utilizando nombres de carpetas como: final, final uno, final final, este si es el final bueno.
¡NO! Existen herramientas como Subversion o Git que sirven precisamente para este propósito, por lo cual podremos guardar el historial de nuestro trabajo y regresar a versiones anteriores de nuestro proyecto si es que así lo necesitamos, hoy en día me atrevería a decir que Git es la más popular y existen varias plataformas que proveen almacenamiento gratis para nuestros proyectos siendo los 3 principales
- Girhub
- GitLab
- Bitbucket
El bendito inglés
Todo lo que he mencionado antes multiplicará tu valor en el mercado si hablas inglés, como dato adicional, un programador que habla inglés puede ganar al menos 3 veces más que uno que no lo habla y además te da la oportunidad de si en algún momento lo deseas poder aplicar para emigrar a otro país, hoy por hoy el inglés es la clave para aquellos desarrolladores que quieren tener mejores ingresos y mejores oportunidades de trabajo y por que no, tal vez fundar su propia empresa.
Existen muchas cosas más que puedes hacer para convertirte en un programador, podría escribir muchísimas cosas más pero por hoy lo dejaré hasta aquí, si te gustó este post te invito a que visites mi canal de YouTube donde también creo contenido sobre el mundo de la tecnología, hasta luego y gracias por leerme.
Creditos:
Imagen por pch.vector