Imagina que vas a empezar a jugar Jenga con tus amigos. Alistas todo, llevas tu juego, tu comida, y dices: "Ey, ¿qué tal si jugamos un rato Jenga?". Tus amigos te dicen que es una excelente idea y empiezas a montar el juego. ¿Qué escoges para ponerlo? ¿Crees que ponerlo sobre una gelatina, una cama, o sobre un flotador en el agua es buena idea?
Probablemente, incluso sin haberte hecho esta pregunta, ya te habías imaginado en una sala de estar, en una mesa de comedor o en un salón de juegos. Tal vez nunca te pasó por la cabeza que era buena idea ponerlo sobre una superficie flexible. Tal vez tu mente instantáneamente dijo: "El Jenga se pone sobre una superficie plana y rígida, o se caerá." Y si pensaste eso, obviamente estás en lo correcto.
Tu cerebro ya sabe esto, solo falta aplicarlo
Tu mente, como hablábamos en nuestro artículo sobre Aprender todos los lenguajes no te hace programador, está preparada al 100% para resolver problemas, y encontrar un lugar perfecto para jugar Jenga es un problema, aunque lo veas muy normal. Puedes jugar con tu imaginación, pero si juegas en contra de la física, ella se encargará de tumbar lo que creaste.
En tecnología pasa algo similar. Si desde un principio no tienes bien cimentadas las bases de tu software —como una mesa o el piso para poner tu Jenga—, internet se va a encargar de derrumbar lo que construiste.
Imagina que tu app funciona perfecto con 20 usuarios en pruebas, pero el día que la compartes en redes y llegan 5,000 personas al mismo tiempo, el servidor colapsa porque cada función dependía directamente de una sola base de datos, sin ninguna capa intermedia que repartiera la carga. O peor: arreglas un botón en la pantalla de login y, sin saberlo, rompes el checkout completo, porque todo el código estaba mezclado sin ninguna separación de responsabilidades.
¿Qué es realmente la roca sólida de un software?
A veces creemos que la roca sólida de nuestro software es tener un buen servidor, buen rendimiento y, sobre todo, suplir todas las necesidades del usuario. Pero, ¿qué es lo que hace que un software realmente se mantenga en el tiempo? Esta pregunta no se responde con un par de palabras mágicas que resuelven todo con solo pensarlo. Tiene más trasfondo del que creemos. Pero no te preocupes, toma un café y charlemos juntos sobre lo que significa la arquitectura.
La arquitectura no es una palabra compleja que implique literalmente ponerle cemento a tu app y agregar ladrillo a ladrillo. La arquitectura es pensar desde un principio todas las bases y columnas que van a sostener tu aplicación. Por ejemplo, si quieres una aplicación que, sin importar qué, nunca se caiga en su conexión, debes pensar qué tipo de arquitectura utilizar (como desacoplada o de microservicios).
Sé que tal vez nos estamos poniendo un poco técnicos y puede que hasta te pierdas un poco. Pero no es la idea. Lo que quiero con este artículo es que entiendas que no se trata solo de escoger un lenguaje de programación, tu IA preferida y música de Linkin Park de fondo. Se trata de pensar desde un principio el flujo entero de un software.
La arquitectura no es letra pequeña, es la esencia
La arquitectura de software es lograr un diseño y estructura informática que permitan organizar, interactuar y comunicar todos sus componentes. Establece las bases para garantizar escalabilidad, calidad, rendimiento y mantenimiento a largo plazo.
En la era de la IA, saber cómo funciona tu software en sus bases, entender las conexiones entre componentes y crear un código sostenible y escalable es primordial, porque nos ayuda a no "perder" la esencia del software original. Podemos decirle a la IA: "oye, hazme una app como YouTube, no cometas errores, y ya te envío mi cuenta bancaria para que todo el dinero me llegue ahí" — pero si no piensas realmente qué hay detrás de YouTube y qué hace que se mantenga en el tiempo, lo único que harás es quemar tokens como un desquiciado.
Una ruta para empezar a pensar en arquitectura
Entonces, ¿cuál es la manera de utilizar la arquitectura a tu favor y no nadar en contra de la marea? Puedes seguir esta pequeña ruta que yo tomaría:
Entiende algoritmos y estructuras de datos: no tienes que reinventar la rueda. Muchos algoritmos para organizar, buscar y filtrar datos ya existen. Tampoco tienes que memorizarlos todos, pero sí puedes usarlos a tu favor. Esta es tu primera base sólida para que, desde tus funciones, tu código esté optimizado al 100%. Puedes aprender más en alg0.dev y visualgo.net.
Aprende cómo funcionan los patrones de diseño: en el mundo del software existen muchos patrones de diseño utilizados en un montón de industrias. Te van a ayudar a crear mejores componentes y te dan la base sólida de cómo construir de forma sostenible y escalable. Puedes aprender más en refactoring.guru.
Conoce los estilos arquitectónicos: hay una solución en arquitectura para tu problema. No es lo mismo querer crear una aplicación entera a nivel global que un script para uso personal. Los estilos arquitectónicos te ayudarán a tomar la mejor solución antes de pedir por internet un cohete para solo viajar hasta la sala de tu casa. Y ojo: saltar a entender los estilos arquitectónicos puede ser retador y difícil al principio, pero no desesperes. Si algo no te quedó claro, utiliza tu IA de confianza o mira videos, y podrás entenderlo con más claridad. Puedes aprender más en github.com/donnemartin/system-design-primer.
Esto no es lo único que necesitas saber
Pequeño disclaimer: esta es una ruta que creo que te puede ayudar a entender desde el principio cómo construir un software escalable y sostenible, pero no es lo único que debes aprender en tecnología. Como te dije en mi artículo anterior, este es un proceso que conlleva paciencia y disciplina. Así que, antes de ir de lleno con el código, tómate un tiempo para también aprender estas bases y que tu software crezca realmente como te gustaría.
No te preocupes si el último punto se siente lejano todavía. Es normal, y volverás a él cuando ya estés construyendo proyectos más grandes.
La IA no lee tu mente (todavía)
Y sé que el poder que te da la IA se siente muy bien. Creer que con un solo prompt te harás millonario es un sueño que todos queremos vivir, pero si nos sentamos un rato y lo pensamos, es más complicado de lo que creemos. No te preocupes, la IA es una excelente herramienta y te ayudará un montón a crear con mucha más rapidez, pero la IA no tiene todo tu contexto y no te lee la mente (en 2026 aún no, al menos jaja). Así que, para nuestro siguiente artículo, veremos por qué los archivos .md no son solo texto bonito.
Ten una feliz semana, y recuerda que es mejor programar para dar soluciones, que para resolver problemas.

