Código y Carcajadas: Cómo el Advent of Code se convirtió en mi ‘Team Building’ Navideño

advent_of_code

¿Qué es Advent of Code?

Imagina un calendario de Adviento, pero en lugar de chocolatinas, cada día (a las 06:00CET) te regala un desafío de programación que podría hacer sudar hasta al más frío de los muñecos de nieve. Te preguntarás qué gracia tiene, ya que por experiencia puedo decir que hay desafíos que te quitan horas y ganas de vivir como si de un dementor se tratase. Por no hablar de esos momentos de bloqueo en los que te replanteas si esto de la programación realmente es lo tuyo o si hubieras sido mas feliz tomando el relevo en el negocio familiar como hizo tu padre o tu abuelo… A mí, personalmente, me ha hecho revivir mis años de estudiante, cuando la programación era un poco eso, resolver puzzles y usar bucles anidados como si no hubiera un mañana para resolver el entregable de turno. Esas pequeñas competiciones que hacíamos muy de vez en cuando en clase donde tú único objetivo era ser mejor que tu compañero Jose. Recordar con dulzura esos años donde todo era más fácil.

Pues básicamente, en el Advent of Code, compites a nivel global contra otros desarrolladores. También se puede competir a nivel local, en un tablero privado al que accedes mediante invitación y tus rivales son tus compañeros de trabajo, gente de tu zona o que has conocido en Reddit. La primera persona que resuelve el reto del día se lleva la puntuación máxima (100 o menos, dependiendo cuantos participantes haya), los demás que logran el hito van sumando un punto menos hasta que se llega a 0.
Como no, la dificultad de los puzzles va incrementando según se acerca el 25 de diciembre.

advent_of_code

A nivel personal el AoC ha sido una cura de humildad, comparar tus soluciones con las de otros usuarios de internet te hace ser muy consciente de lo mucho que te queda por aprender. En parte también sales reforzado, ver que has sido capaz de resolver un puzzle que se parece al que te mando un reclutador hace años (el cuál, en su día, no fuiste capaz ni de entender) te hace darte cuenta de lo mucho que has avanzando. Se aprenden muchas cosas, sobretodo algoritmos y estructuras de datos (Maximum Manhattan, Memorización, Algoritmo de Dijkstra que recuerde así a bote pronto), alguna vez no terminas necesitándolos, pero lees sobre ellos, los usas de inspiración y aprendes en el proceso.


Parte del juego es leer con mucha atención los enunciados que te explican que debe hacer tu código, de lo contrario te puedes volver loco intentando debuguear tu creación para más tarde darte cuenta de que has estado perdiendo el tiempo…

advent_of_code

Y, entre los compañeros, ha sido una actividad que ha dado pie a multitud de bromas, un momento ideal para meternos con JS, disfrutar y reírse viendo pantallazos (propios y ajenos) con multitud de excepciones, tiempos de ejecución absurdos por usar fuerza bruta y pasárselo bien con los memes que sube la gente en Reddit. Si te gusta programar, definitivamente, vas a disfrutar del AoC.

Pasados unos días, por necesidad, acabas limitando las horas que puedes dedicarle a los puzzles porque hay algunos que fácilmente pueden llevarse una jornada de trabajo. He hecho uso de un temporizador de 1h, pero reconozco que, alguna vez, me lo he saltado impulsado por la inspiración del momento. Cuando la dificultad ya alcanza unos niveles en los que pierde parte del interés y los compañeros van dejando de participar, el AoC termina perdiendo la gracia. Todo se disfruta más en equipo y esto no es una excepción.

advent_of_code

En conclusión, el Advent of Code es más que un simple desafío de programación… es una aventura que pone a prueba tus habilidades, te enseña nuevas técnicas y te conecta con tus compañeros. Aunque puede ser exigente y, a veces, frustrante, también es increíblemente gratificante. Te anima a superarte y a compartir experiencias con otros, ya sea compitiendo amistosamente o ayudándose unos a otros a salir del barro.


Si nunca has participado, te invito a que lo pruebes el año que viene, comienza el 1 de diciembre, hay gente que empieza a entrenar en noviembre o incluso en octubre. No solo mejorarás como programador, sino que también podrás disfrutar con tus compañeros, como si fuera una especie de «Team Building».

Full-Stack

Picture of Marius Serban

Marius Serban

Soy un manitas, me gustan los retos.
Picture of Marius Serban

Marius Serban

Soy un manitas, me gustan los retos.

We are HIRING!

What Can We Do