00:00:00¿Sabes qué es más frustrante que construir un proyecto? No saber qué construir.
00:00:04En algún momento de tu camino como desarrollador, llegas a esta fase extraña.
00:00:08Hacer otra aplicación CRUD con un framework de JavaScript se siente aburrido,
00:00:11pero crear un sistema operativo desde cero parece imposible. Estás atrapado en el medio.
00:00:16No quieres algo fácil. No quieres lo imposible. Solo quieres algo significativo.
00:00:21Algo lo suficientemente desafiante para subir de nivel, pero no tan abrumador como para rendirte a la mitad.
00:00:26Créeme, yo he pasado por eso. Así que en este video, voy a darte algunas ideas de proyectos geniales.
00:00:32Los he dividido en tres niveles. Nivel uno: construyendo tus cimientos. Nivel dos: almacenamiento,
00:00:38bases de datos y sistemas de datos. Y nivel tres: sistemas avanzados e internos.
00:00:44Si construyes estos proyectos, no solo mejorarás programando. Empezarás a pensar como un
00:00:49ingeniero. Empecemos con el nivel uno. El primer proyecto es construir tu propio servidor HTTP
00:00:55desde cero. Si estás viendo esto, probablemente sepas qué es un servidor HTTP. Cada vez que abres
00:01:01un sitio web o llamas a una API, hay una solicitud y una respuesta ocurriendo tras bambalinas.
00:01:06Pero hasta ahora, solo has interactuado con ello a través de frameworks como Express. Crear tu propio mini
00:01:12servidor HTTP te obliga a entender qué está pasando realmente debajo. Aprenderás cómo los sockets TCP
00:01:19envían y reciben datos, cómo se procesan las solicitudes HTTP, cómo se formatean las respuestas y cómo
00:01:25se manejan múltiples solicitudes simultáneamente. Si ya te sientes abrumado sobre cómo se supone
00:01:30que vas a abordar estos proyectos, tengo una pequeña solución para ti al final de este video. Asegúrate
00:01:35de no perdértelo. Ahora pasemos al segundo proyecto: construir tu propia shell. Has usado
00:01:40comandos como cd, ls, pwd cientos de veces. ¿Pero alguna vez has pensado qué es lo que realmente
00:01:46procesa esos comandos? Cuando construyes tu propia shell, creas ese sistema tú mismo. Aprenderás cosas
00:01:52como leer y procesar la entrada del usuario, ejecutar procesos, manejar llamadas al sistema y
00:01:58comprender conceptos de nivel de SO como procesos y comandos. Al construir tu propia shell desde cero,
00:02:04entenderás las computadoras a un nivel profundo. Ahora las cosas se ponen interesantes. Veremos cuáles
00:02:09son los proyectos del nivel dos. El primer proyecto aquí es construir tu propio Redis. Redis es un
00:02:15almacén de datos en memoria usado como caché, base de datos, gestor de mensajes y más. Es increíblemente rápido. Pero
00:02:21hasta que construyas uno tú mismo, no entenderás realmente por qué. Cuando implementes tu propio clon
00:02:26de Redis, aprenderás cómo funcionan las estructuras de datos en memoria. Implementarás comandos básicos de Redis.
00:02:32Entenderás el protocolo de Redis. Gestionarás múltiples conexiones de clientes eficientemente usando bucles
00:02:38de eventos. Estos son solo algunos puntos destacados. Aún hay muchas cosas que aprenderás una vez que comiences
00:02:43a trabajar en esto. Te darás cuenta de que la ingeniería de software es más que solo crear aplicaciones CRUD.
00:02:48El siguiente proyecto es construir tu propio GIT. Usas GIT todos los días. ¿Pero realmente sabes cómo funciona?
00:02:54Cuando construyes un sistema de control de versiones simplificado por ti mismo, todo encaja. Entenderás
00:03:00cómo se almacenan internamente los commits. Implementarás hashing y almacenamiento direccionable por contenido.
00:03:05Organizarás instantáneas de archivos en árboles de commits. Y hay mucho más que aprenderás e implementarás.
00:03:11Y lo genial de construir desde cero es que puedes modificarlo para que funcione como tú quieras.
00:03:16Finalmente, nuestro tercer proyecto es construir tu propia base de datos SQLite. SQLite es un motor de base
00:03:22de datos sin servidor que guarda todo en un solo archivo. A diferencia de MySQL o Postgres, no hay un
00:03:29proceso de servidor separado. Es ligero pero increíblemente potente. Cuando construyas tu propia versión,
00:03:34entenderás cómo se organiza la información usando estructuras como árboles B. Analizarás y ejecutarás
00:03:39consultas simples. Implementarás indexación para una recuperación más rápida. Como desarrollador, no puedes escapar
00:03:45de las bases de datos. Pero una vez entiendas cómo funciona una por dentro, estarás entre los pocos desarrolladores.
00:03:52Ahora, en el nivel tres, vamos más profundo. El primer proyecto aquí es crear tu propio mini lenguaje de programación.
00:03:58Sí, tu propio lenguaje. Crearás algo que lea código, lo entienda y ejecute
00:04:04instrucciones. Y aunque suene intimidante, es uno de los proyectos más gratificantes que puedes construir.
00:04:10Aprenderás e implementarás cosas como un Lexer, un Parser y un árbol de sintaxis abstracta. Lo más importante, lo
00:04:17entenderás cómo funcionan realmente los intérpretes y compiladores. Este es un gran proyecto porque finalmente
00:04:22entenderás cómo nos comunicamos realmente con las computadoras. Y también puedes presumir de que creaste
00:04:27un lenguaje de programación y ponerle el nombre que quieras. El segundo proyecto es construir tu propio
00:04:32cliente de BitTorrent. Aquí es donde entran en juego los sistemas distribuidos. BitTorrent es un sistema
00:04:38de intercambio de archivos peer-to-peer donde los usuarios descargan fragmentos de archivos de múltiples pares en vez de un solo servidor.
00:04:44Cuando construyas esto, implementarás el descubrimiento de pares, gestionarás conexiones entre nodos, dividirás archivos en
00:04:50fragmentos, asegurarás la integridad de los archivos y manejarás la comunicación distribuida. Este no es un proyecto fácil.
00:04:57Seguro que ni siquiera has entendido la mitad de lo que acabo de decir. Pero te enseña cómo funcionan realmente
00:05:02los sistemas distribuidos a gran escala. Y finalmente, nuestro último proyecto es construir tu propio
00:05:08asistente de programación. Algo similar a Claude Code. Las herramientas de IA modernas se sienten geniales, pero por dentro,
00:05:14son sistemas que integran modelos de lenguaje grandes con arquitectura de software tradicional. Cuando construyas
00:05:20uno tú mismo, integrarás la API de un LLM en una aplicación. Analizarás e indexarás archivos de proyecto
00:05:27para proporcionar contexto. Gestionarás prompts y controlarás las respuestas. Diseñarás un sistema que
00:05:32mezcle la IA con principios de ingeniería reales. Y después de empezar a trabajar en esto, entenderás
00:05:38cómo funcionan realmente estas populares herramientas de programación con IA por debajo. Y no solo eso, dado que la IA
00:05:44está tan de moda hoy en día, este es un proyecto excelente y desafiante que puede hacerte destacar. Seamos
00:05:50honestos. Algunos de estos proyectos son difíciles. Construir tu propio Redis, Git o un cliente BitTorrent no es
00:05:55algo que termines casualmente en un fin de semana. Te atascarás. Dudarás de ti mismo. A veces
00:06:01ni siquiera sabrás si lo estás implementando correctamente. Y ahí es donde normalmente la mayoría
00:06:05se rinde. Así que, para lidiar con esto, existe una plataforma llamada CodeCrafters. Es una plataforma de
00:06:11aprendizaje basada en proyectos donde reconstruyes herramientas como Redis, SQLite, servidores DNS o servidores HTTP, paso a paso. No
00:06:19te dan la solución. Te dan pruebas y hitos estructurados. Y tú implementas todo
00:06:23por tu cuenta. Personalmente la he usado al trabajar en estos proyectos. Y honestamente, tener esa dirección
00:06:29estructurada marcó la diferencia entre abandonar y terminar. Así que si te gustan estas ideas de proyectos pero
00:06:34quieres guía mientras sigues haciendo el trabajo real, dejaré un enlace en la descripción. Pero ya sea que uses
00:06:39una plataforma o lo hagas totalmente solo, lo importante es que realmente construyas algo tú mismo. Si tú también
00:06:45has estado buscando por todo internet el próximo proyecto que construir, espero que esto te haya dado claridad.
00:06:51Puede dar miedo al principio, pero el agua fría no se calienta hasta que saltas dentro. Si te gustó este
00:06:57tipo de video, asegúrate de darle a like, suscribirte y dime con qué proyecto vas a empezar.
00:07:02Nos vemos en el próximo.