En un vuelo largo ayer termine de leer el libro “Pragmatic Thinking & Learning: Refactor Your Wetware” de uno de mis autores favoritos Andy Hunt.
El libro me dejo sabores mezclados por lo acostumbrado que estoy a esperar del autor lectura de temas profundamente técnicos. Hunt se aventura a explorar en su libros temas de psicología cognitiva, aprendizaje de adultos y neurociencias.
Si observamos desde una perspectiva holística todas esas disciplinas pueden contribuir grandemente al rápido y efectivo aprendizaje que se vuelve imprescindible para que la gente que aspira a crear código limpio.
En general del libro me llevo tres reflexiones, la primera de ellas viene del clásico modelo de aprendizaje de Dreyfus:

El modelo de Dreyfus, que me parece una alternativa interesante al sobre utilizado modelo Shu-Ha-Ri tomado de las artes marciales, muestra que no es posible llegar a un nivel experto sin haber invertido tiempo, esfuerzo y mentoría dedicada para alcanzar nuevas habilidades.
Este modelo resulta válido para cualquier disciplina manual o cognitiva, si pensamos por ejemplo en los mecánicos de automóviles ellos se vuelven expertos con muchos años de practica, metoría y un cumulo de errores cometidos. El nivel de expertise de un mecánico le permite diagnosticar con solo ver, escuchar e intuir la falla en un motor pero difícilmente puede verbalizar cómo sabe que ahi.
Similar nivel de expertise es el que puede observarse en software craftsman que intuyen que hay que refactorizar porque “huelen” que el código no esta bien.
Un corolario interesante de esta analogía con los mecánicos es que no se puede llegar a un nivel experto sin “hacer” el trabajo por mucho tiempo. Mi segunda reflexion del libro tiene que ve precisamente este punto, ver la siguiente ilustración:

Si la gráfica anterior es cierta, como parece serlo para muchas profesiones y oficios, ¿porque será que muchas gente en nuestra profesión del software se considera experta pocos años después de haberse graduado de la universidad?
Mi ultima reflexion tiene que ver con la poca efectividad de los cursos de capacitación dentro de la empresas, esta analogía la ilustra magistralmente:

Los empleados de una empresa son enviados, a veces sin ser consultados a un curso de capacitación o certificación, aprenden con la mejor se su voluntad (o a veces no) durante los días que dura el curso pero luego regresan a sus puestos de trabajo a hacer las cosas como siempre solo cambiando pequeñas detalles y con el tiempo acaba olvidando todo lo aprendido.
Al igual que con la analogía de las ovejas, un nuevo “baño de conocimiento” es necesario quizás con un nuevo curso o un nuevo instructor. Este ciclo desde luego que genera negocio para muchos capacitadores, incluido su humilde servidor.
Pero habrá que preguntarse si genera beneficios duraderos para las empresas pues si estas no capitalizan esos beneficios la idea entera detrás de la agilidad puede diluirse.
Hunt propone algunas alternativas para hacer que los efectos del entrenamiento sean más duraderos, a saber:
- Clubes de lectura formados por los mismos empleados
- Grupos de práctica
- Pair reading y mentoría cruzada
- Y por sobre todo practica constante y dedicada de lo aprendido
Desde luego lo anterior requiere un mayor compromiso y apoyo de parte de la empresa pero principalmente de los estudiantes que participaron en el aprendizaje. Al fin y al cabo cada uno es dueño de su carrera y no es responsabilidad de nadie el forzarnos a aprender.
Finalmente creo que leer este libro fue una gran inversion de tiempo pues me sacó de mi zona de confort de conocimiento y eso es precisamente lo que hay que hacer para “refactorizar nuestro wetware”.