¿Por qué los salarios de los ingenieros de software alcanzan un pico más allá del cual ya no aumentan con la experiencia en Alemania?

Soy un recién graduado de maestría en ciencias de la computación (CS) que vive en Alemania. Ahora estoy empezando a pensar en mi carrera profesional a largo plazo y en buscar trabajo en Alemania. Soy experto en Java y minería de datos (escribí mi tesis sobre un tema de minería de datos).

Después de investigar qué trayectorias profesionales toman otras personas con una maestría en informática, me di cuenta de que la mayoría de ellos se convierten en ingenieros de software o científicos de datos. Me di cuenta de que si tuviera que elegir entre estos dos campos, elegiría convertirme en ingeniero de software. Después de todo, no encontré ninguna carrera profesional más interesante como empleado.

De todos modos, comencé a investigar los salarios de los ingenieros de software Java en Alemania y me di cuenta de que el aumento salarial alcanza un nivel en el que no aumenta más. Descubrí que después de más de 10 años de experiencia, la mayoría de las personas tienen 66 kEUR/año o, como máximo, 70 kEUR/año, y de alguna manera nunca aumenta a partir de ahí. ¡Encontré un poco impactante que incluso con más experiencia tu valor sigue siendo el mismo!

Esto contrasta con algunas profesiones (por ejemplo, médicos) cuyos salarios aumentan cuanto más experiencia tienen en Alemania.

Mis preguntas:

  1. ¿Por qué los salarios de los ingenieros de software en Alemania no aumentan mucho después de, digamos, cinco años de experiencia y casi nunca aumentan después de 10 años de experiencia?

  2. ¿Existen trayectorias profesionales en informática donde los salarios aumentan con los años de experiencia?

Altamente relacionado/duplicado: Workplace.stackexchange.com/q/44377/12284
Tenga en cuenta, lavoce.info/archives/32242/… enlaces lavoce.info/wp-content/uploads/2015/01/leonardi2.png (datos EUSILC 2012) que muestran que los salarios en Alemania alcanzan su punto máximo alrededor de los 47 años de edad en promedio.
Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .
Con respecto a su situación específica: con toda honestidad, decir que domina Java no está ni remotamente cerca de ser la mejor manera de venderse como ingeniero de software. Si realmente siente que sus habilidades en Java son tan importantes que su importancia domina cualquier otra cosa que haya aprendido, entonces realmente debería buscar aprender otros temas. Aprender a usar los lenguajes principales es probablemente la parte más fácil de la ingeniería de software, y Java no tiene la mejor reputación; la parte difícil es aprender a escribir programas efectivos y eficientes (algoritmos, estructuras de datos, ML, etc.).
De hecho, iría tan lejos como para decir que no me sorprendería si ciertos tipos de gerentes de ingeniería de software evitaran activamente a los candidatos que anunciaran sus habilidades en Java.
1) En caso de extranjeros, este límite ronda los 60-65k. Así que todavía estás en una buena posición. 2) Las empresas aquí no parecen requerir personas realmente altamente calificadas, les gusta mucho más resolver tareas fácilmente automatizables con empleados fácilmente intercambiables. Esto empuja a la baja los salarios en el área altamente calificada.
Por cierto, en mi experiencia, ninguna empresa se interesó por mi experiencia de más de 5 años, además, ninguna empresa se interesó por mi experiencia laboral en mi país de origen. Entonces, creo que después de 5 años de experiencia, no importa lo que hayas hecho antes. Es muy desafortunado.
@Mehrdad Nunca y nadie en mi vida quiso escribir un programa efectivo. Casi nunca en mi vida utilicé ninguna teoría algorítmica que haya aprendido en la Universidad. ¿Has pensado que la TI es algo de tan alto nivel como, por ejemplo, la física? Si yo tambien...

Respuestas (6)

En pocas palabras, las empresas no necesitan cirujanos cerebrales. Necesitan trabajadores. Y si un desarrollador de Java con 5 años de experiencia puede hacer bien el trabajo, ¿por qué pagar más a alguien que tiene más experiencia cuando todo lo que puede lograr es el mismo resultado?

La experiencia solo cuenta si puede traducirla en un mejor proceso de producción. Ya sea más rápido, menos errores o cualquier otra métrica. Y en el desarrollo de software, después de cierto punto, tiene todo el conocimiento y la experiencia que necesita para programar software comercial normal. Mira a tu alrededor, no hay ningún genio programando una tienda online. No hace falta ser un genio. Es solo código. Ciertamente mejora una vez que lo ha hecho unas cuantas veces, pero no mejora mucho una vez que lo ha hecho como 20 veces. No hay mucha diferencia entre alguien que construyó 20 tiendas en línea y alguien que construyó 25.

Si desea un trabajo mejor pagado, debe buscar un segmento de mercado en el que necesite personas con mucha experiencia, donde pueda aprender y usar cosas nuevas incluso después de 10 años.

O entrar en la gestión.

O entrar en un segmento de mercado en el que nadie realmente quiere estar (me viene a la mente SAP).

"donde puedes aprender y usar cosas nuevas incluso después de 10 años". ¿Puedes dar más detalles sobre este punto, por favor? ejemplos?
@JackTwain La mayoría de las personas tienden a especializarse en 1 idioma o rama de la programación y se apegan a él, especialmente cuando no cambian de trabajo. Esto hace que las personas se queden atrás cuando se trata de nuevos métodos de desarrollo, lenguajes, etc.
@JackTwain La mayoría de los trabajos normales se pueden realizar fácilmente con la tecnología de hace 10 años por alguien con 5-10 años de experiencia. Esta persona tiene todo lo que realmente necesita para construir la próxima tienda en línea, el sistema de contabilidad, la aplicación de atención al cliente o cualquier aplicación comercial que la gente necesite. Debe encontrar un trabajo que no pueda hacer con la tecnología del siglo pasado y 5 años de experiencia, ahí es donde obtiene más dinero cuando tiene más de 10 años de experiencia.
@nvoigt Disculpe, pero esto es muy interesante para mí... ¿Desde cuándo nadie realmente quiere estar en el segmento de SAP y por qué?
Bueno, no puedo hablar por todos los demás desarrolladores, pero para mí, SAP no es exactamente divertido. Y mirando lo que gana la gente de SAP, supongo que nadie más quiere hacerlo tampoco. Si tuvieran gente que quisiera hacer eso, no pagarían tanto dinero. Si tuvieran barcos llenos de personas que solicitan trabajos de SAP, los salarios probablemente serían la mitad de lo que son.
¿Qué significa SAP?
@NewWorld La empresa SAP .
He encontrado que esto es verdad. Para algunos clientes de consultoría, no puedo aumentar las tarifas incluso cuando soy el mejor desarrollador en el sitio. Simplemente no tienen uso para el talento muy avanzado. Necesitan hacer un trabajo de programación aburrido. Para cobrar más, realmente tienes que encontrar una manera de hacer más.
Supongo que debo aclarar que me refiero a trabajar con productos SAP. Trabajar directamente para SAP como empresa es algo completamente diferente. Tal vez sea divertido, no lo sé.
Si bien hay muchos granos de verdad en esta respuesta, minimiza enormemente el valor de la experiencia. ¿De verdad crees que hacer algo solo 20 veces es suficiente para ser un maestro absoluto?
@Lohoris No, pero sé que las empresas no buscan maestros. Están buscando personas que hagan el trabajo y usted puede hacer el trabajo incluso en un nivel muy por debajo del dominio. No estoy minimizando la experiencia, solo digo que las empresas no necesitan esa cantidad de experiencia muy a menudo, por lo que el salario no aumenta linealmente con la experiencia.
He visto algunos códigos de sitios web seriamente malos, cortados y pegados al infierno y de vuelta por un par de docenas de desarrolladores promedio. Tres años de esto y la empresa no puede obtener nuevas funciones a un costo razonable. Si hubieran estado dispuestos a pagar para que los buenos desarrolladores fueran conocidos, podrían haber contratado a la mitad y las nuevas características tendrían un costo razonable.
@kevincline Absolutamente cierto. Lamentablemente, "bueno" no aumenta con la experiencia. Dichos desarrolladores ahora tienen tres años más de "experiencia" y no me gustaría contratarlos más de lo que lo hice (no) hace tres años.
"cortado y pegado al infierno y de regreso por [...] desarrolladores promedio ": si eso es lo que llama "promedio", parece que no estamos de acuerdo sobre dónde está la línea entre bajo y promedio. Aunque, por supuesto, qué tan bien puede desempeñarse un desarrollador también depende en gran medida de qué tan buena sea la gestión (del proyecto).
@NewWorld, ¿No ha oído hablar de ABAP? stackoverflow.com/questions/1753412/qué-es-abap-y-sap
No sé si sentirme halagado o insultado por esa última frase.
El comentario de SAP es tan cierto...
+1 Una muy buena respuesta que dice las cosas como son ... Si va a entrar en el negocio para crear sitios web, buena suerte, hoy en día es una moneda de diez centavos.
según su experiencia, ¿cuánto sería el salario de un desarrollador java con 5 años de experiencia en Stuttgart? Con fluidez en alemán.
@nvoigt Descubrí que usted es el que más entiende la industria del software alemán aquí (o al menos parece que trabaja en un entorno similar al de la empresa para la que trabajo), entonces, ¿puede revisar esta pregunta? lugar de trabajo.stackexchange.com/questions/49221/…
  1. Porque la experiencia no lo es todo. Hay otros factores que determinan su "valor" y salario, que no debe subestimar: educación, habilidades sociales, habilidades de liderazgo, factores de redes, situación del mercado (laboral), ... Estoy seguro, alguien que es más largo en la vida profesional que yo puedo agregar muchos más factores.

  2. Hay dos formas que puede tomar para aumentar aún más su salario:

    • Manera especializada: especialice su conocimiento en un campo o rama más específica, por ejemplo, desarrollando software para propósitos en el campo aeronáutico (solo un ejemplo).
    • Manera generalista: obtenga cualidades de liderazgo y conviértase en gerente de proyecto o líder de departamento/equipo.

Como no soy profesional desde hace mucho tiempo (no tengo más experiencia que un año después de graduarme), no puedo darte información más detallada, pero al menos esto es lo que entendí, las opciones que tienes cuando quieres sacar más dinero. en el desarrollo de software.

Mientras que las otras respuestas son generalmente correctas en cualquier campo, nos encontramos en una situación histórica especial en el desarrollo de software.

Hace 10 o 20 años, las empresas estaban dispuestas a contratar a cualquiera que supiera cómo abrir un IDE. Conocí a algunas de estas personas, que todavía ocupan puestos de desarrollo sénior. Hoy, esas mismas personas no habrían podido obtener una entrevista como programador junior en la misma empresa. Esto significa que las estadísticas salariales no muestran realmente lo que habría ganado un programador más joven, con la misma experiencia.

Desafortunadamente, esto no significa que deba esperar obtener una prima más alta, una vez que obtenga más experiencia. Estarás compitiendo contra personas que son mucho más competentes y en un mercado mucho más difícil.

Es mi creencia personal que hay dos factores principales involucrados en por qué los puestos técnicos tienden a maximizar el salario en ~ 10 años, donde la experiencia adicional ofrece pocos beneficios con respecto a su salario.

¡Lo que TU vales! = lo que vales para tu empresa

Digamos que tengo un proyecto que espero produzca 60K EUR al año. Siempre que el proyecto se realice con una calidad aceptable, el resultado final no cambiará mucho, incluso si es de mejor calidad. Dicho esto, quiero contratar a alguien en quien pueda confiar para que sea al menos aceptable, pero obtengo muy pocos beneficios al pagar más por alguien con más experiencia. Dicho esto, no importa si tu valor es de 120 000 EUR para el "mercado", todavía solo vales 60 000 EUR para mí, por lo tanto, no puedo justificar pagarte más.

La experiencia en campos técnicos se deprecia

En campos donde la tecnología, las leyes, etc. cambian con una cadencia bastante agresiva, las habilidades más nuevas tienen valor, mientras que las habilidades más antiguas pierden valor gradualmente. (a menos que sean habilidades particularmente raras o de nicho)

Esto se debe a que las cosas cambian eventualmente haciendo que las habilidades pasadas ya no tengan valor. Por ejemplo, la gente solía poder programar con tarjetas perforadas, bueno, como ya nadie hace eso, tiene valor cero.

De la misma manera, si tiene décadas en Pascal, Turbo Pascal o VB6, se está depreciando rápidamente a favor de C #, C ++, Perl y Delphi. Dentro de diez años, es probable que C # y los demás se devalúen gradualmente para cualquier idioma que encuentre una mejor manera de hacer las cosas que los idiomas modernos.

Sin embargo, esto también va más allá de la tecnología. La ética de trabajo, las metodologías de gestión de proyectos y la dinámica básica de la oficina cambian con el tiempo debido a los cambios económicos y culturales. Algunas de esas habilidades blandas nunca pierden su valor (ser capaz de estimar cuánto tardan las cosas, habilidades básicas de negociación, etc.) otras pierden valor por completo. (etiqueta adecuada para enviar faxes, etiqueta adecuada para enviar memorandos escritos, etc.)

Resumen

Esencialmente, todo esto significa que ganas valor a medida que aprendes y adquieres experiencia, pero lo que aprendes también pierde valor gradualmente. Eventualmente, llega a un punto en el que el valor ganado por la experiencia se anula efectivamente con el valor perdido por la depreciación. ~10 años. Además, como propietario de un negocio, solo voy a pagar por la experiencia que necesito y nada más.

"No importa si tu valor es de 120 000 EUR para el "mercado", todavía solo vales 60 000 EUR para mí, por lo tanto, no puedo justificar pagarte más". - entonces debería estar perfectamente bien si los pierde y no puede contratar un reemplazo (suponiendo que estaría contratando en el mercado, y no en un lugar mágico sin mercado).
@AaronHall El "mercado" varía mucho, la profesión, la ubicación, el mercado al que vendo, etc. Por lo tanto, a veces el mismo "trabajo" puede tener grados de pago completamente diferentes según el mercado del empleador. Lo más probable es que, si estoy en el extremo inferior, esperaría una mayor rotación y tendría mayores brechas entre las contrataciones y candidatos de menor calidad. Pero al final todo se reduce a esto. Si necesito ganar más de lo que te pago en un plazo razonable, o fracasaré como negocio. Si no puedo contratar a alguien a un precio que pueda generar ganancias, entonces el proyecto está condenado.
@AaronHall, hay personas que valen 6 millones al año en Google. Google está dispuesto a pagar eso. Te venderé esas personas con un 90% de descuento = 600k/año. ¿Los tomarás?
No tengo presupuesto, así que tendré que prescindir de ellos. ¡Pero gracias por la oferta!

Mi respuesta se refiere más a los EE. UU., donde trabajo, pero aquí también existe el mismo fenómeno.

Hay varias razones. En primer lugar, Java en sí solo tiene poco más de 10 años, por lo que la premisa de su pregunta es algo cuestionable. Nadie sabe cuál será el salario de un desarrollador de Java con 40 años de experiencia porque esa gente no existirá durante muchas décadas. También hay un ciclo entre los lenguajes, y Java probablemente haya pasado su punto máximo. Considero totalmente posible que dentro de 5 a 10 años, los programadores de Java sean tan valorados como los programadores de COBOL o K&R C de hoy, que no es mucho.

En segundo lugar, legal o no, la discriminación por edad es rampante en la industria del software. Las empresas prefieren contratar desarrolladores de software a los 20 o 30 años, y después de los 40 años, se vuelve difícil encontrar trabajo. Los salarios los dicta la oferta y la demanda, y cuando hay poca demanda de personas de esa edad, los salarios bajan, no suben.

En tercer lugar, piense POR QUÉ la experiencia es valiosa en muchas profesiones: un campo como, por ejemplo, el derecho es bastante estático. Un abogado con 30 años de experiencia simplemente sabe mejor cómo argumentar casos o cómo generar nuevas teorías legales. Las leyes individuales cambian, pero la forma en que funcionan las leyes generalmente no.

Los ingenieros de software, por otro lado, trabajan en un campo donde las viejas experiencias no se traducen tan bien. Claro, la codificación es la misma, pero eso es solo una pequeña parte del desarrollo de software.

Además de eso, un desarrollador de software con 10 años de experiencia en cualquier idioma a menudo no es visto como experimentado, sino como incapaz de aprender nuevas habilidades.

Mi mejor consejo para su situación es que no elija una carrera profesional rígida, sino que conserve su flexibilidad y, independientemente de lo que vaya a hacer ahora, esté preparado para cambiar completamente de rumbo dentro de 5 a 10 años.

El segundo consejo que tengo es que no te centres en las habilidades, sino en las personas. En última instancia, su trabajo como desarrollador de software no es crear código Java, sino resolver el problema de alguien, alguien que esté dispuesto a gastar muchos euros en el problema. Saber cómo hablar con la gente, cómo identificar sus problemas y cómo resolverlos (usando cualquier tipo de solución, no solo Java) es lo que realmente te hace ganar dinero y te da éxito profesional.

Su primera premisa es incorrecta, Java ya tiene 20 años con las versiones Alpha y Beta lanzadas en 1995 (incluso si solo cuenta Java 1.1, que es el primero que la gente realmente usó, esto fue en 1996). Además, su afirmación de que los programadores de COBOL no son muy valorados es incorrecta. Al contrario, se les paga extraordinariamente bien, especialmente porque quedan muy pocas personas que sepan codificar en COBOL.
Además, cuestionaría su analogía con un abogado. Diría que, de hecho, un desarrollador de software es lo mismo que un abogado, ya que los fundamentos de CS no cambian mucho (OOP, patrones de diseño, la forma en que funciona una CPU), pero solo la ejecución es diferente. Por último, no creo que su declaración sobre las personas con 10 años de experiencia sea del todo cierta: no he escuchado a nadie decir que Linus Torvalds es "incapaz de aprender nuevas habilidades", solo porque él hace programación del kernel (así que básicamente sólo C) desde hace más de 20 años.
A los chicos de @dirkkm COBOL se les paga bien solo por el apalancamiento. Cuando se reemplazan las últimas aplicaciones COBOL en esta Tierra, inmediatamente pierden su valor.
@dirkk Linus Torvalds hace más que solo programar el kernel, por lo que no escuchará a la gente hacer esa declaración. (Trabajó en Git, por ejemplo).
@Cronax Soy consciente de esto, fue un ejemplo breve y esto incluye acortar cosas. Puede tomar muchos otros programadores famosos, el punto sigue en pie. Además, Git está escrito en C...
@dirkk También argumentaría en contra de su afirmación de que los patrones de diseño no cambian mucho, diría que en algunos campos (la web, por ejemplo) en los últimos años se han visto cambios bastante dramáticos en los patrones de diseño a medida que avanzan los desarrollos tecnológicos. Abordar un proyecto web con patrones de diseño tradicionales probablemente funcione, pero estará lejos de ser una solución óptima.
@Cronax bueno, no estoy al tanto de que haya muchos patrones de diseño nuevos con tecnologías web más nuevas, solo veo muchos patrones de observadores en las bibliotecas JS más nuevas. Sin embargo, solo quise decir que los conceptos básicos son los mismos: los patrones de diseño de Gang of Four ciertamente siguen siendo válidos y cualquier patrón nuevo se basará en estos de la misma manera u otra. Nuevamente, es solo un ejemplo y no pretendía ser 100% correcto, pero entiende el punto que estaba tratando de transmitir.
@dirkk: en COBOL chicos, estoy con Pacerier. Recuerdo que en la carrera previa al año 2000, los chicos de COBOL tenían salarios astronómicos. Escuché a varios quejarse de que en febrero de 2000, su salario se había reducido a alrededor de $15 por hora y supuse que se había quedado allí. Linux Torvalds es en realidad un buen ejemplo. En realidad, no está ganando tanto dinero y vive principalmente de un acuerdo de licencia único. Si ahora tratara de encontrar un trabajo fuera de la única área de especialización que tiene, no sé qué éxito tendría. Incluso con su estatus de celebridad.
@dirkk - continuó. Los fundamentos en CS cambian . Por ejemplo, ahora hay una tendencia a considerar que la programación orientada a objetos no es tan buena, al igual que la programación procedimental antes de la programación orientada a objetos. Algunas personas confían en la programación funcional como el nuevo paradigma. Más importante aún, los fundamentos mismos están cambiando. El funcionamiento de una CPU no es tan importante como solía ser, pero comprender los conceptos de big data a menudo sí lo es.

Soy un ingeniero de software profesional de Austria, casi las mismas circunstancias aquí. El aumento salarial de los ingenieros de software casi se detiene aquí con aproximadamente 7 años de experiencia. Debido a esto, la mayoría de las personas cambian su rol a gerentes de proyecto, arquitectos de software o líderes de equipo mejor pagados. Estas 3 posibilidades serán opciones muy válidas después de alcanzar el pago máximo como ingeniero de software.