¿Cuáles son las etapas típicas de la carrera de un ingeniero de software?

  • Rojo: 0 años de experiencia. Hace lo que se le dice y trata de no cometer demasiados errores. Se siente como un impostor que nunca podrá dominar la enorme base de código, y espera ser despedido cada día.
  • Nuevo: 1-2 años de experiencia. Hace lo que se le dice, y normalmente no parece demasiado estúpido. A veces se da grandes aires sobre lo mucho más inteligente que es que el personal más veterano, pero sigue cometiendo errores de novato con la suficiente frecuencia como para mantener su humildad.
  • Journeyman: 2-8 años de experiencia. Si eran realmente inteligentes, han aprendido algunas cosas y, por lo general, son capaces de tener una independencia razonable en los proyectos. Si no eran muy inteligentes, todavía necesitan mucha supervisión.
  • Desempleado: recesión empresarial. Despedidos con todo su equipo. Nunca lo vieron venir. A pesar de ser la persona más empleable que conocen, tardan tres meses en conseguir un nuevo trabajo, porque nadie contrata durante una recesión empresarial.
  • Experiencia: 8-15 años de experiencia. Generalmente capaz de realizar un trabajo independiente razonable y sin dramas. Es a menudo en este punto de la carrera donde el agotamiento se convierte en una posibilidad seria. Cada desarrollador tiene un número total fijo de veces para golpearse la cabeza contra la pared debido a horarios imposibles, compañeros de trabajo irascibles o jefes inhumanos. Algunos desarrolladores tienen la cabeza más dura que otros. Algunos tienen más suerte que otros. Pero con el tiempo, cualquiera puede quebrarse. Algunos desarrolladores tienen problemas de salud por el estrés y el agotamiento y tienen que abandonar. Otros siguen viniendo a trabajar, pero están tan agotados y frustrados que ya no sirven para proyectos serios. No creo que la gente mejore realmente del agotamiento. Sus peores síntomas pueden remitir, pero pierden el empuje que tenían antes.
  • Desempleados: caída del negocio. Resulta que un empresario puede contratar a 2-3 novatos por la misma cantidad de dinero. Muchas de las ofertas de trabajo que reciben tienen que ser rechazadas. Estoy hablando de ofertas bajas de gerentes endemoniados, obvias marchas de la muerte en agujeros infernales distópicos, que el desarrollador a mitad de carrera puede ahora reconocer y diagnosticar en un segundo.
  • Viejo: 15-20 años de experiencia. Ahora, un Viejo en ingeniería mecánica o civil tiene 60 años, y tiene 40 años de experiencia. Pero esto es software, así que aunque este desarrollador aún tenga hijos en la escuela primaria, son viejos. Un comentarista lo puso de esta manera. «Si hubiera tenido cualquier otra carrera, ahora sería valioso». El Viejo puede contar historias que hacen reír a los novatos, sobre cómo era antes de que tuviéramos… Todos los lenguajes de programación que esta persona aprendió en la universidad, y todos los O/S que usaban los ordenadores en la escuela ya son historia, así que mucha de su experiencia más fácilmente descrita es poco impresionante para un jefe de línea que se graduó hace sólo 10 años. Por supuesto, el anciano sabe mucho más sobre el negocio del desarrollo de software que el gerente, pero no se les contrata para eso. De hecho, el joven gerente les odia por ello. Es tan exasperante cuando la gente que trabaja para ti es capaz de llamar a tus errores de gerente novato con tanta antelación. Estos tipos tienen que irse.
  • Desempleados: Desajuste cultural. El jefe sólo valora a los empleados que trabajan 14 horas diarias y piratean código de mierda rápidamente, pero el viejo sabe que los clientes necesitan código que funcione más que características a medio implementar. Esto hace que te despidan por «falta de rendimiento». Se tarda mucho más en encontrar trabajo cuando tu experiencia más fácil de describir (lenguaje de programación, experiencia en sistemas operativos) ya no es relevante en el mercado laboral. El salario como desarrollador suele estancarse en este punto.
  • Codificador mayor: 20+ años de experiencia. Nadie sabe qué ocurre aquí, porque prácticamente todos los ingenieros de software son más jóvenes que esto. Algunos desarrolladores siguen carreras de gestión. Pero a otros les gusta demasiado el código. Algunos de los que llegan aquí pasan el resto de su carrera escribiendo libros, dando conferencias, etc. Algunos se convierten en consultores, realizando proyectos a corto plazo relacionados con cualquier parte del ciclo de codificación (normalmente la parte de codificación) que les haya resultado agradable. Algunos encuentran una biblioteca de código para apoyar con fines de lucro. Demasiados de ellos salen del software, compran un pequeño negocio, como una panadería sin gluten, y desaparecen.
  • Desempleado: entre actuaciones. Puede que ganes el doble de lo que acostumbras cuando eres consultor, pero sólo trabajas la mitad del tiempo, por lo que tu salario anual se queda estancado.
  • Jubilado. Si aciertas con la startup adecuada, quizá tengas lo suficiente ahorrado para jubilarte cuando tengas 45 años. Tal vez cuando tengas 55 años. Tal vez cuando tengas 70 años. Si eres rico, te mudas a la región vinícola del oeste de Oregón, construyes una casa de cedro de 5.000 pies cuadrados y una bodega, e instalas un armario lleno de servidores para tu afición (de hecho, he visto esto). Si tienes menos suerte, dejas de encontrar trabajo a los 55 años. Después de dar tumbos durante 10 años, te mudas a una residencia asistida con los demás ancianos. Mientras los bisnietos de los ingenieros civiles siguen conduciendo por los puentes que construyeron, cada línea de código que has escrito ya no está en uso. Eres menos que un recuerdo, incluso para la gente que te conoció. En este sentido, eres igual que la mayoría de las personas que están en la residencia de ancianos contigo. Al menos no te has muerto en el trabajo por exceso de trabajo.

.