← Inicio
Alejandro González

Alejandro González

31 de octubre de 2025·8 min de lectura

Pensar como programador

Últimamente me he dedicado a enseñar y me gustaría compartir también por aquí parte de la experiencia que he adquirido después de más de quince años escribiendo código —y media vida resolviendo problemas con él— ya que enseñar lo que sabes también te obliga a repensar cómo aprendiste.

Hoy escribo esto con la experiencia que me han dejado mis proyectos, mis aciertos y mis errores, y con el mismo entusiasmo que tenía aquel primer día frente a un editor de código sin saber muy bien por dónde empezar.

No es mi primera vez escribiendo sobre esto.

Hace ya varios años, en un blog antiguo que tenía, publiqué mis primeras reflexiones sobre el mundo del desarrollo de software. En aquel entonces celebraba una década programando; hoy, algunos años después, sigo aprendiendo todos los días —solo que ahora, además, intento transmitir ese conocimiento.

¿Por qué escribir sobre sistemas?

Programar no es escribir código, es aprender una forma de pensar.

Un sistema —en su definición más simple— es un conjunto de elementos que interactúan entre sí para lograr un objetivo común.

Y cuando entiendes eso, te das cuenta de que todo lo que te rodea es un sistema:
el teléfono desde el que lees esto, el algoritmo que decide qué noticia ves primero, la app con la que pagas tu café, incluso el clima que predice si debes salir con paraguas o no.

El mundo moderno gira en torno a los sistemas informáticos, y entender su lógica es, en cierto modo, entender cómo funciona el mundo.


Esa es la razón principal por la que vale la pena aprender sobre ellos —no para convertirte en programador necesariamente, sino para pensar de forma más estructurada, más analítica, más consciente.

Todo esto por que la tecnología no espera a nadie. Cada año aparece una nueva herramienta, una nueva IA, una forma de automatización que despierta esos miedos de ser reemplazable. Por eso, más que memorizar tecnologías, hay que dominar la forma de pensar que las hace posibles. Esa mentalidad que te permite adaptarte, reinventarse y construir soluciones sin importar la herramienta.

No importa si eres médico, diseñador, biólogo o artista. Entender cómo funcionan los sistemas te da poder.

Si se puede imaginar, se puede programar.

Recuerdo que en la universidad un amigo solía decir entre risas: “Programando como los dioses”. Y, aunque sonaba a broma, había verdad en esa frase. Esta profesión no se trata solo de escribir líneas de código, sino de tener la paciencia, la curiosidad y la obsesión suficientes para seguir aprendiendo toda la vida, y reconocer que el límite lo pones tú. Puedes crear un universo desde un editor y una terminal.

He conocido a programadores brillantes que no saben enseñar lo que hacen, y a maestros increíbles que ya no programan.

Mi meta es estar justo en medio: seguir construyendo, pero también compartir.

Enseñar me ha confirmado que la mejor forma de aprender es explicar lo que sabes hasta que otro lo entienda.

Así que este texto, más que un tutorial, es una invitación a pensar como programador. Antes de escribir una sola línea de código, aprende a entender el problema. A imaginar el flujo de decisiones, los caminos posibles, los bucles y las salidas.

Ahí es donde entran nuestra primera herramieta: el pseudocódigo. Una forma simple —y poderosa— de representar la lógica sin preocuparte aún por la sintaxis de algún lenguaje de programación.

Porque la programación no empieza en el teclado.
Empieza en la mente.

Cualquier tonto puede escribir código que una computadora entienda.
Los buenos programadores escriben código que los humanos pueden entender.

Martin Fowler

Usemos tres ejemplos de la vida real. ¡Aquí va!

El amor en el café ❤️

Hay una chica a la que le gusta su compañero de trabajo. Por un amigo en común sabe que a él le gusta el café. Está frente a ella: ¡es la oportunidad perfecta!
¡Iniciemos el pseudocódigo!

Algoritmo "¿quieres un café?"
INICIO
    Detectar presencia de chico
    SI chico voltea
        PREGUNTAR: "¿Quieres un café?"
        SI respuesta == "Sí"
            Ir a la cafetería
            Comprar un café
            Regresar con el chico
            Entregar café
            Iniciar platica ☕❤️
        SI NO
            Retirada táctica 😅
        FIN SI
    SI NO
        Chico no disponible, seguro es programador... 😔
    FIN SI
FIN

Al final, ningún compilador podría medir los nervios del momento, ni la cantidad exacta de café necesaria para iniciar una conversación. Pero a veces, basta una simple línea de código —o una frase bien dicha— para que algo empiece a ejecutarse en el corazón. ☕❤️

Vayamos con otro ejemplo más elaborado:

Salir de casa si no llueve ☁️

Después del intento fallido de ofrecerle un café al chico (aunque el algoritmo “¿quieres un café?” casi compila con éxito), nuestra protagonista se enfrenta a un nuevo reto: el clima. Está por salir de casa y piensa que tal vez hoy sea el día perfecto para reencontrárselo… pero el cielo parece ejecutar un if lluvia == True. Así que, como buena programadora emocional, decide no dejar su destino al azar e inicia su algoritmo: “Salir de casa si no llueve”.

Algoritmo "Tormenta de emociones"
INICIO
    clima = LeerClima()
    temperatura = LeerTemperatura()
    viento = LeerVelocidadViento()
    SI clima == "lluvia" ENTONCES
        Llevar paraguas ☔
        SI viento == "fuerte" ENTONCES
            Demasiado viento, mejor quedarse en casa 🏠
        SI NO
            SI temperatura < 12 ENTONCES
                Hace frío, llevar abrigo 🧥
            SI NO
                Salir de a valiente 😅
            FIN SI
        FIN SI
    SI NO SEGÚN clima HACER
        CASO "soleado":
            Perfecto para salir 🚶‍♂️
        CASO "nublado":
            Podría llover, lleva chamarra por si acaso ☁️
        OTRO:
            Clima desconocido, asumir riesgo 😬
    FIN SEGÚN
    SI clima == "lluvia" Y viento == "fuerte" ENTONCES
        Modo Netflix activado 🍿
    FIN SI
    Decisión tomada. Fin del algoritmo ✅
FIN

Al final, no se trataba solo de salir o no salir: era una condición anidada de emociones.
Porque a veces, entre el viento, el café y las dudas, el mayor bug no está en el clima sino en el corazón.
Y aunque el pronóstico diga tormenta, siempre hay una pequeña probabilidad de true para reencontrarlo bajo el mismo paraguas. ☕❤️

Ahora vamos con el último ejemplo:

Alimentar al perro 🐕

La escena parece inofensiva: una chica alimenta a su perro en la banqueta, su novio está a un par de pasos, y de pronto aparece otra chica… la del café.

Ella sonríe, él también.

La novia sigue tirando croquetas… una, dos, tres… y con cada croqueta lanzada, su CPU emocional empieza a sobrecalentarse.
El perro mastica feliz, pero algo en el aire huele raro —y no es la comida del perro.

Así se ejecuta el algoritmo más peligroso: el de la sospecha en tiempo real.

Algoritmo "Alimentando la sospecha"
INICIO
    comida_disponible = 3
    perro_hambriento = VERDADERO
    chica_del_café_presente = VERDADERO
    nivel_sospecha = 0

    Alimentando al perro mientras observa la interacción... 👀

    MIENTRAS perro_hambriento Y comida_disponible > 0 HACER
        Dar croqueta 🦴
        comida_disponible = comida_disponible - 1
        SI chica_del_café_presente ENTONCES
            Detectar tono de voz sospechosamente amable ☕
            nivel_sospecha = nivel_sospecha + 1
            SI chico.sonrisa == "demasiado amable" ENTONCES
                Aumentar nivel de sospecha +2 😒
            FIN SI
            SI comida_disponible == 1 ENTONCES
                Distraída, el perro casi se come el dedo 🐶
            FIN SI
        FIN SI
        SI comida_disponible == 0 ENTONCES
            perro_hambriento = FALSO
            No queda comida 😢
        FIN SI
    FIN MIENTRAS

    SI nivel_sospecha > 2 ENTONCES
        Modo detective activado 🕵️‍♀️
    SI NO
        Todo bajo control... por ahora 😌
    FIN SI
Fin del algoritmo, perro feliz pero relación en debugging 💔
FIN

El perro terminó comiendo, pero la paz no se guardó en memoria.
Mientras él sonríe y la chica del café se despide, un proceso en background comienza a ejecutarse:


while (confianza < 100%) { revisar_historias_instagram(); }

Porque en el amor, igual que en la programación, los bugs más peligrosos no están en el código… están en lo que no se dice.

El happy path

Solo tengamos en claro que cualquier situación programable puede tener una infinidad de vertientes, y es ahí donde realmente ponemos a prueba nuestra capacidad de abstracción.


Primero, una chica quiso ofrecer un café, creyendo que bastaba un simple if respuesta == "Sí" para iniciar algo bonito. Luego, el clima intentó sabotear el plan con su propio if lluvia == True, y finalmente, en un giro del destino, apareció una variable inesperada: la novia que alimentaba al perro. 🐶

Cada uno siguió su propio happy path, ese camino donde todo parece ir bien… hasta que una condición no prevista cambia el flujo del programa.
Porque, seamos honestos: ¿qué pasa si el café tiene leche entera y provoca desastre? ¿O si la cafetería cerró? ¿O si el perro detecta tensión antes que el compilador emocional?

¿Ves qué fácil es pensar como programador?
O mejor dicho, qué difícil es crear un algoritmo para algo tan impredecible como el corazón humano. ❤️

¡Nos vemos pronto!

← Volver a todos los posts