¿Hay programadores 100x?

La respuesta corta es sí, dados los dominios correctos. Y en ninguna parte cerca, dados otros dominios.

La proporción puede ser infinita, dependiendo de qué programadores esté comparando y la complejidad de la tarea. Hay algunas tareas que un desarrollador promedio, literalmente, nunca podrá completar.

Pero para los mismos dos programadores en una tarea diferente, la relación de rendimiento puede ser inferior a 10, o incluso inferior a uno.

El rendimiento relativo puede variar según la experiencia en el dominio, la experiencia en el idioma y la naturaleza de la complejidad del problema.

Para un problema que es amplio pero superficial, es posible que no vea una gran diferencia en el rendimiento entre los mejores y los peores desarrolladores. Este tipo de problema es común e incluye la mayoría de las aplicaciones CRUD, incluso si hay cientos de reglas en la lógica de negocios (piense en el código fiscal). En este dominio, probablemente veas como máximo un rango de 10x entre desarrolladores promedio y superiores.

Creo que CSS también es un ecualizador: puedo ser muy productivo, pero me arroja al problema de CSS y soy tan lento como un desarrollador promedio. Fantaseo con crear un lenguaje que pueda crear CSS que satisfaga restricciones específicas.

Pero cuando la complejidad algorítmica supera una cierta profundidad , hay problemas que algunos desarrolladores simplemente podrían bloquear. Piense en términos de múltiples hilos y muchos servicios interactuando, posibles puntos muertos, serias limitaciones de rendimiento y otras capas similares de complejidad.

Algunos desarrolladores pueden manejar esto con facilidad. Otros nunca crearán una solución robusta y de alto rendimiento, o pueden tardar 100 veces más en lograr una solución menos elegante.

Hay otra dimensión del problema que muchas personas no consideran: dos desarrolladores pueden resolver el mismo problema aproximadamente al mismo tiempo, pero uno puede crear una solución que funcione con 100 veces el rendimiento de la otra solución. En algunos casos, eso puede no importar, pero si se trata de un proceso de servidor y necesita escalar, ¿preferiría tener un conjunto de 10 servidores o más de 1000 para manejar la misma carga? El desarrollador “100x” también puede resolver el problema en 1/3 del tiempo, pero probablemente no en 1/100 del tiempo , e incluso puede tardar un poco más, especialmente si el desarrollador 1x está utilizando un entorno que requiere menos trabajo inicial (pensando Carriles aquí).

Hay muchas variables y no hay una relación simple de rendimiento entre varios desarrolladores.

Entonces, como siempre, la respuesta es “depende”.

Tal vez. Pero no conozco ninguno que sean solo programadores.

Por definición, un programador Nx vale N programadores regulares, pero ¿cómo calculamos el valor del programador? Si una empresa está dispuesta a pagarle a un programador N veces la compensación de un programador regular, entonces creo que podemos concluir que el programador vale Nx.

Un programador promedio generalmente gana alrededor de $ 100K, incluidos beneficios y bonificaciones. He conocido a varios programadores que ganan $ 1 millón en compensación, por lo que puedo dar fe de que existen 10x programadores.

¿Pero hay algún programador que gane $ 10 millones por año?

Bill Gates comenzó como programador y ganó miles de millones, pero para entonces estaba haciendo mucho más que programar. Estoy seguro de que hay muchas personas (VP ​​y CxO) que comenzaron como programadores y ahora están ganando $ 10 millones por año, pero ninguno es solo programación.

El ejemplo más cercano que puedo encontrar es Markus Persson, el programador de Minecraft , que ganó $ 1 mil millones cuando vendió a Microsoft. Pero no estoy seguro si eso cuenta. No hay garantía de que pueda reproducir su éxito, por lo que dudo que alguien le ofrezca $ 10 millones por año (y mucho menos $ 1 mil millones) para programar.

Aún así, nunca se sabe. Si alguien sabe de un programador que gana $ 10 millones por año para programar, ¡hágamelo saber en los comentarios!