Reto Semanal: cada semana hay un ganador, y podrías ser tú
Introducción
Quizá suene un poco nostálgico, pero todavía recuerdo el primer programa que resolví solo, sin copiar nada, sin preguntarle a nadie. Era una tontería, un bucle que imprimía números pares, pero la sensación de haberlo armado con mi propia cabeza fue de las cosas que más me engancharon a programar. Ese subidón hace tiempo que no lo siento.
Lo que pasa después de un tiempo trabajando en esto es que el código deja de ser un juego. Se vuelve una herramienta, una obligación, algo que resuelves porque hay que entregarlo, no porque te divierte. Y programar solo, sin nadie del otro lado, sin nada en juego más que tu propio tiempo, termina sintiéndose distinto a cuando había alguien con quien compararte o competir.
Así que hice algo al respecto: cada semana publico un reto de programación en la Cueva. Nada del otro mundo, nada de estructuras de datos complicadas a las tres de la mañana. Problemas del tamaño justo para recuperar esa sensación de la primera vez, con la diferencia de que ahora hay un leaderboard real esperando del otro lado, así que ya no soy solo yo hablándole a mi propio editor de texto.

Y sí, tampoco me voy a poner flores porque sí, no está al nivel de los grandes sitios de retos de código, y la verdad nunca pretendí que lo fuera. Es un proyecto pequeño, sin pretensiones, hecho para que cualquiera pueda entrar, resolver un problema y salir con la satisfacción de haberlo logrado. Y si me sirve para hacer un post en mi blog, mejor aún.
¿Por qué debería importarte?
Sé que existen sitios enormes con miles de problemas categorizados por dificultad y empresa. No te voy a mentir diciendo que esto los reemplaza. Pero la mayoría de esos sitios te piden un plan de estudio y una lista interminable de problemas que da pereza empezar. Aquí te ofrezco algo más pequeño:
- Un problema corto por semana, sin comprometerte a un curso de meses ni a resolver cien ejercicios seguidos.
- Ver tu usuario de GitHub en un leaderboard público si tu solución es realmente correcta.
- Competir contra otras personas reales, no contra un contador de racha que solo te compara contigo mismo.
Y sobre todo: es gratis, al menos para ti. A mí me llega la factura de Firestore y Cloud Run a fin de mes, pero eso es un problema mío, no tuyo. Es rápido, y puedes entrar, resolver, e irte en quince minutos sin registrarte con un correo ni inventar otra contraseña que vas a olvidar.
Entra directo a cuevaneander.tech/reto-semanal si ya te convencí. Si quieres saber un poco más antes de entrar, sigue leyendo.
Cómo funciona
No voy a convertir este post en un tutorial de arquitectura, para eso probablemente escriba algo más técnico en otro momento. Pero sí quiero que entiendas la mecánica general, porque es lo que hace que esto valga la pena y no sea otro editor de código más con un botón de "Run" que no significa nada:
- Inicias sesión con tu cuenta de GitHub. Sin formularios ni contraseñas nuevas. Un clic y estás dentro.
- Aparece el reto de la semana, con su enunciado y un editor donde escribes tu solución.
- Puedes probar tu solución las veces que quieras antes de enviarla, para ir afinando.
- Cuando la envías de verdad, tu código se evalúa contra un conjunto de pruebas más amplio del que puedes ver en pantalla, en un entorno separado y controlado.
- Si tu solución pasa esa evaluación completa, entras al leaderboard con el tiempo en el que la resolviste.
Solo hay un reto activo en cada momento. Cuando termina la semana, se cierra y aparece uno nuevo, así que si llegas tarde a este, la próxima semana hay otro esperando.
Conclusión
No pretendo que esto reemplace a las plataformas gigantes con miles de problemas categorizados por dificultad y empresa. Es más pequeño que eso, y a propósito. Es el tipo de cosa que yo mismo hubiera querido tener cuando recién empezaba: un problema por semana, sin presión, con gente real del otro lado compitiendo en el mismo horario que tú.
Si te gusta programar y extrañas esa sensación de resolver algo por tu cuenta, pasa por cuevaneander.tech/reto-semanal. El leaderboard de esta semana todavía tiene lugares libres.
Referencias

