11 puntos por GN⁺ 2025-03-14 | 3 comentarios | Compartir por WhatsApp
  • 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

 
iolothebard 2025-03-20

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…

 
felizgeek 2025-03-16

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.

 
GN⁺ 2025-03-14
Opinión de Hacker News
  • La idea de que la ingeniería de software es algo especial tiende a ser tóxica

    • Al igual que en finanzas, existe una tendencia a sobrevalorar el valor individual
    • Es importante hacer bien el trabajo y luego irse a casa; las jornadas excesivas indican fragilidad en el sistema
    • El esfuerzo constante y cuidadoso es importante
  • No existe un ingeniero "normal"; hay desarrolladores de distintos niveles

    • Para formar un gran equipo se necesitan ingenieros capaces
    • Pero encontrar a esos ingenieros es difícil
  • El software lo desarrollan individuos, no equipos

    • Los proyectos complejos normalmente son liderados por una sola persona excepcional
    • Formar un equipo es un desafío constante
  • Se rechaza la deshumanización y clasificación de la clase trabajadora

    • El núcleo de un gran equipo es un gran liderazgo
    • Para que exista un líder, debe existir un equipo
  • Decepciona que IEEE trate contenidos tipo clickbait

    • Hay malentendidos sobre cómo medir la productividad
    • Se cuestiona el concepto de un ingeniero de software "normal"
  • Un ingeniero 10x es creativo y se preocupa por la experiencia de usuario y el mantenimiento del código

    • Un desarrollador 1x solo prioriza el resultado y provoca conflictos
  • El concepto de ingeniero 10x está exagerado, pero sí hay algunas personas que hacen muchísimo trabajo

    • Es difícil entender por qué se entregan tanto al trabajo aunque la recompensa no sea proporcional
  • El trabajo de ingeniería tiene características distintas a las de otras profesiones

    • El rendimiento es una propiedad del par ingeniero-producto
    • Es difícil cuantificar el rendimiento
  • A veces uno se siente impotente al compararse con otras personas

    • Se recupera la confianza al resolver problemas
    • La productividad aumenta cuando se tienen objetivos claros
    • La velocidad no es magia; se logra de cierta manera
  • Muchos ingenieros trabajan por dinero, y sin pasión es difícil convertirse en un ingeniero sobresaliente

    • Las habilidades individuales están influidas por la práctica y el talento
    • La experiencia puede ser más útil que la inteligencia