El rol de technical coach: ¿podría ser para mí?

2022/04/19

Cómo y por qué acabé siendo technical coach

Hace tres meses comencé una nueva aventura profesional en Exeal (una empresa que se dedica a mejorar las habilidades de los equipos que desarrollan software). Buscaban a alguien que quisiera ejercer el rol de technical coach. Aunque en ese momento yo no estaba buscando un cambio y no tenía ninguna experencia formal en el puesto, no pude resistirme por dos motivos principalmente:

  • 🙀 por un lado es un puesto de trabajo nada común en España, y me parecía que no iba a encontrar muchas oportunidades como esa.
  • 😻 además, desde siempre la parte de la informática que más me ha interesado ha sido la que tiene que ver con buenas prácticas (diseño, principios de programación,…). Durante los últimos 4 años había estado trabajando en un empresa (Alea Soluciones) con una implementación de eXtreme programming muy fuerte; y tenía claro me encantaría poder dedicar todo mi tiempo a profundizar aún más en las prácticas que esta filosofía propone.

¿Pero qué hace un technical coach exactamente?

El technical coach tiene como objetivo asegurar la mejora de las capacidades técnicas de los equipos de desarrollo. Cualquiera que ayude al equipo a mejorar técnicamente. Principalmente se engloban en:

  • ✅ Diseño guiado por tests: Test Driven Development / Behaviour Driven Development
  • 👍🏼 Escribir buen código: principios de diseño orientado a objetos, refactoring, productividad con el IDE, DDD,…
  • 📦 Entrega continua: CI/CD, DevOps, observabilidad,…
  • ⛩️ Disciplina y aprendizaje: Pair/Mob programming, mentalidad adecuada,…

También opera en las siguientes áreas de mejora de procesos del equipo, en colaboración con otros roles (Agile Coach / Scrum Master):

  • 🤔 Toma de decisiones sobre qué implementar
  • 🎓 Mejora continua del equipo
  • 🏃🏽‍♀️ Ritmo sostenible

¿Y cómo lo hace concretamente?

Para llevar a cabo todos estos objetivos, se realizan una serie de actividades, siendo las más habituales:

  • Mob programming: sesiones de trabajo hands-on con todo el equipo, sobre código productivo.
  • Learning hours (preparación e impartición): sesiones de aprendizaje sobre un tema concreto, de corte práctico (formato coding dojo, katas, etc.) para transmitir nuevos conceptos al equipo.
  • Community of practice: proponer, organizar y participar en actividades de aprendizaje y compartición de conocimiento cross-team para potenciar la polinización cruzada.
  • Mentorizar 1:1 a cada developer.
  • Facilitar discusiones técnicas.
  • Participar de oyente en las ceremonias del equipo y sugerir mejoras.
  • Identificar los gaps de conocimiento del equipo.
  • Ayudar al equipo a elaborar la visión y el roadmap técnico.

A tener en cuenta…

  • 🚀 Para empezar a ejercer de technical coach no hace falta que tengas experiencia como tal (siempre hay una primera vez ¿verdad?), pero sí en las prácticas técnicas mencionadas anteriormente y que además tengas las soft skills necesarias.
  • 📸 Vas a exponerte continuamente: ten en cuenta que gran parte de tu tiempo estarás ayudando a otras personas que te plantearán sus dudas y dolores y que esperan que les ayudes a solucionarlos.
  • 🗣️ Prepárate para hablar mucho, marcar el ritmo y estar pendiente de muchas cosas.
  • 🛠️ Tienes que ser generalista o tener la capacidad para serlo. Hay que ser consciente de que cada equipo tiene sus lenguajes, herramientas y técnicas. Yo en sólo 3 meses he tocado varias cosas que no conocía (C#, Angular, los IDEs de Jetbrains,…). Por suerte todo esto son más bien detalles, y los principios que hay detrás de todo lo importante se mantienen.
  • 💡 Cualquier persona que se dedica al desarrollo de software necesita tener el aprendizaje continuo como uno de sus pilares, pero en el caso de un technical coach es vital. No simplemente por el tema de las herramientas que comentaba en el punto anterior, si no sobre todo por los principios y técnicas más importantes que nunca se acaban de dominar completamente y por cuestionarnos todo lo que sabemos y no caer el el dogmatismo.

Conclusión

Paradójicamente, creo que lo mejor de este trabajo es lo que llegas a aprender (¿se supone que debería ser al revés? 😅). En sólo 3 meses tengo la sensación de haber asentado y descubierto un montón de cosas, y estoy seguro que cuando cumpla 1 año en Exeal y haga retrospectiva el conocimiento y la experiencia que haya acumulado será brutal.

Aunque como comentaba al principio es un puesto que escasea (sobre todo en España) creo que poco a poco cada vez va a verse más, y que es muy necesario este rol técnico que ayude a superar algunos de los errores que se han cometido en la expansión y implantación de “Agile” en los últimos años.

Postdata

Para saber más sobre este puesto de trabajo, el libro de Emily Bache sobre el tema te puede ayudar a hacerte una idea detallada e incluso a prepararte para ejercer como technical coach.