El viaje de un aprendiz en el desarrollo o ingeniería de software puede asemejarse mucho al antiguo camino del aprendizaje del Aikido, conocido como Shuhari. Este concepto, que representa tres etapas distintas de aprendizaje, es tan aplicable a las artes marciales como al diseño y la escritura de código.
Antes de profundizar en cada etapa de Shuhari, es útil visualizar cómo estas se articulan en el proceso de aprendizaje. El siguiente gráfico representa estas etapas de la maestría, cada una de las cuales juega un papel crucial en la evolución del aprendiz en su viaje hacia la maestría en desarrollo de software.

Shu: Esta es la primera etapa del aprendizaje, donde el aprendiz se enfoca en dominar las técnicas y reglas básicas. En el desarrollo de software, significa aprender lenguajes de programación, entender las mejores prácticas y familiarizarse con las herramientas y procesos estándar. El objetivo aquí es construir una base sólida.
- Reflexión: ¿Cuáles son tus metas actuales? ¿Hay áreas en las que sientes que necesitas aprender más?
Ha: En esta etapa, el aprendiz se siente lo suficientemente cómodo como para experimentar y desafiar las reglas que aprendió en la etapa anterior. En la programación, esto puede implicar probar nuevas herramientas, explorar diferentes enfoques para resolver problemas y quizás incluso desafiar algunas «normas» inamovibles del desarrollo de software. Es un momento para innovar y personalizar tu enfoque.
- Reflexión: ¿Cómo te desafías a ti mismo en tu trabajo? ¿Has experimentado con nuevos enfoques y técnicas?
Ri: Esta es la etapa de la verdadera maestría, donde las reglas y técnicas aprendidas se abandonan para crear algo completamente nuevo y único. En el desarrollo de software, un maestro en este nivel podría desarrollar nuevos frameworks, lenguajes de programación o incluso revolucionar la forma en que abordamos el software en su totalidad.
- Reflexión: ¿Cuándo has logrado innovar de forma significativa en tu trabajo? ¿Cómo fue esa experiencia?
Es importante recordar que Shuhari no es un camino lineal. Los desarrolladores pueden moverse entre estas etapas a medida que aprenden nuevas habilidades, abordan nuevos desafíos o incluso se desplazan a diferentes áreas del desarrollo de software. Este viaje, desde el aprendizaje riguroso hasta la innovación y la eventual maestría, es un recordatorio de que el camino hacia la excelencia en el desarrollo de software es un proceso constante de crecimiento y evolución.
Técnicas para implementar Shuhari
Capacitación regular: Las sesiones de capacitación y aprendizaje son esenciales para mantenerte y mantener a tu equipo en el camino del Shuhari. Las nuevas habilidades y técnicas deben ser aprendidas y practicadas regularmente. Los equipos pueden implementar la capacitación regular mediante la programación de talleres semanales, haciendo sesiones de codificación en pareja, o utilizando plataformas de aprendizaje en línea.
Espacio para la experimentación: Proporcionar tiempo y espacio para que los miembros del equipo experimenten y desafíen las reglas existentes es crucial. Una forma de fomentar la experimentación puede ser dedicar una parte del día a la «hora de la innovación» donde los miembros del equipo tienen libertad para trabajar en sus propios proyectos.
Promover la innovación: Los equipos de desarrollo deben fomentar la innovación, ya sea a través de hackathons internos, sesiones de brainstorming o incluso simplemente reconociendo y recompensando la innovación en la empresa. Los líderes pueden establecer premios para los proyectos más innovadores y alentar a sus equipos a pensar de manera innovadora.
Mentoría: Los desarrolladores más experimentados deben asumir el papel de mentores para ayudar a los menos experimentados a avanzar a través de las etapas de Shuhari. Un sistema de mentoría efectivo puede compartir el conocimiento de manera efectiva y beneficiar tanto al mentor como al aprendiz.
Shuhari ofrece una estructura clara para el camino del aprendizaje y la maestría, que puede ser tan aplicable en el desarrollo de software como en las artes marciales. Aplicando este concepto, tanto desarrolladores como equipos enteros de desarrollo de software, pueden continuar evolucionando, innovando y alcanzar nuevos estándares de excelencia en su trabajo.
Te invito a continuar tu viaje de aprendizaje. Vuelve a la serie de artículos sobre filosofías japonesas aplicadas al desarrollo de software haciendo clic aquí.
1 comentario en «Shuhari: El Camino de la Maestría en el Desarrollo de Software»