En septiembre del año pasado, comenzamos discretamente el Track Anatomy Project de Exercism. Desde entonces se lo hemos ido contando a cada vez más gente y ahora hemos decidido que ha llegado el momento de presentar públicamente el trabajo formal que estamos haciendo para mejorar los tracks y los ejercicios de Exercism.
Para entender el propósito y la necesidad del Track Anatomy Project tenemos que remontarnos a los orígenes de Exercism. Exercism empezó como una variedad de tracks de lenguajes, cada uno con un conjunto de ejercicios que se solapaban entre sí. No había un orden ni una estructura como tal: cualquiera podía elegir el ejercicio que le pareciera interesante, resolverlo, subir su código y confiar en que alguien lo encontrara y lo comentara. En el centro de nuestro relanzamiento de 2018 estaba el volver a centrar Exercism en un enfoque mucho más estructurado, tanto de los propios tracks como del aprendizaje que los acompañaba. Decidimos reformar los tracks de lenguajes para que consistieran en una columna vertebral fija formada por «ejercicios principales» obligatorios, que desbloqueaban «ejercicios secundarios» opcionales a medida que se completaban. Pedimos a los maintainers que estructuraran la columna vertebral principal de modo que aumentara en dificultad y que diseñaran una secuencia de desbloqueo relevante para las técnicas que se practicaban. Cada maintainer adoptó enfoques distintos, con niveles de éxito variables. Algunos simplemente no tenían tiempo, y en esos casos elegimos diez ejercicios relativamente al azar para formar el núcleo inicial.
Muy pronto quedó claro que el diseño del track marcaba una diferencia enorme en el éxito de ese track. Durante los primeros meses tras el lanzamiento, hicimos una serie de observaciones críticas:
- Los lenguajes que empezaban con un ejercicio demasiado difícil frustraban a la gente y provocaban un abandono rápido.
- La dificultad de mentorizar un ejercicio estaba directamente correlacionada con la complejidad del ejercicio, no con su dificultad.
- Los ejercicios que se podían resolver de una única manera típica (por ejemplo, «acronym»), o que tenían objetivos de aprendizaje claros, se mentorizaban mucho más rápido que los que tenían variedad (por ejemplo, «bob»).
- El orden en que se introducen los conceptos importa: cubrir los modismos esenciales en los primeros ejercicios hace que los ejercicios posteriores sean más fáciles tanto para quien aprende como para quien mentoriza.
A partir de esto, nos dimos cuenta de que gran parte del éxito de la mentorización en Exercism iba a depender de la calidad del «plan de estudios» de los tracks: tener los temas adecuados, cubiertos de forma explícita en los ejercicios adecuados y en un orden apropiado. Decidimos que necesitábamos desarrollar un marco formal que pudiéramos usar como guía para los maintainers y crear un track que nos sirviera de referencia de oro para los demás.
En paralelo a todo esto, una de nuestras mentoras, Maud de Vries, que lleva 20 años trabajando como coach profesional, había empezado a publicar con regularidad sugerencias sobre cómo mejorar el track de Ruby. Sus ideas encajaban de forma sorprendente con las conclusiones a las que también estábamos llegando nosotros. En silencio, entre bastidores, Maud fue analizando uno por uno todos los ejercicios de Ruby y desarrollando un mapa de cómo se conectan los ejercicios, los conceptos que contienen y cómo podrían reorganizarse mejor para formar una estructura de track bien organizada para quienes aprenden y divertida y atractiva para quienes mentorizan. Cuando nos mostró parte de su trabajo, decidimos que era la persona adecuada para desarrollar nuestro marco de tracks y que podía tomar el track de Ruby y convertirlo en nuestro ejemplo. Desde entonces, Maud trabaja a tiempo parcial para Exercism, rediseñando el track de Ruby y desarrollando un marco de varias etapas para que los maintainers lo recorran y repliquen rápidamente sus aprendizajes en otros lenguajes. Desde octubre, Erik Schierboom trabaja en su tiempo libre como conejillo de indias de Maud, probando y usando el marco para mejorar el track de C#, lo que a su vez ha tenido un enorme impacto en el desarrollo del propio marco.
Ahora estamos cerca de la etapa en la que podremos llevar a nuestro siguiente grupo de maintainers por el avance del marco y ponerlo a prueba y afinarlo con más rigor. Una vez completemos esta próxima ronda, esperamos publicar una primera versión del marco que pueda someterse a un escrutinio mayor por parte de toda la comunidad. Nos hace mucha ilusión llegar a ese punto y mostrar todo el trabajo que ha estado ocurriendo entre bastidores. Creemos que es un paso de gigante para Exercism que mejorará de forma significativa tanto la experiencia de aprendizaje como la de quienes mentorizan.
Quiero terminar dando las gracias enormemente a Maud, que ha liderado este proyecto incansablemente, y a Erik, que ha renunciado a gran parte de su tiempo libre para ayudar.