Consejos y Experiencias siendo el que da la cara (10 Patrones para un Team Leader)

En los últimos tiempos mi rol principal ha sido responsable de equipo (Team Leader, Arquitecto, Responsable de Grupo de Trabajo, Scrum Master, como te apetezca llamarlo), a mi me gusta pensar que es el que da la cara.

No sé si os encontráis en la misma situación o tenéis pensado hacerlo, en cualquier caso voy a compartir con vosotros algunas cosas que me han ido bien para que utilicéis estas experiencias en vuestro día a día.

He hecho una comparación con patrones, porque me ha parecido chulo (nivel de originalidad -1) y por ordenar un poco las ideas.

1. No hay dos Team Leaders iguales, al igual que no hay dos equipos iguales. Patrón Adaptador

Be water my friend, es genial leer muchos libros y compartir con mucha gente, pero cada equipo es un mundo y tiene sus peculiaridades, siempre, siempre, siempre, tienes que ser tú el que se adapte al equipo y no al revés. Si vas de primeras con tus ideas de: “Genial ya soy jefe! ahora todas las cosas se harán bien, como se tiene que hacer!” Cagada total.

Lo primero que tiene que ser es un observador, un consumidor de datos, aprende bien cómo es cada integrantes del equipo, tanto profesional como personalmente, su aficiones, sus miedos, sus objetivos, etc. Esto es muy importante y lo tienes que hacer de forma contínua, para adaptar tu forma de trabajar y dinámicas a tu equipo y no al revés.

Cada uno tenemos una personalidad diferente y además esta personalidad cambia con el tiempo (De soltero a casado, de no tener hijos a tenerlos, de estar a la última en tecnología a no estarlo).

Adáptate, cambia, redefine tu rutina de trabajo, cambia el foco, siempre intenta que el flujo siga al equipo y no al revés. No tengas prácticas inamovibles, no seas dogmático.

2. El Equipo es tu razón de ser. Hazlo parte de tu trabajo. Patrón Comunicador

Una cosa clara: Eres un responsable de equipo porque hay un EQUIPO. No un grupo de profesionales, no un espacio, ni un proyecto detrás, hay un equipo. Si no hay equipo, no hay nada que liderar, tú sobras, así de claro.

Como hay un equipo y tú eres parte de él, la información debe fluir en el equipo todo el rato. Si tenéis la suerte de estar en el mismo espacio, genial, conversad todo el rato, contrasta opiniones, plantea dudas, resuelve dudas, plantea objetivos, escucha críticas, comparte reuniones con dirección, comparte tu agenda, comparte cosas que has encontrado por internet, comparte problemas que hay en la empresa fuera de tu equipo, escucha novedades, etc.

Se tiene que crear un red de confianza dentro del equipo para que toda la información que puede afectar al equipo es compartida, conocida y estudiada.

Como decía en un post @vgaltes hablando de los Pull Request, el mayor problema de estos es que cierra la comunicación.

Si tienes un equipo parcial o completamente en remoto, comunica aún más, mucho canal de slack, mucha videoconferencias, conversaciones, reuniones de estado, etc.

Es verdad que hay información que muchas veces es incómoda o no está preparada para ser comunicada al equipo, eso es también trabajo del responsable. Evita la comunicación no efectiva, no seas el propagador de rumores, de información no veráz o información incompleta, solo complica la toma de decisiones y además añade incertidumbre. Establece claramente las fuentes de tu información y evita confundir al equipo con información vaga o poco definida.

No trates a tu equipo como si fueran mas pequeños o tontos que tú, padres tenemos todos y no nos hace falta ninguno más, si la información es dura, se transmite igual, sin edulcorar, poniéndola al servicio del equipo. Si la aplicación según dirección es una mierda, si los usuarios prefieren hacer en papel el trámite en vez de a través de tu aplicación, se dice así de claro, nada de paños calientes, ni justificaciones infantiles.

Todo el equipo es profesional y adulto, trátalos como tales. Juntos podéis buscar la solución o alternativas pero siempre si trabajais con la misma información.

3. Cómete más mierda de perro que el resto. Patrón Fachada

Sueles ser el que tiene más información dentro del equipo y además un criterio y una confianza mayor por parte de todos los integrantes de la empresa, tanto dentro del equipo como fuera. Las mierdas grandes te las comes tú, así de cristalino.

Cuando alguien no está contento con el trabajo resultante, nada de echar balones fuera, es cosa tuya (y del equipo también porque se lo vas a contar nada más verlos, Patrón Comunicador). Si están contentos es cosa de todos y así hay que transmitirlo. Si alguien del equipo no lo ha hecho bien, se le dice de forma directa para evitar rumores ni segundas opiniones y al revés igual. Si otro compañero de fuera del equipo tiene problemas con el equipo, tú vas y aguantas el chaparrón, las críticas y las dudas.

Si hay un comportamiento inadecuado, se carga con las consecuencias y se ponen las medidas para que no vuelva a pasar. Esa es tu responsabilidad, proteger y pulir al equipo para case lo mejor posible en todo el puzzle que es la empresa.

No vale lo de los marrones para el equipo y los premios para mi. Team player always. No porque sea guai, adecuado, moral o ético, si no porque es la única forma de que el equipo haga su trabajo lo más eficiente y eficaz posible y aporte valor en cada entrega y esa es tu vara de medir.

4. No te obsesiones en conocer cada línea del proyecto. Patrón Delegate

Esta claro que cuando empiezas como programador y subes a responsable, tienes esa idea de controlar todo el código de forma explicita, no es práctico. Ya lo decía Javi Santana en su post (que por cierto es oro puro y si estas leyendo esto tienes que leer sí o sí), tienes que dejar de obsesionarte con controlar cada línea de código fuente y saber cómo se ha hecho todo. Confía en tu equipo y en que tu equipo te dará la información veraz y correcta cuando preguntes o tengas dudas, básicamente porque tú haces lo mismo y hay una relación de confianza bidireccional.

Si no hay confianza, entonces no esperes que tu equipo te diga la verdad, te dirá lo que cree que tú quieres oir y además se guardará todo lo posible porque el está solo contra el resto y hay que defenderse. Evita esta situación a toda costa, acabas de perder al equipo, son solo un grupo de pistoleros solitarios en un duro y salvaje oeste empresarial.

5. Conoce todas las parte de tu proyecto. Patrón Interfaz.

Vale que no tienes que conocer cada linea de tu proyecto, pero tienes que conocer todas sus partes, por muchas razones:

Para eso, a mi me funciona muy bien:

6. Actualízate de forma Continua e Incremental. Patrón Tecnología-Vista-Controlador

Tienes que estar puesto en casi todo, sí chaval, la cosa está clara, si vas a proponer cambios, mejoras o cosas nuevas, tienes que saber de qué hablas, no te digo que te hagas experto en Angular2 o React Native, que sepas Clojure y Scala y que domines PoweShell y la configuración de active directory, pero tienes que saber qué es cada cosa, dónde va y que ventajas/inconvenientes aporta.

Eres la gasolina de tu equipo en materia de innovación, ellos están muy ocupados, codificando sin parar, haciendo test, mejorando el rendimiento de esa página que tarda en cargar y dando soporte a todos los usuarios. Se lo debes, todo eso que ellos no pueden mirar hazlo tú y hazles un resumen, propón cosas nuevas pero con fundamento, haz pet proyects con algo nuevo y muestráselo a tus compañeros. Localiza esa tecnología que puede solucionar tu problema y compártela con el equipo.

Esto te obliga a:

Dedica tiempo tanto a nuevas tecnologías como a afianzar conocimientos básicos (orientación a objetos, patrones, arquitectura, algoritmia, matemática, etc.), lee blogs de interés en tu campo para conocer de primera mano las nuevas tecnologías, a mi twitter me está llendo muy bien para este tema (y parece que no soy el único).

7. Conoce tu Negocio. Patrón Domain Driven Knowledge

A menos que tu producto sea parte de un producto mayor y no tengas nada que ver en el producto final, es muy importante que conozcas el ámbito en el te mueves.

Si es automoción, conoce alternativas, competidores, el lenguaje del negocio, los principales actores dentro y fuera de tu empresas. ¿Qué departamentos pueden establecer sinergias con tu equipo, marketing?, ¿comercial? conócelos, aprende su lenguaje y tiende puentes. La comunicación con terceros puede se la diferencia entre el que tu producto tenga éxito o no.

Domina el lenguaje de tu ámbito, nosotros por ejemplos trabajamos en ámbitos médicos, ¿Qué diferencia hay entre un TAC y una RMI? ¿Qué es un contraste? ¿Que diferencia hay entre un TER y un DUE? Todo eso es conocimiento que puedes y tienes que aprender para poder aportar valor en cada entrega, para deleitar al usuario y para ser eficaz y eficiente.

Sal de la zona de confort, ve a una charla sobre logística, sobre redes sociales para marketing, sobre identidad corporativa o planes estratégicos. Son parte del contexto que te rodeo y como bien dice @gulnor El código importa, pero el contexto más. Y ayuda a tu equipo con sus dudas sobre el negocio y al resto de integrantes de tu empresa con las dudas sobre tecnología. Eres el embajador del conocimiento bidireccional.

8. Sé el escaparate de tu equipo. Patrón Proxy

Igual que eres la fachada de tu equipo, eres el escaparate. Esto supone defender y transmitir tu cultura de equipo y proyecto allá por donde quiera que vayas.

Tienes que formar a los usuarios finales para que usen tu producto, tienes que convencer a los responsables de negocio de que merece la pena, a tus proveedores de lo que necesita tu equipo. A tu equipo de como mejorar.

Eres el traductor de fuera para adentro y de adentro para fuera. Comunica las dudas y miedos de tu equipo a los responsables correspondientes. Mejora las relaciones que se han estropeado de forma puntual, cede y ayuda al equipo, deja tu ego fuera.

Si la gente no os conoce, monta un workshop, una web o manda un correo a todos. Si la gente no entiende tus decisiones, explícalas con ejemplos, con referencias, con comparaciones. Si los jefes dudan de la viabilidad de alguna de las opciones que planteas, defiéndelas, tu equipo te apoya por detrás. Si tienes que decir NO, que sea un NO compartido, y dilo igual de alto que los SI.

Si hay un problema de conocimiento dentro del equipo, soluciónalo, establece un plan de formación, da tú unas jornadas, búscate un apoyo externo, lo que sea, es tu responsabilidad.

Si hay un problema de comunicación (muchas veces ocasionado o por rumores, o información confusa o incompleta, un calentón de alguien, etc) soluciónalo de la forma más conveniente para el equipo, recuerda que eres el punto de unión entre el exterior y el equipo, haz este canal lo más grande y seguro posible. Te recomiendo que te formes en este aspecto, hay charlas muy chulas como la de @ziraco de la cas2016 y libros de cabecera para comunicación no violenta. Las situaciones pueden ser muy complejas o sensibles pero nunca viene mal poner cabeza, educación y empatía a la hora de hablar.

Si hay que decir NO a una situación que no quieres para el equipo, dilo, aunque eso conlleve un desencuentro con un tercero, no digas solo NO, explica el por qué (falta de recursos, poco aporte de valor, desconocimiento) y plantea posibles alternativas.

Si llega el caso en que un integrante del equipo no aporta valor, intenta hablarlo con él, plantéale alternativas y soluciones y si, definitivamente no aporta valor al equipo ni mejora el estado, entonces déjale marchar. Claramente no quiere cambiar porque se quiere ir, solo que no se atreve, déjalo marchar, comunícaselo de forma directa y justificada y ponte en primera linea para cualquier duda o reproche que tenga, no pasa nada, es parte del día a día del equipo. Tu objetivo es todo el EQUIPO no un integrante en particular.

9. Empatía. Eres un cambiapieles. Patrón Polimorfismo.

Ponte en la situación de todo el mundo, entiende al jefe cuando no se cumplen los plazos, al usuario que se estresa cuando la aplicación se cuelga, al programador que no sabe qué tarea es la que tiene que hacer y al de soporte que tiene un mal día. Todos son tú, haz lo que puedas para mejorar la relación de el equipo con todo el mundo. Toma las riendas y da todas la explicaciones que sean neceasarias, pide disculpas (no pasa nada, no eres infalible), transmite sensaciones dento y fuera del equipo, evita la situación típica de IT esta en guerra, son los usuarios contra nosotros y vamos a ganar, cambia usuario por compañeros, o jefes por responsables, si te has equvocado. dilo, busca la mejor solución, busca la forma de no vuelva a pasar y compártelo con todo el equipo. No escondas la basura bajo la alfombra, si los usuarios no estan contentos con el programa, pide disculpas, estudia los problemas que son y coméntalos con el equipo, localiza si es un problema de rendimiento, de interfaz, de proceso, propón la solución y llévala a cabo.

Si hay un problema entre dos integrantes del equipo, implícate, estudia las razones reales del problema, plantea soluciones (puede que sea un problema de conocimientos, un problema de poca visibilidad del trabajo, un problema de disparidad de actitudes) y llévalas a cabo. Tu razón de ser es el EQUIPO cuanto mejor esté él, mejor eres tú.

10. Disfruta. Pásatelo bien. Patrón Flower Power

Pásalo bien con tu equipo, habla de cosas no sean estrictamente laborales, haz que disfruten con el trabajo, alaba su fortalezas, tómate unas cervezas con el equipo, no plantes barreras donde no las hay, nadie es mejor que nadie, ni peor que nadie.

Si te lo pasas bien como responsable del proyecto, haras que tanto dentro como fuera del equipo la gente quiera estar con vosotros y no contra vosotros. Aprende la forma de que el equipo sea más feliz en el trabajo, busca side proyects, monta hackatones, katas, un videoforum o un club de lectura. Haz que el equipo traspase las barreras de lo púramente profesional, para poder mejorar en el día a día.

Disfruta del aprendizaje, de los retos, del nuevo y amplio campo que se abre ante tí. Sin duda es una experiencia que estoy disfrutando mucho más de lo que pensaba incialmente y que te animo a empezar si crees estar preparado.

Recuerda: hay muchas formas de llegar a ser un reponsables de equipo, pero lo que realmente cuenta es lo que haces cuando ya lo eres.