- En la industria del software existe el mito del "ingeniero 10x", es decir, alguien supuestamente 10 veces más productivo que sus colegas
- Sin embargo, esta idea tiene poca base empírica y corre el riesgo de reforzar sesgos o establecer estándares poco realistas
Medir la productividad es complejo e imperfecto
- ¿Cómo se mide la productividad?
- Los campos en los que trabajan los ingenieros son diversos: microprocesadores, IoT, bases de datos, servicios web, UX, etc.
- También varían los lenguajes y frameworks que usan: Golang, Python, COBOL, Lisp, etc.
- Se necesita conocimiento especializado sobre tecnologías, mercados y productos adyacentes: seguridad, visualización de datos, marketing, finanzas, etc.
- También cambian la etapa de desarrollo y la escala del producto: no es lo mismo un rover de exploración marciana que un software sencillo
- La tecnología cambia
- Incluso un ingeniero sobresaliente en el pasado puede quedarse atrás con el tiempo en una tecnología específica
- Aunque alguien haya sido un "ingeniero 10x" en un área concreta, en otra puede estar en un nivel promedio
El software no pertenece a un ingeniero, sino al equipo
- La calidad del software no la determina el desempeño individual, sino el desempeño del equipo
- Por muy rápido que una persona escriba código, si el proceso del equipo es lento, al final la velocidad será la misma
- Se invierte más tiempo en pruebas, revisión, despliegue y mantenimiento que en escribir código
- Si un ingeniero específico concentra la propiedad del software, su ausencia puede generar un riesgo importante
- Una estructura de desarrollo de software centrada en el equipo es más estable a largo plazo
Las mejores organizaciones de ingeniería son aquellas donde los ingenieros "normales" pueden rendir de forma sobresaliente
- Las mejores organizaciones de ingeniería no son necesariamente las formadas solo por ingenieros excepcionales
- Lo importante es contar con un entorno donde los ingenieros comunes puedan obtener buenos resultados de forma cotidiana y hacer avanzar continuamente el producto y el negocio
- El equipo debe poder comprender el sistema y realizar de manera habitual el despliegue de código, la atención a usuarios y la resolución de problemas
- Las mejores organizaciones de ingeniería son entornos donde los ingenieros normales pueden crecer y rendir bien
La importancia del ingeniero "normal"
- La industria del software tiene una fuerte tendencia a valorar a la "gente brillante"
- Netflix ha dicho que prefiere talento del "10% superior", y Coinbase, del "0.1% superior"
- Pero la mayoría de las personas son promedio → se necesitan sistemas donde la gente promedio pueda rendir bien
- Los ingenieros de software no nacen hechos: crecen mediante formación y experiencia
Construir sistemas sociotécnicos para la "gente normal"
- Los sistemas deben diseñarse para que la "gente normal" pueda usarlos con facilidad
- Hay que considerar características humanas normales:
- Existen sesgos cognitivos como el sesgo de confirmación, el sesgo de actualidad y el efecto halo
- La fatiga y el estado emocional influyen en el desempeño
- Si una alarma suena a las 3 a. m., es más probable que haya errores que si suena a las 3 p. m.
- Si el sistema es intuitivo y fácil de usar, la energía de los ingenieros puede enfocarse en mejorar el producto
Las grandes organizaciones de ingeniería forman ingenieros de clase mundial
- Una gran organización de ingeniería no es la que tiene talento extraordinario, sino aquella donde los ingenieros comunes pueden crecer
- En una buena organización, incluso los ingenieros de nivel promedio pueden rendir y crecer de manera sostenida
- Los mejores ingenieros surgen naturalmente en este tipo de entorno
Hay que contratar a la persona adecuada, no a la "mejor"
- Es más importante encontrar a la persona adecuada para nuestro equipo que a "la mejor"
- El sistema debe promover el desempeño del equipo por encima del desempeño individual
- Se necesita un entorno donde el trabajo en equipo y la colaboración importen más que el rendimiento individual
- Una cultura inclusiva y justa mejora el desempeño y ofrece oportunidades para que ingenieros de distintos orígenes puedan crecer
Conclusión
- El "ingeniero 10x" puede existir en la práctica, pero vincular esa idea con el desempeño del equipo es difícil y riesgoso
- Las grandes organizaciones de ingeniería no se construyen alrededor de unos pocos genios, sino sobre una estructura donde los ingenieros normales pueden rendir bien
- El sistema debe fortalecer el desempeño del equipo por encima del desempeño individual
- Un entorno donde los ingenieros normales puedan crecer y rendir bien, apoyado por una cultura y sistemas inclusivos, es la clave
3 comentarios
En una empresa llena de ingenieros 100x, los ingenieros 100x son lo normal. Lo normal es importante. Elevar el estándar de lo normal es aún más importante…
Creo que los ingenieros de software 10x o 100x de los que hablaban personas como Steve Jobs significan lo siguiente.
En trabajos como construcción, reparto o conducción, es difícil que el trabajador más capacitado sea más de 2 veces más eficiente que una persona promedio. Pero en áreas como software o finanzas, alguien realmente bueno puede producir resultados que ni siquiera 100 personas promedio podrían lograr.
La formación de talento es importante, pero la selección de talento también lo es. Parece que hay una gran diferencia entre formar y seleccionar. No hay que mezclarlos ni confundirlos.
Opinión de Hacker News
La idea de que la ingeniería de software es algo especial tiende a ser tóxica
No existe un ingeniero "normal"; hay desarrolladores de distintos niveles
El software lo desarrollan individuos, no equipos
Se rechaza la deshumanización y clasificación de la clase trabajadora
Decepciona que IEEE trate contenidos tipo clickbait
Un ingeniero 10x es creativo y se preocupa por la experiencia de usuario y el mantenimiento del código
El concepto de ingeniero 10x está exagerado, pero sí hay algunas personas que hacen muchísimo trabajo
El trabajo de ingeniería tiene características distintas a las de otras profesiones
A veces uno se siente impotente al compararse con otras personas
Muchos ingenieros trabajan por dinero, y sin pasión es difícil convertirse en un ingeniero sobresaliente