Los mejores desarrolladores de software son los que traen al equipo con ellos. Ya no son los años 80 en los que alguien puede sentarse y meter un ensamblaje en su 6502 y hacer un juego sin ayuda. Ahora es un deporte de equipo, no un evento en solitario.
Así que algunos puntos fuertes obvios son la excelencia técnica, ser capaz de ver y apreciar diferentes formas de abordar un problema, estar al día en los marcos y paradigmas de software, etc. Eso es algo obvio.
Lo que realmente separa a los grandes, sin embargo, es lo grandes que son para el equipo. Revisiones de código útiles, ayudar a los demás a crecer, coaching/mentoring, inversión personal en los miembros del equipo, básicamente liderazgo.
No quiere decir que no haya grandes desarrolladores que no sean grandes líderes, pero en general, las mejores personas de cualquier rol son las que elevan a los que les rodean. En este caso, los que hacen los mejores desarrolladores del equipo.
El desarrollador 10x es el que hace que sus otros 5 desarrolladores sean 2x mejores. El equipo creció 10x sin siquiera contar el código del 10x.
Esa gente rara vez sigue siendo desarrollador de software. Existen los ingenieros distinguidos del mundo, pero la mayoría de las veces, alguien que muestra ese nivel de liderazgo es cazado furtivamente en una pista de gestión.
No me malinterpreten, me encanta trabajar para ellos, y tienen trabajos masivamente importantes y significativos, pero supongo que la «debilidad», si incluso se puede llamar así, sería dejar el papel.