Cosas que te permiten entender cualquier sistema
Actualmente, con el uso de la IA, muchos creen que ya no es necesario aprender las bases. Pero en mi opinión es todo lo contrario.
Si no conoces los fundamentos de los sistemas, cuando heredes un proyecto —ya sea hecho por una IA o por otro desarrollador— o cuando necesites implementar funcionalidades más complejas, no vas a saber exactamente qué pedir ni si el enfoque que te propone es el correcto.
La IA puede escribir código, pero tú necesitas entender qué está pasando.
Por eso, en este video te traigo 7 conceptos que te ayudarán a entender prácticamente cualquier sistema, sin importar el lenguaje o el stack que estés usando.
Vamos a empezar.
1. SQL y Bases de Datos Relacionales
Si quieres entender cualquier sistema, necesitas entender cómo se guardan y se organizan los datos.
La mayoría de aplicaciones desde una red social hasta un sistema de facturación giran alrededor de una base de datos. Y en muchos casos, esa base de datos es relacional.
No necesitas ser experto en optimización avanzada ni memorizar cada función de SQL. Pero sí deberías entender conceptos como:
- Tablas
- Filas y columnas
- Llaves primarias (Primary Key)
- Llaves foráneas (Foreign Key)
- Relaciones (uno a uno, uno a muchos, muchos a muchos)
- Consultas básicas con
SELECT,INSERT,UPDATE,DELETE
Cuando entiendes esto, empiezas a ver los sistemas como lo que realmente son: estructuras que organizan información y la relacionan entre sí.
Por ejemplo:
- Un usuario tiene muchos pedidos.
- Un pedido tiene muchos productos.
- Un producto pertenece a una categoría.
De hecho, hasta existen diagramas como los diagramas entidad-relación (ERD) que te permiten visualizar gráficamente cómo se conectan las tablas y sus relaciones.
E incluso si usas ORMs como Prisma, Sequelize o TypeORM, por debajo todo sigue siendo SQL. Y si alguna vez la IA te genera una consulta ineficiente o incorrecta, solo podrás detectarlo si entiendes cómo funciona realmente la base de datos.
Entender SQL no es aprender un lenguaje más.
Es aprender cómo piensan los sistemas.
2. Estructura de Datos
Cuando menciono estructura de datos, muchos piensan inmediatamente en resolver problemas difíciles en plataformas como LeetCode o HackerRank.
Pero no me refiero a eso.
No se trata de competir resolviendo algoritmos complejos, sino de entender cómo se organizan los datos dentro de un sistema.
Conceptos básicos como:
- JSON
- Listas / Arreglos
- Mapas / Diccionarios
- Sets
- Árboles
- Relaciones
Prácticamente todos los lenguajes de programación tienen estas estructuras. Y entenderlas no requiere teoría avanzada: puedes aprenderlas creando ejemplos simples.
Por ejemplo:
- Recorrer un arreglo
- Agrupar información en un objeto
- Usar un Map para búsquedas rápidas
- Entender cuándo usar una lista y cuándo un diccionario
En su momento, algo que me ayudó mucho fue hacer ejercicios simples en JavaScript usando arrays, objetos, Maps y Sets. Eso te deja claro que todo se trata de organizar datos de la forma correcta.
Y cuando entiendes esto, empiezas a notar patrones en cualquier sistema:
Un carrito de compras es una lista.
Un usuario autenticado es un objeto con propiedades.
Un árbol de categorías es literalmente un árbol.
Si entiendes cómo se estructuran los datos, puedes leer casi cualquier código y saber qué está intentando hacer, incluso antes de entender toda la lógica.
3. REST
Actualmente es muy fácil crear un backend: se lo pides a la IA y en minutos tienes rutas, controladores y hasta autenticación básica.
Pero la pregunta real es:
¿Estás seguro de que es mantenible?
¿Es seguro?
¿Sigue buenas prácticas?
¿O simplemente responde “porque funciona”?
Aquí es donde entran los principios REST.
REST no es solo crear endpoints. Es entender cómo deben comunicarse los sistemas a través de HTTP.
Algunos conceptos clave:
- Uso correcto de métodos HTTP (
GET,POST,PUT,PATCH,DELETE) - Recursos bien definidos (
/users,/orders,/products) - Uso adecuado de códigos de estado (
200,201,400,404,500) - Separación clara entre cliente y servidor
- Stateless (cada petición contiene toda la información necesaria)
Cuando entiendes REST:
- Puedes leer documentación de APIs externas sin perderte.
- Puedes conectar tu aplicación con servicios de terceros.
- Puedes detectar cuando una API está mal diseñada.
- Puedes diseñar sistemas más predecibles y escalables.
Y algo interesante: si te preguntas cómo funcionan cosas como los MCP (Model Context Protocol), en el fondo siguen una lógica muy parecida… solo que es una capa adicional sobre HTTP y APIs.
Aprender REST no es aprender a crear rutas.
Es entender cómo se comunican los sistemas modernos.
4. Inglés
Puede parecer una broma… pero no lo es.
Incluso con IA, el inglés sigue siendo una de las habilidades más importantes para entender cualquier sistema.
Constantemente te vas a topar con términos como:
- payload
- handler
- middleware
- pipeline
- hook
- binding
Sí, la IA puede traducirlos.
Pero estar traduciendo todo cada vez que lees documentación, errores, issues en GitHub o mensajes del framework… no es nada cómodo.
Además, la mayoría de la documentación oficial, RFCs, especificaciones técnicas y librerías están en inglés. Y entenderlas directamente te da velocidad, contexto y criterio.
Y aquí quiero aprovechar para recomendarte algo que personalmente me parece útil si quieres mejorar tu inglés enfocado a tecnología 👇
Plataformas como Immigo te permiten practicar inglés en clases en vivo con personas reales, enfocadas en conversación y situaciones reales.
Lo interesante es que al final de cada sesión recibes un resumen detallado de tus errores y cosas que puedes mejorar, un análisis generado con IA que te ayuda a identificar patrones, mejorar pronunciación y usar expresiones más naturales.
Además, también es muy útil si te estás preparando para entrevistas técnicas en inglés, donde no solo importa saber programar, sino poder explicar lo que haces con claridad.
Si estás construyendo software en 2026, el inglés ya no es opcional.
Es una herramienta profesional.
asi que para empezar a usar immigo te dejo un enlace en la descripcion.
5. Networking Básico
Cuando se mencionan redes o protocolos, muchos piensan que necesitas una certificación de Cisco o convertirte en experto en infraestructura.
Pero no.
Para entender la mayoría de sistemas web, necesitas conceptos mucho más simples de lo que imaginas.
Casi todas las aplicaciones usan ideas como:
- Cliente y servidor
- IP y dominio
- Puerto
- HTTP / HTTPS
- DNS
Con solo entender esto ya puedes explicar gran parte de cómo funciona internet.
Por ejemplo:
- Cuando tu frontend no conecta con el backend en producción.
- Cuando una API falla y no sabes si es problema del servidor o del cliente.
- Cuando cambias de dominio y todo deja de funcionar.
- Cuando tienes un error CORS y no entiendes qué está pasando.
Todo eso es networking básico.
Entender que tu aplicación no “vive en el navegador”, sino que se comunica constantemente con servidores a través de protocolos, te cambia la forma de ver los errores.
Y algo importante: muchas veces la IA te puede decir “revisa la configuración”, pero si no entiendes qué es un puerto, qué es un dominio o cómo funciona DNS, no sabrás qué estás revisando realmente.
No necesitas ser ingeniero de redes.
Pero sí necesitas entender cómo se conectan las piezas.
Porque al final, los sistemas no solo procesan datos…
también se comunican.
Diseño de Sistema
Si escuchas “diseño de sistemas”, probablemente piensas en diagramas en la nube con muchos servicios conectados.
Y sí, eso es parte… pero no es todo.
Diseño de sistema también es algo mucho más práctico.
Por ejemplo:
Diseñar un sistema de autenticación.
Pensar qué pasos hará el usuario para ingresar a una web.
Definir cómo será seguro ese proceso.
Aquí entran decisiones como:
- Qué tipo de autenticación usar.
- Cómo manejar la autorización (roles, permisos).
- Cómo proteger rutas.
- Cómo almacenar sesiones o tokens.
También entra algo clave: el flujo.
El flujo es cada paso que sigue el usuario dentro de un sistema.
Desde que entra a la página, se registra, confirma su correo, inicia sesión y realiza una acción.
Existen incluso diagramas como UML o diagramas de flujo que permiten visualizar esto gráficamente.
Pero más allá de los diagramas, el diseño de sistema es un modelo mental.
Es la capacidad de imaginar cómo interactúan las piezas antes de escribir código.
Y cuando desarrollas ese modelo mental, puedes entender cualquier proyecto aunque no lo hayas construido tú.
🧠 Convenciones
Muchos sistemas no son tan “únicos” como parecen.
En realidad, la mayoría siguen patrones repetidos que se han usado durante años.
Algunos ejemplos claros:
- CRUD
- REST
- MVC
- Pub/Sub
- Client/Server
Cuando entiendes estas convenciones, empiezas a notar que muchos proyectos están construidos sobre las mismas ideas, solo que con nombres distintos o tecnologías diferentes.
Por ejemplo:
Si sabes qué es CRUD, puedes entender rápidamente un panel administrativo.
Si conoces MVC, puedes ubicarte dentro de un proyecto sin perderte.
Si entiendes Pub/Sub, puedes comprender sistemas de eventos o notificaciones.
Reconocer el patrón te da ventaja.
Porque aunque no hayas visto ese código antes, ya sabes cómo debería comportarse.
Y eso es lo que realmente significa entender un sistema:
no memorizarlo… sino reconocer su estructura.
Conclusión
La IA puede escribir código.
Puede generar estructuras, crear endpoints y hasta proponerte arquitecturas completas.
Pero entender un sistema… sigue siendo tu responsabilidad.
Si dominas conceptos como bases de datos, estructuras de datos, REST, networking, diseño de sistema, convenciones e incluso inglés técnico, puedes entrar a cualquier proyecto y orientarte rápido.
No importa si fue hecho por otra persona o generado por una IA.
Porque al final, los sistemas no son magia.
Son combinaciones de patrones, datos y comunicación.
Y cuando entiendes esas piezas, dejas de depender completamente de la herramienta… y empiezas a usarla con criterio.
Aprender las bases no te hace más lento en la era de la IA.
Te hace más peligroso.