En un momento en el que la inteligencia artificial, la industrialización y la métrica amenazan con arrinconar la dimensión artesana del desarrollo de software, un programador defiende una receta casi olvidada: construir programas «de juguete». El argumento parte de la célebre cita de Richard Feynman —«lo que no puedo crear, no lo entiendo»— para sostener que la mejor forma de entender de verdad la ingeniería es reinventar la rueda, aunque algunos lo desaconsejen.
Los programas de juguete obedecen a la regla 80:20: con un 20 % del esfuerzo se obtiene el 80 % de la funcionalidad. La clave es huir de la sobreingeniería, dejar que cada camino de código falle hasta que sea imprescindible implementarlo y aceptar que algunos de los mejores productos profesionales nacieron como proyectos sin pretensiones. Esta práctica, además, reporta réditos inesperados: nociones adquiridas mientras se experimentaba con un proyecto menor reaparecen más tarde en el trabajo diario, ya sea para diagnosticar problemas en una librería o para anticipar errores.
El artículo incluye una lista comentada de proyectos, ordenados por dificultad y tiempo estimado, que abarcan desde una tabla hash (4/10, 3-5 días) hasta un compilador para un lenguaje similar a C (8/10, 3 meses). Entre medias aparecen un motor de expresiones regulares, un kernel x86, un emulador de GameBoy o NES, un juego para GameBoy Advance, un motor de física 2D, un intérprete dinámico, un editor de texto, un runtime asíncrono, un rasterizador y un motor de vóxeles. Cada entrada sugiere extensiones opcionales y apunta a los conceptos técnicos que el lector internalizará al completarla, desde gestión de memoria y planificación de procesos hasta compilación, sombreadores o mapas de bits.
