Programación

Los roadmaps están mal: aprende bien a programar - Parte 1

Mauricio Del Río 2025-11-01 10 minutos
Tags:#Programación#Consejos#Tutoriales#Roadmaps#Aprendizaje

Disclaimer: No busco ofender a nadie con este artículo, pero sí quiero dar mi opinión honesta sobre un tema que me parece importante.

BOOOM!!!

Me topo mucho en redes sociales, algunas más serias que otras, con diversas personas recomendando el mejor camino para entrar al mundo de la programación. Estos caminos pueden ser abordados de distintas formas: Roadmaps para frontend, backend, fullstack, data science, machine learning, etc. En el fondo, la premisa está bien, de hecho, muchas de las secuencias que te encuentras en estos roadmaps son correctas y útiles. Salvo por un detalle: Estos roadmaps están enfocados para personas que ya tienen experiencia programando.

Sí, esto puede sonar un poco contradictorio, ¿No se supone que son para personas que quieren aprender a programar? La realidad es que estos roadmaps asumen que la persona ya tiene una base sólida en programación, y lo que buscan es guiarla en qué tecnologías aprender a continuación. El problema surge cuando personas sin experiencia previa intentan seguir estos roadmaps al pie de la letra, lo que puede llevar a frustración y desmotivación.

¿Sabes realmente lo que estás aprendiendo?

El mundo de la tecnología es ENORME. No son décadas de desarrollo, son SIGLOS. Este punto mucha gente lo desconoce, la informática existe desde hace miles de años, esto no es para nada una exageración, los primeros conceptos de la programación vienen de múltiples culturas, desde la antigua Grecia hasta la China imperial. Historias hermosas e interesantes, desde teólogos, filósofos, matemáticos, abogados y personalidades excéntricas. La informática se ha gestado en un camino turbulento, azarozo y lleno de íconos que han quedado en el desconocimiento colectivo.

¿Al-juarizmi? ¿Cantor? ¿Laplace? ¿Boole? ¿Babbage? ¿Turing? ¿Ada Lovelace?

No quiero sonar pretencioso, pero conocer la historia, en cualquier ámbito de lo que quieras estudiar, te da perspectiva. Saber por qué se inventó algo, quién lo inventó, en qué contexto histórico, social y económico se dio el invento, te ayuda a entender mejor su propósito y su funcionamiento.

Digamos que, la gente que trabaja en el área tecnologíca tiene patrones relativamente marcados; Somos curiosos, nos gusta resolver problemas y entenderlos, somos creativos y nos gusta plasmar nuestras ideas en algo tangible. Pero sobre todo, somos personas que buscamos entender el "por qué" de las cosas.

Y esto no es de extrañar, la historia de la informática se construyó en base a personas que cumplían el mismo patrón. ¿Podemos crear un lenguaje universal con combinatorias? ¿Qué pasa si ya no quiero sumar números muy grandes a mano? ¿Cómo puedo automatizar tareas repetitivas? ¿Qué pasa si quiero que una máquina haga lo que yo le digo?.

No digo que debas comenzar por historia pero...

¡Debes comenzar por historia! Jaja! Creías que no lo iba a decir. Bueno, al menos un poco, por curiosidad. Si te interesa, puedo escribir algún artículo didáctico y resumido sobre grandes personajes de la informática y sus aportes, pero eso depende de ustedes como lectores, si ven este artículo publicado por ahí, me lo pueden dejar como comentario.

El concepto de Algoritmo

Antes de pensar siquiera en un lenguaje de programación de moda, debes entender qué es un algoritmo. La definición es bastante simple, y la encontrarás de múltiples formas en internet, pero esta me gusta mucho:

Un algoritmo es un conjunto de instrucciones o pasos definidos y ordenados que se siguen para resolver un problema o realizar una tarea específica.

Puede verse básica y muy amplia, pero es que es eso, un axioma de la vida misma. TODOS los días utilizas algoritmos para tu vida diaria sin darte cuenta. ¿Tienes rutinas cierto? Secuencia de acciones que realizas repetitivamente para lograr un objetivo. Claro, tu rutina puede tener variaciones en el día a día, pero normalmente llegas al destino.

Un algoritmo no es más que eso, una rutina, pasos secuenciales desde un origen a un destino.

Pensando en algoritmos

Te levantas en la mañana, te duchas, te vistes, desayunas, tomas el metro, micro, auto, bicicleta, caminas simplemente, llegas al trabajo, te sirves un café porque mueres de sueño, prendes el equipo y te pones a trabajar.

Tu rutina puede ser igualmente, levantarte, salir a hacer ejercicio, ducharte, vestirte, desayunar, ir a dejar a los niños al colegio, volver a casa, trabajar desde casa, almorzar, etc.

Son rutinas ¿verdad? ¿Son algoritmos? Sí, lo son.

Nuestro trabajo implementa también rutinas, del mismo modo que en la vida diaria. ¿Qué hace un programador? Resuelve problemas, y para resolver problemas, crea algoritmos.

Problema: El usuario quiere iniciar sesión en su cuenta de correo electrónico.

Solución: Crear un algoritmo que verifique las credenciales del usuario y le permita acceder a su cuenta.

  1. Diseñamos un formulario de inicio de sesión.
  2. El usuario ingresa su correo electrónico y contraseña.
  3. El sistema verifica las credenciales.
  4. Si las credenciales son correctas, el usuario accede a su cuenta.
  5. Si las credenciales son incorrectas, se muestra un mensaje de error.
  6. El usuario puede intentar iniciar sesión nuevamente.

¿Ves? Un algoritmo simple para resolver un problema común. Ahora, no te confundas, verbalmente se ve muy simple, pero cada uno de esos pasos que ves ahí, requiere una cantidad de acciones que, si recién quieres aprender a programar, probablemente aún no seas capaz de dimensionar.

Pero por eso mismo es que te estoy dando la lata con esto, para llegar a dimensionar todos estos pasos, debes dimensionar lo grande y complejo que es el mundo de la informática, abrir tu mente a entender de que para que la humanidad pueda lograr hacer este simple login, se han necesitado siglos de desarrollo, avances tecnológicos, matemáticos y científicos.

Lógica booleana

La sociedad dice que los informáticos somos medios raros, cuadrados, poco sociales, literales, a estas alturas he escuchado de todo, y en parte tienen un poco de razón, pero es porque nos condicionamos mucho a lo que hacemos.

Puede sonar un poco fatalista lo que diré, y quizás algunos humanistas no estén muy de acuerdo con esto pero, al final de todo camino, cualquiera que sea, las deciciones son binarias. ¿Qué es una decisión binaria? Es una decisión que tiene dos opciones, sí o no, verdadero o falso, o como también solemos notarlo en programación: 1 o 0.

¿Voy a trabajar hoy? Sí o no. ¿Voy a estudiar hoy? Sí o no. ¿Voy a salir con mis amigos? Sí o no.

Da igual los motivos, los motivos de tus acciones pueden ser infinitos, pero al final, las cosas las haces o no las haces.

Esto es un campo de estudio enorme y es fascinante a la vez, las máquinas funcionan así (no me vengan con la computación cuántica por favor jaja). Los circuitos, los lenguajes de programación, los sistemas operativos, todo funciona con lógica booleana.

Puedo quedarme horas escribiendo sobre esto, pero tampoco es el objetivo de este artículo, pero tu bichito de curiosidad debe apuntar a estudiar lógica, teoría de conjuntos, álgebra booleana y algoritmos.

¿Creiste que te librarías de las matemáticas?

Lo siento, pero no, es imposible que si quieres ser bueno en esto no estudies matemáticas. No necesitas saber cálculo diferencial e integral, no necesitas ser un genio en esto, pero las matemáticas orbitarán tu vida como programador, y de una manera mucho más directa de lo que crees.

Yo me he topado mucho con estos bootcamps que dicen que no se asusten por las matemáticas, que no son muy necesarias, pero la verdad eso es mentir y hacer falsas expectativas a la persona que paga por aprender, no sean ingenuos, ¡esto no será sencillo!

No es sencillo pero muy gratificante

Para las personas que estamos en este rubro, sabemos lo que es estar días, semanas sin poder resolver algo, a veces duermes mal, a veces es frustrante, a veces debes rehacer todo desde 0, pero cuando logras resolverlo, la satisfacción es enorme. No hay nada más gratificante que ver lo que hiciste funcionar, que tu trabajo dio frutos, que lograste plasmar tu idea en algo tangible. Si disfrutas este tipo de emociones, este mundo te encantará.

Entonces, ¿Cómo aprendo a programar bien?

Concluyendo esta primera parte, te dejo con las siguientes recomendaciones iniciales para que comiences tu camino en la programación de manera sólida:

  1. Estudia la historia de la informática: Conoce a los grandes personajes, sus aportes y el contexto histórico.
  2. Entiende qué es un algoritmo: Aprende a identificar y crear algoritmos en tu vida diaria.
  3. Aprende lógica booleana: Familiarízate con los conceptos de verdadero/falso y cómo se aplican en la programación.
  4. Refuerza tus conocimientos matemáticos: No necesitas ser un experto, pero sí tener una base sólida en matemáticas.
  5. Practica la resolución de problemas: Desarrolla tu capacidad para resolver problemas lógicos y matemáticos.
  6. Sé paciente y perseverante: La programación es un camino largo y a veces difícil, pero la recompensa vale la pena.

Nos vemos en el siguiente!