Una de mis responsabilidades como CTO es evaluar el rendimiento del equipo de desarrollo. En TNW damos feedback a todo el equipo mediante evaluaciones periódicas. A parte de servir para discutir ascensos y subidas de sueldo, lo esencial es que ofrecen la ocasión de definir objetivos y establecer expectativas de forma individualizada.

Para realizar estas evaluaciones me sirvo de 5 parámetros o cualidades subjetivas que en mi opinión marcan la diferencia de los desarrolladores más brillantes. En este artículo voy a explicar cada una de ellas y por qué creo que son importantes.

1. Comunicación

Saber expresarse de manera clara, sencilla y alejada de tecnicismos reduce la fricción y evita malentendidos entre el personal técnico y los miembros de otros equipos. Asimismo, la asertividad y proactividad a la hora de comunicar errores, fallos o retrasos en los tiempos de entrega es una de las cualidades más valiosas que un desarrollador de software puede tener.

Por si fuera poco, el trabajo en remoto es una posibilidad cada vez más real para empresas y desarrolladores, y para ser efectivo en este ámbito, una buena comunicación —tanto verbal como escrita— es aún más importante.

2. Pensamiento estratégico en el contexto del negocio

O lo que es lo mismo, la persona que desarrolla software debe entender en lo posible las peculiaridades del negocio para el que trabaja. En un mundo perfecto, un mánager debería ser capaz de traducir los objetivos y expectativas de la organización al equipo de desarrollo, pero es evidente que si un programador tiene una visión amplia sobre estos aspectos, es inmediatamente una persona mucho más valiosa.

En ocasiones, los desarrolladores nos centramos demasiado el código y no prestamos mucha atención al trabajo que la gente de ventas o marketing desempeña, o en el peor de los casos los tratamos como “enemigos”. Mostrar empatía y entender de qué forma tus contribuciones pueden impactar de forma más positiva al negocio es una cualidad esencial.

3. Capacidad de liderazgo

Independientemente de la experiencia de cada individuo, es importante mostrar capacidad de enseñar, humildad para ser enseñado, y ser un buen ejemplo para otros desarrolladores del equipo. El liderazgo técnico también se manifiesta en el interés por proponer e implementar buenas prácticas, refactorizar, generar documentación y estar dispuesto a ayudar y enseñar a otras personas del equipo.

4. Organización y gestión del tiempo

Saber planificar tu trabajo, estimar correctamente, cumplir deadlines (¡sin horas extra!) y ser consciente de los problemas, interrupciones o imprevistos que puedan surgir por el camino facilita mucho la vida de un mánager o CTO. Esta es una de las cosas más difíciles de gestionar para mucha gente (incluido yo) y lleva años aprender a hacerlo bien, por lo que es una aptitud que valoro mucho.

5. Conocimientos técnicos

Por último, tratándose de desarrollar software, tener los conocimientos técnicos necesarios para llevar un proyecto a buen puerto es obviamente esencial. No obstante, hay que recordar que el mejor código es el que nunca se escribe. Es decir, no siempre la mejor solución a un problema se consigue con más código, y los mejores programadores de mi equipo, los más expertos técnicamente, son los que utilizan su experiencia para decidir qué código no escribir.

Más o menos acertados, estos son mis 5 parámetros. Comparte los tuyos o dame tu opinión en Twitter.