¡®Advent of Code¡¯: los 25 problemas de programaci¨®n que desaf¨ªan a miles de inform¨¢ticos cada Navidad
El estadounidense Eric Wastl lleva construyendo desde 2015 un calendario de Adviento con retos en los que participa una creciente comunidad de desarrolladores
Cuando Eric Wastl era ni?o, contaba los d¨ªas hasta Navidad con un calendario de Adviento de tela. Cada ma?ana sacaba un adorno de un bolsillo y lo pegaba en el ¨¢rbol de la parte superior. ¡°Estos peque?os elfos est¨¢n trabajando duro. La Navidad est¨¢ en camino. Por favor, ay¨²dales con el ¨¢rbol y pronto ser¨¢ el d¨ªa de Navidad¡±, apremiaba el almanaque.
Ahora la cuenta atr¨¢s de Wastl arranca en abril, cuando comienza a compaginar su trabajo como arquitecto de software en una plataforma de venta de cartas coleccionables con el desarrollo de los puzles de Advent of Code, un calendario de Adviento donde las sorpresas no son adornos, chocolates, cervezas ni ninguna de las chucher¨ªas que han ido a concentrarse en estos d¨ªas de diciembre. Desde el 1 hasta el 25 del mes, propone un reto de programaci¨®n diario a una comunidad de desarrolladores cada vez mayor. ¡°A d¨ªa de hoy, m¨¢s de 500.000 personas han resuelto al menos un puzle¡±, asegura el ingeniero inform¨¢tico estadounidense.
Los retos van alineados con la temporada festiva. El de este a?o comienza con los elfos y el aspirante pasando un d¨ªa en un barco en alta mar y accidentalmente tirando por la borda las llaves del trineo. ¡°Antes de que te des cuenta est¨¢s dentro de un submarino que los elfos tienen listo para situaciones como esta. Est¨¢ cubierto de luces de navidad (claro), y tiene una antena experimental que tendr¨ªa que ser capaz de rastrear las llaves si puedes potenciar lo suficiente la fuerza de su se?al¡±, contin¨²a el puzle.
Cada nuevo reto sit¨²a a los jugadores en un escenario ficticio y les indica los par¨¢metros necesarios para descifrar dos enigmas, que tienen una ¨²nica respuesta posible y ganar un m¨¢ximo de dos estrellas diarias. Quienes consigan ganarlas todas podr¨¢n vanagloriarse de haber salvado la Navidad. Por lo pronto, el submarino lleno de elfos que ha ideado Wastl para este a?o ya ha atravesado un campo de chimeneas hidrotermales, ha sido perseguido por una ballena gigante y ha topado con un enjambre de cangrejos que pilotaban sus propios batiscafos.
Todo es una excusa para plantear veinticinco problemas que sirvan a los participantes como un campo de entrenamiento. Seg¨²n explica el padre de Advent of Code, sus puzles resultan especialmente ¨²tiles, por ejemplo, para preparar entrevistas de trabajo, ya que muchas empresas del sector plantean retos parecidos en sus procesos de selecci¨®n. Tambi¨¦n ha visto compa?¨ªas que dedican las tardes de los viernes a resolver su calendario e incluso profesores que incluyen los desaf¨ªos en los ex¨¢menes finales de su asignatura. ¡°Me encanta tener la oportunidad de ayudar a los participantes a convertirse en mejores programadores¡±, comenta el ingeniero.
Improbable e inesperado ¨¦xito
Todo empez¨® en octubre de 2015 en una tienda de Salem (Massachusetts). La pasi¨®n de Wastl por los puzles de programaci¨®n y un vago recuerdo de los calendarios de Adviento se juntaron entonces con tres ingredientes clave: un boli, unas servilletas y unas semanas hasta Navidad.
Aquel primer Advent of Code no ten¨ªa grandes ambiciones. ¡°Solo quer¨ªa hacer algo divertido para mis amigos¡±, recuerda Wastl, que tampoco descart¨® que estos ¨²ltimos tuvieran a su vez algunos amigos que pudieran disfrutar de un calendario as¨ª durante la temporada navide?a. Con esa audiencia en mente ¨Dunas 70 personas como m¨¢ximo¨D, que su servidor personal era suficiente para alojar el almanaque.
El 30 de noviembre, cuando ya ten¨ªa todo listo, public¨® un tuit: ¡°Mi proyecto secreto est¨¢ terminado: He estado construyendo un calendario de Adviento durante los ¨²ltimos dos meses. ?Os veo en unas horas!¡±. Y los 27 retuits que obtuvo parecieron confirmar sus humildes expectativas de ¨¦xito. Las 81 personas que se hab¨ªan registrado cuando lleg¨® la media noche eran ciertamente m¨¢s de lo que esperaba Wastl, pero no tanto como para hacerle temer por la capacidad del servidor.
My secret project is done: I've been building an Advent calendar for the last two months. See you in a few hours! https://t.co/WSOs2QAFqU
— Eric Wastl (@ericwastl) November 30, 2015
Entonces lleg¨® el 1 de enero y se desbloque¨® el primer puzle. A mediod¨ªa, las suscripciones iban por 4.000 y el gr¨¢fico mostraba una tendencia ascendente casi vertical. Al final de la primera jornada de Adviento, se aproximaba a los 10.000. El d¨ªa de Navidad hab¨ªa alcanzado las 52.000. ¡°Era la primera vez que lograba una tracci¨®n as¨ª en un proyecto personal¡±, admite el creador del calendario. ?Qu¨¦ hab¨ªa pasado? El programador hab¨ªa estimado que se apuntar¨ªan los amigos de sus amigos. No hab¨ªa tenido en cuenta que esa afirmaci¨®n era en realidad un bucle que pod¨ªa repetirse hasta el infinito.
¡°Tener a m¨¢s de 50.000 personas resolviendo puzles el primer a?o fue todo lo que necesitaba para convencerme de seguir haci¨¦ndolos¡±, comenta Wastl. A lo largo de los a?os ha visto a la gente usar decenas de lenguajes de programaci¨®n distintos para afrontar sus desaf¨ªos. Es m¨¢s, les ha visto usar un lenguaje cada d¨ªa. Y tambi¨¦n ha topado con participantes que no son desarrolladores, pero encuentran las soluciones garabateando sus razonamientos en folios u hojas de Excel. ¡°Unas nociones de programaci¨®n y algunas habilidades de resoluci¨®n de problemas te llevar¨¢n muy lejos. Todos los retos tienen soluciones que pueden completarse en 15 segundos en hardware de hace 10 a?os¡±, prometen las instrucciones de Advent of Code.
De entre los 175 desaf¨ªos que ha inventado para las siete ediciones, Wastl se queda con el puzle que cre¨® para el d¨ªa 16 de diciembre de 2018, en el que los participantes deb¨ªan encontrar la manera viajar en el tiempo para regresar al presente. ¡°Me gusta como combina diferentes habilidades en un paquete genial mientras mantiene la expectativa en que el usuario sea capaz de conseguir lo que se le pide de ellas¡±, razona.
Miles de personas comparten ahora sus penas, pistas y memes en un subcanal de Reddit dedicado a Advent of Code, Twitter e incluso Stack Overflow. ?Habr¨¢ m¨¢s calendarios en las festividades venideras? Wastl explica que no suele divulgar informaci¨®n de puzles o calendarios futuros. Por lo pronto, 200.000 participantes ya tienen al menos una de las estrellas que necesitan para salvar la Navidad de este a?o.
Puedes seguir a EL PA?S TECNOLOG?A en Facebook y Twitter o apuntarte aqu¨ª para recibir nuestra newsletter semanal.
Tu suscripci¨®n se est¨¢ usando en otro dispositivo
?Quieres a?adir otro usuario a tu suscripci¨®n?
Si contin¨²as leyendo en este dispositivo, no se podr¨¢ leer en el otro.
FlechaTu suscripci¨®n se est¨¢ usando en otro dispositivo y solo puedes acceder a EL PA?S desde un dispositivo a la vez.
Si quieres compartir tu cuenta, cambia tu suscripci¨®n a la modalidad Premium, as¨ª podr¨¢s a?adir otro usuario. Cada uno acceder¨¢ con su propia cuenta de email, lo que os permitir¨¢ personalizar vuestra experiencia en EL PA?S.
En el caso de no saber qui¨¦n est¨¢ usando tu cuenta, te recomendamos cambiar tu contrase?a aqu¨ª.
Si decides continuar compartiendo tu cuenta, este mensaje se mostrar¨¢ en tu dispositivo y en el de la otra persona que est¨¢ usando tu cuenta de forma indefinida, afectando a tu experiencia de lectura. Puedes consultar aqu¨ª los t¨¦rminos y condiciones de la suscripci¨®n digital.