Ninja (Blogtober2019)

por Fran Iglesias

Mi compañera y manager en Holaluz Mavi Jiménez va a hacer un dibujo cada día del mes sobre una palabra propuesta en twitter. Y aquí vamos a intentar escribir un post por cada una de ellas.

Ninja

Etiquetas como Ninja, Rockstar, 10x, top y otras aplicadas a developers suenan como un intento de crear una especie de escala de excelencia profesional que a base de buscar el término más llamativo e ingenioso se vacía de significado cada vez más.

Definiciones favorables y desfavorables de las características de los profesionales a las que aplicar esta etiqueta se distribuyen en dos polos: las que consideran estos perfiles como positivos y deseables y las que aconsejan huir de ellos como de la peste. He aquí algunos ejemplos:

Los artículos más positivos tienden a mostrar un perfil que es casi calcado a lo que proponen Hunt y Thomas en “The Pragmatic Programmer”, que no es otro que el del profesional con orientación a la excelencia, con sentido práctico, una persona de equipo, capaz de enseñar y aprender, que busca no estancarse e investiga constantemente mejores formas de hacer su trabajo. Por resumir: una persona adulta, madura y responsable, preocupada por ejercer con profesionalidad y mejorar cada día.

Los artículos negativos tienden a denunciar el estereotipo de genio programador, capaz de resolver complejos problemas con un código críptico pero incomprensible para otros, socialmente inepto y ajeno a cualquier forma de trabajo en equipo. Un espécimen al que es mejor despedir.

Lejos de entrar a discutir si este tipo de profesional existe, creo que el verdadero problema está en imaginar en qué tipo de empresa encajan perfiles como el Ninja, rockstar, 10x o el top-programmer. Esa es la parte que da miedo.

Mi impresión es que hay pocas, por no decir ninguna, compañías en las que este perfil pueda plantearse siquiera.

Un equipo de desarrollo dedicado a crear herramientas internas o para clientes brilla cuando es capaz de conjugar la entrega de valor, tanto en forma de features, como en fiabilidad y minimización de problemas, con la excelencia técnica de mantener un código bien construido, mantenible y lo bastante flexible para evolucionar según las necesidades del negocio sin tener un drama cada vez que es necesario hacer un cambio. Un equipo que sea más que la suma de sus miembros y en el que las decisiones tecnológicas se adopten porque son convenientes para sus objetivos, no porque lucen más o menos en el currículum o estén más o menos de moda.

No creo que los Ninjas, sean quienes sean, tengan cabida en un equipo así.

Temas

good-practices

refactoring

php

testing

tdd

design-patterns

python

blogtober19

design-principles

tb-list

misc

bdd

legacy

golang

dungeon

ruby

tools

hexagonal

tips

software-design

ddd

books

bbdd

soft-skills

pulpoCon

oop

javascript

api

typescript

sql

ethics

agile

swift

java