Hay una foto que no tengo pero que existe perfectamente nítida en mi memoria: yo, 1994, tres años recién cumplidos, parado frente a una Commodore Amiga 500 con un joystick que me quedaba enorme en las manos. Mi viejo había traído esa máquina de quién sabe dónde y yo no entendía absolutamente nada de lo que pasaba en la pantalla. Pero algo en ese monitor — los colores, el sonido, la idea de que yo podía hacer que algo pasara — me enganchó de una manera que nunca más me soltó.
Eso fue hace treinta y un años. Y acá estoy.
La Amiga como primer maestro
La Amiga 500 no era una computadora de Windows ni de DOS. Era un bicho aparte, con su propio sistema operativo (AmigaOS), con una interfaz gráfica en una época donde la mayoría del mundo todavía tipeaba comandos en pantallas verdes. Obviamente yo no sabía nada de eso. Lo que sabía era que si agarraba el disquete correcto y lo metía en el drive, aparecía un juego. Y si hacía algo mal, aparecía el Guru Meditation — esa pantalla de error roja que para mí era aterradora, como si la máquina se estuviera muriendo.
Pero el Guru Meditation fue mi primer contacto con la idea de que las computadoras fallan. Que no son magia. Que hay algo adentro que puede romperse. Esa intuición — que después se convirtió en conocimiento real — es probablemente lo más valioso que me dejó esa Amiga oxidada.
A los 5 años ya tenía mi primer dominio. No, no es un chiste. Mi viejo era de esa generación que entendió internet antes que nadie en Argentina, y de alguna manera yo estaba metido en ese mundo también. No entendía qué era un DNS ni por qué funcionaba, pero sabía que ese nombre era mío y que apuntaba a algo en internet. La semilla del orgullo nerd estaba plantada.
Los cyber cafés como universidad
Salteemos algunos años de caos típico de crecer en Argentina en los '90 y lleguemos a los 14. Estaba trabajando en cyber cafés. Y cuando digo trabajando, no digo atendiendo la caja — digo metido abajo de los escritorios, pasando cables, configurando Windows 98 que se rompía solo mirándolo, instalando drivers de red que no existían para hardware que tampoco debería haber existido.
Los cyber cafés de esa época eran una jungla. Diez máquinas conectadas con cable UTP pelado, hubs baratos que se calentaban como hornos, Windows pirata que cada tanto decidía que el mejor momento para reiniciar era en medio de un Counter-Strike. Mi trabajo no oficial era que todo siguiera andando. Y aprendí más redes en seis meses de cyber café que en cualquier curso formal.
Aprendí qué es una subred porque tuve que configurarlas. Aprendí qué es DHCP porque cuando no funcionaba, los chicos no podían jugar y me gritaban. Aprendí qué es una dirección MAC porque era la única manera de identificar cuál de esas diez máquinas era la que se caía siempre. El conocimiento forzado por el caos es el que más dura.
Linux a las 3am y el primer servidor real
A los 18 el salto fue a web hosting con Linux. Y acá es donde la cosa se pone seria.
Instalar Linux en 2009 no era como ahora. No había un instalador bonito que te guiaba de la mano. Había particiones que tenías que calcular a mano, había GRUB que si lo instalabas mal te quedabas sin sistema operativo en absolutamente todas las particiones que tenías, había controladores de red que a veces no existían para tu hardware y tenías que compilarlos desde código fuente descargado con la única máquina que sí tenía internet.
Pero una vez que andaba... era mío. Completamente mío. Un servidor corriendo Apache, MySQL, PHP — el stack LAMP que movía la mitad de internet en esa época. Configurando virtual hosts a las 3am porque ese era el único momento en que podía trabajar sin interrupciones. Mirando logs en tiempo real con tail -f como si fueran telemetría de una nave espacial.
Esa sensación — la de tener una máquina real en internet, respondiendo requests de gente real — es algo que nunca se va. Es adictiva. Hoy tengo esa misma sensación cuando hago deploy y veo los logs de Railway actualizarse en tiempo real, pero la primera vez que la sentí tenía 18 años y era con un servidor físico en algún datacenter que nunca llegué a ver en persona.
El desvío: Cisco CCNA y la UBA
Hubo un período donde me fui más hacia las redes que hacia el software. Hice la certificación Cisco CCNA — una de esas credenciales que te hacen estudiar routing protocols, spanning tree, VLANs, subnetting hasta que lo soñás — y entré a Ciencias de la Computación en la UBA.
La UBA me enseñó a pensar. Eso suena a cliché pero es literal. Álgebra, lógica, algoritmos — la parte de la computación que no se aprende tocheando servidores. Aprendí por qué ciertos algoritmos son más eficientes que otros. Aprendí a demostrar cosas. Aprendí que hay una diferencia enorme entre código que funciona y código que es correcto.
También aprendí que la academia argentina tiene una relación complicada con la tecnología del mundo real. Estábamos estudiando teoría de compiladores mientras afuera el mundo estaba explotando con Node.js y el primer boom de las startups. No me arrepiento — la base teórica vale oro — pero había una desconexión que a veces desesperaba.
El CCNA, por otro lado, fue brutal en el buen sentido. Estudiar para esa certificación es como meterse en la cabeza de los ingenieros de Cisco y entender por qué internet funciona como funciona. Por qué los paquetes toman ciertas rutas. Por qué falla cuando falla. Ese conocimiento de red de bajo nivel es algo que hoy, cuando debuggeo problemas de conectividad en Docker o configuro reglas de firewall en un VPS, sigo usando constantemente.
2020: el pivot que cambió todo
Y llegamos al momento que cambió todo. 2020. Sí, ese año.
Con el mundo en pausa forzada, yo tomé la decisión de meterme de lleno en desarrollo de software moderno. No como hobby — como carrera principal. Y el mundo que encontré era irreconocible comparado con el PHP que había tocado diez años antes.
React. TypeScript. Next.js. Docker. PostgreSQL. Un ecosistema completamente diferente, con sus propias convenciones, sus propias peleas internas (¿Redux o Context? ¿REST o GraphQL? ¿tabs o espacios — bueno, esa está resuelta), su propia cultura.
El primer mes fue humillante. Yo que había configurado servidores Linux, que entendía cómo funciona TCP/IP, que había estudiado algoritmos en la UBA — no podía hacer andar un componente de React sin romper todo. El modelo mental es completamente diferente. El estado reactivo, el ciclo de vida de los componentes, el sistema de tipos de TypeScript que al principio parece un obstáculo y después te das cuenta de que es lo que te salva la vida — todo nuevo.
Pero acá es donde los treinta años anteriores pagaron dividendos. Cuando algo fallaba, yo sabía leer el error. Cuando había un problema de red en Docker, yo sabía qué estaba pasando. Cuando la base de datos se portaba raro, tenía intuición de dónde buscar. La experiencia acumulada no era transferible directamente, pero creaba un contexto que aceleraba el aprendizaje de manera brutal.
Railway, Next.js y el deploy de 2024
Hoy el stack en el que trabajo es Next.js con TypeScript, PostgreSQL para los datos persistentes, Docker para que el ambiente local sea igual al de producción (la promesa eterna que Docker por fin cumplió), y Railway para el deploy.
Railway merece un párrafo aparte porque representa exactamente el contraste con mis inicios. En 2009, para poner algo en producción, necesitaba: contratar un servidor, configurarlo desde cero con SSH, instalar todo el stack, configurar el dominio, configurar SSL manualmente con Let's Encrypt o pagar un certificado, configurar backups, monitoreo... Días de trabajo para la infraestructura antes de poder desplegar una línea de código de producto.
Con Railway hoy: railway up. Listo. En serio. La infraestructura está toda abstraída. PostgreSQL con un click. Variables de entorno en una interfaz. Deploys automáticos desde GitHub. SSL automático. Monitoreo incluido.
La primera vez que hice un deploy así me quedé mirando la terminal en silencio unos segundos. Pensé en las noches configurando Apache, en los GRUB rotos, en los cyber cafés con calor de diciembre y cables por todos lados. Y pensé: esto es demasiado fácil. Y después me corregí: no es fácil, es que alguien hizo el trabajo duro por vos.
Esa es la paradoja de la abstracción tecnológica. Todo se vuelve más accesible, y eso es bueno — significa más gente puede construir cosas. Pero también significa que hay capas de complejidad que se vuelven invisibles, y cuando algo sale mal en esas capas, el desarrollador que no pasó por los servidores físicos no tiene las herramientas mentales para entender qué está pasando.
Por qué importa de dónde venís
Soy un producto raro: demasiado joven para haber vivido los mainframes, demasiado viejo para haber empezado con smartphones y tutoriales de YouTube. Caí justo en el medio de la transición más grande de la historia de la computación personal.
Y eso me dio algo que valoro cada vez más: contexto histórico. Sé por qué las cosas son como son. Sé por qué Docker existe — porque el "funciona en mi máquina" es un problema real que yo viví. Sé por qué TypeScript existe — porque JavaScript a escala es una pesadilla de mantenimiento que yo también viví. Sé por qué los servicios cloud existen — porque la alternativa era lo que yo hacía a los 18.
Esta historia — la historia programador argentino que creció con la tecnología en tiempo real — no es nostalgia. Es contexto. Y el contexto es lo que separa a alguien que usa herramientas de alguien que las entiende.
La Amiga 500 de 1994 y el Railway de 2024 son el mismo continuo. Cambió todo y no cambió nada: sigue siendo sobre hacer que las máquinas hagan lo que vos querés que hagan. Sigue siendo sobre entender qué pasa cuando algo falla. Sigue siendo sobre esa sensación — adictiva, visceral, única — de ver algo que construiste funcionando en el mundo real.
Tres años. Una Amiga. Treinta y uno después, acá sigo.
Este artículo fue publicado originalmente en juanchi.dev
Top comments (0)