La programación y la medicina en realidad no son directamente comparables, y la diferencia en el salario entre programadores y médicos es en gran medida inmaterial.
Sin embargo, en un sentido absoluto, creo que es justo decir que probablemente los programadores sean mal pagados dado el valor que crean. Veo esto como el resultado de características sistemáticas y culturales: los programadores a menudo comienzan desde una posición de negociación débil y culturalmente no están negociando agresivamente. Además, durante mucho tiempo, ser un ingeniero real se consideraba únicamente como un paso bajo administración, lo que significa que la carrera profesional de permanecer como ingeniero era limitada.
Afortunadamente, gracias a la competencia renovada y algunos cambios culturales muy positivos (jerarquías poco profundas y menos administración), esto parece estar cambiando. Las principales compañías tecnológicas ahora pagan a los programadores un poco más que antes, a menudo incluyendo opciones de compra de acciones sustanciales, y (tal vez lo más importante) ofrecen más opciones para el avance profesional de los ingenieros sin necesidad de entrar en la administración. Tener una ruta paralela para la administración y la ingeniería es muy importante.
En un mercado de trabajo dinámico, su compensación es, en gran medida, bajo su control directo. Ambos tienen opciones macroscópicas (empresa, ubicación, especialidad) y cierta cantidad de control “microscópico” al negociar cualquier oferta. Elegir empresas con culturas fuertes para pagar y promover ingenieros de manera justa no solo lo ayuda a usted sino que también mejora el mercado y la cultura para todos los demás. Del mismo modo, negociar bien muestra que usted habla en serio y probablemente ayude a crear un sistema donde los ingenieros tengan más voz en general. (Encontré esta publicación realmente perspicaz sobre el proceso de negociación y por qué es importante).