Me uní a Codurance como desarrollador web con algo de experiencia profesional previa en una start-up relativamente joven y poco estructurada. Anteriormente, aprendía principalmente "en el trabajo" sobre algunos de los aspectos más importantes de los sistemas de la empresa.
Aunque esta experiencia había resultado ser una gran introducción al sector, no había ningún camino claro para la autosuperación, y al ver mi base de código sabía que tenía que encontrar formas de mejorarla. Al ser autodidacta y estar en una pequeña empresa sin ningún ingeniero experimentado que me ayudara, era bastante difícil identificar lo que había que mejorar, y mucho menos cómo hacerlo.
Entonces, apliqué al puesto de Software Craftspeople in training en Codurance, lo que iba a suponer una experiencia de aprendizaje de 4 meses con otros desarrolladores de software, para conocer las mejores prácticas para la industria de parte de expertos experimentados en su oficio. Además de esto, me iban a pagar por mi tiempo, resolviendo el problema universal de preocuparme por cómo mantenerme a mí mismo a través de una experiencia de aprendizaje a tiempo completo.
La primera semana fue sobre conocer al resto de colegas del Academy y de Codurance. Existe una sólida cultura de apoyo mutuo entre todos en la empresa, independientemente del proyecto o departamento al que pertenece la otra persona. De inmediato puedes ver los beneficios de esta filosofía: fomenta el crecimiento de todos y permite que las buenas ideas se propaguen a través de la empresa.
Recuerdo cuando me senté para comenzar mi viaje por el Academy y miré el cronograma de los 4 meses que tenía por delante . Los problemas que mencioné anteriormente con respecto a la superación personal se resolvieron de inmediato. Los Craftspeople responsables del curso habían utilizado sus años de experiencia en la industria para delegar tu tiempo en los conceptos y habilidades más urgentes, y que así puedas centrarte en el aprendizaje. Además, cada semana había una lista de recursos recomendados, que podían incluir libros, vídeos de YouTube, entradas de blog, cursos o cualquier cosa que ayudara a asimilar el material.
Junto con los recursos, el Academy te asigna un Craftsperson para que actúe como tu guía durante el tiempo de aprendizaje de estos diferentes conceptos. Este Craftsperson será el anfitrión de la mayoría de las sesiones de aprendizaje, ofrecerá apoyo y explicaciones profundas sobre ciertos conceptos o ideas contrastadas, al tiempo que encontrará oportunidades para ajustar aspectos del Academy para ayudarte a ti y a tus compañeros Craftspeople-in-training. Tuvimos la suerte de tener un Craftsperson que era también la personificación de la cultura abierta y solidaria que he mencionado anteriormente, al tiempo que se esforzaba por ponerle mucha diversión y humor a las jornadas.
En cuanto a los temas, hay una gran variedad. Las primeras semanas son, en mi opinión, las más divertidas, ya que se basan casi por completo en el aprendizaje de conceptos de codificación y luego en utilizarlos en pair programming junto a tus compañeros (o incluso con tu tutor) para demostrar tus nuevos conocimientos. Si, como para mí, el pair programming es nuevo para ti cuando empiezas el Academy, te espera una experiencia divertida y colaborativa. Es una forma excelente de conocer no sólo las nuevas ideas que vas a aprender, sino también a tus compañeros.
Dentro de la parte intensiva de codificación de el Academy, se enseñan los principios del Diseño Dirigido por Pruebas, los principios de los Patrones de Diseño, los fundamentos más importantes de la Programación Orientada a Objetos - la lista continúa. Después de sólo dos semanas en el Academy, miré hacia el proyecto personal que tenía justo antes de empezar y no podía creer lo mucho que había avanzado. Es una experiencia agridulce volver a ver un trabajo reciente y darte cuenta de lo mucho que está mal, pero también fue increíble transformarlo, con un arsenal de ideas excelentes, después de tan poco tiempo. No puedo pensar en otra ocasión en la que haya sentido que he aprendido tanto a tal velocidad.
En las semanas más técnicas, en las que aprendíamos temas más específicos, nuestro tutor podía incluso acudir a la organización de Codurance para encontrar a un profesional con un conocimiento notablemente elevado que viniera a apoyarnos. Este acceso a la experticia a este nivel, prácticamente en cualquier momento, realmente hizo que la comunidad de aprendizaje fuera mucho más rica.
El tiempo dedicado a los conceptos técnicos es, por supuesto, inestimable. Sin embargo, ¡hay mucho más en ser un Craftsperson que el propio código! Aquí es donde creo que Codurance es diferente de cualquier otro lugar en el que haya trabajado. Hay un gran énfasis en la forma correcta de trabajar dentro de un equipo y con un cliente o propietario del producto. Aprenderás a analizar un proceso de trabajo para asegurarte de que permite iteraciones de comunicación claras entre todos los miembros del equipo y el propietario del producto. Entenderás cómo priorizar el trabajo y qué hacer cuando algo se retrasa. Aprenderás a organizar tus presentaciones periódicas a los propietarios del producto, para mostrarles los frutos de tu trabajo y el resultado de esa comunicación constante con ellos. Aprendes rápidamente que las habilidades técnicas sin dirección sólo te hacen muy eficiente para hacer un lío, y que ser un Craftsperson significa ser el paquete completo: conocimientos técnicos, por supuesto, pero también un profesional muy accesible y comunicativo que está tan preocupado por mantener el proyecto en el camino correcto como por las habilidades técnicas duras.
El Academy llega a su fin con el proyecto final, que reúne todo lo que has aprendido en los últimos meses. Podrás gestionar tu proyecto, trabajar con tu equipo, como si estuvieras trabajando para un cliente, y presentar algo de lo que te sientas orgulloso. Es una experiencia intimidante, sin duda, pero con todo el apoyo que se ofrece y el excelente equipo de personas positivas que trabajan junto a ti, es una experiencia verdaderamente satisfactoria y gratificante que te permite mirar hacia tus últimos 4 meses como programador y ver los saltos astronómicos que has hecho en tu progreso personal.
En resumen, si estás buscando una forma de convertirte en la mejor versión de un Software Craftsperson que puedas ser, en un entorno que se centra en fomentar un ambiente positivo y de aprendizaje, yo recomendaría absolutamente el Codurance Academy. Me imagino que me habría llevado años aprender lo que he adquirido en esos 4, intensos pero divertidos, meses.
¡Espero verte en la próxima!