Soy un desarrollador de nivel junior en un trabajo que no me enseña nada moderno.

Soy un desarrollador de Java de nivel junior en un banco Big 4. El proyecto en el que estoy trabajando utiliza tecnología muy obsoleta sin planes de actualización, por lo que no estoy expuesto a herramientas o marcos de programación modernos.

Siento que me estoy quedando atrás en habilidades técnicas y esto podría perjudicar el desarrollo de mi carrera.

Estoy considerando cambiar de compañía o tratando de encontrar un nuevo puesto dentro de mi banco.

  • ¿Cuáles son las posibles consecuencias de cada una de esas acciones y qué factores debo tener en cuenta?
  • Alternativamente, ¿cómo puedo mantener mis habilidades en forma en mi situación actual?
  • Y por último, ¿cómo tienden a reaccionar los empleadores potenciales cuando alguien dice que se fue por razones como las que estoy describiendo?
Recomendé algunas ediciones que deberían hacer que la pregunta sea más sobre el tema. (Las preguntas que piden consejo sobre qué hacer no son preguntas prácticas que se puedan responder (p. ej., "¿qué trabajo debo tomar?" o "¿qué habilidades debo aprender?"). Las preguntas deben obtener respuestas que expliquen por qué y cómo tomar una decisión, no consejos sobre qué hacer.)
La exposición a nuevas tecnologías no es el único tipo de experiencia.
No dices cuanto tiempo llevas trabajando ahi
He estado trabajando allí durante aproximadamente un año y medio, todo el tiempo con tecnología obsoleta.
Si no puede ver el beneficio de descubrir cómo manejar el uso de tecnologías más antiguas y aún así hacer que las cosas funcionen, tal vez su actitud podría cambiar. ¿Qué tipo de expectativas tenía que podrían necesitar ser modificadas por la forma en que realmente se realiza el trabajo en comparación con la forma en que pensó que se haría?
Pasé 3 años como desarrollador junior trabajando en un sistema escrito en Ada que se ejecutaba en Solaris 8 (dejé ese trabajo en 2010). Sin embargo, aprendí MUCHO en ese trabajo. Principalmente sobre arqueología del código.
Me gusta esta pregunta en su forma actual y me gustaría verla reabierta. Creo que la edición realizada por Kelly fue excelente y suficiente para abordar el motivo de cierre actual y volverse adecuado para el sitio. De hecho, ayer vi una versión de esta pregunta publicada en Programmers, vine aquí buscando un duplicado y me sorprendió que ya no hubiera ninguno como este.
Los grandes bancos son grandes empresas y las grandes empresas no se centran necesariamente en ser vanguardistas en el departamento de TI. Muchos de los grandes negocios funcionan con el modelo "Si no está en quiebra...". Por lo tanto, encontrar un nuevo empleador es probablemente la clave para trabajar con tecnologías más nuevas en el trabajo. Alternativamente, mantenga el trabajo, pero busque la nueva tecnología por su cuenta. Poner en marcha un proyecto personal.
Moderno y sexy es divertido. Saber cómo construir algo lo suficientemente confiable como para apostar una compañía de mil millones de dólares es lo que paga las facturas de la mayoría de los grandes jugadores de la industria. Hay mucho que vale la pena aprender, y valioso para avanzar en su carrera, más allá de la tecnología en bruto. No se apresure a asumir que esta no es una experiencia que valga la pena. Los lenguajes y las herramientas se vuelven obsoletos rápidamente. Las habilidades arquitectónicas y de gestión de proyectos cruzan esos límites y siguen siendo muy valiosas.
¿Qué diablos es un gran banco de 4? ¿Es específico de la ubicación?
@DA. La razón por la que las empresas de servicios financieros tardan en cambiar es porque los errores pueden acabar con los ahorros de nuestros clientes, destruir sus esperanzas de educación universitaria de sus hijos, etc. Ah, y llevar a la empresa a la quiebra y a décadas de litigio en el proceso. Es cierto para cualquier negocio en el que los defectos tengan consecuencias graves y costosas. Las industrias médica y espacial son muy parecidas. Google y Amazon, no tanto.
@ColleenV después de haber trabajado para varios bancos gigantes, diré que se trata de ser perezoso y no de proteger al consumidor. Si no está lo suficientemente roto, simplemente no van a gastar ni un centavo. Así es como ganan dinero. Las fallas pueden ser graves y costosas, pero realmente no tienen relación con la antigüedad o la antigüedad de la tecnología.
@DA. Tener aversión al riesgo no es lo mismo que ser perezoso. Si no está roto y jugar con él podría hacer que se rompa de una manera que podría costar millones de dólares, no es irracional no querer jugar con eso.
@ColleenV Estoy diciendo que no hay una correlación directa entre el riesgo y la antigüedad de la tecnología en uso. Ejecutar sistemas antiguos no es necesariamente más o menos riesgoso que actualizar a sistemas modernos. Sí, jugar con tecnología antigua podría romper algo. Igual de probable, no actualizar la tecnología antigua podría romper algo. La razón por la que las grandes organizaciones tienden a usar sistemas más antiguos tiene menos que ver con el riesgo y más con el simple hecho de que cuesta mucho dinero actualizar y nadie quiere gastar dinero...
... aunque diría que existe un riesgo en no gastar dinero a medida que sus clientes comienzan a cambiar su lealtad a empresas con tecnología más avanzada. Por desgracia, en la industria bancaria, la competencia tiende a ser bastante anticuada. :)
@DA. Estamos de acuerdo en el riesgo de dejar que la tecnología se vuelva demasiado obsoleta y es cierto que hay algunas empresas que no están dispuestas a invertir en el futuro. Mi experiencia ha sido que las líneas de tiempo son más largas, pero eventualmente sucede. Sin embargo, soy bastante exigente con las personas para las que trabajo. Nunca espero trabajar con una tecnología que no existe desde hace una década, pero tampoco estoy atascado programando en COBOL.
En realidad, la habilidad de Cobol puede tener un precio superior en estos días. Alguien tiene que mantener en funcionamiento los antiguos sistemas de línea de negocio hasta que estén listos los reemplazos.

Respuestas (4)

Soy un ingeniero senior que trabaja en la industria financiera y mi trabajo es casi exclusivamente en C++ en sistemas operativos más antiguos porque necesitamos un alto rendimiento y estabilidad en nuestra infraestructura. Mantengo mis habilidades técnicas actualizadas mediante el uso de lenguajes y técnicas más modernos para desarrollar herramientas que no necesariamente se implementarán en producción, realizando un aprendizaje autodirigido y aprovechando el presupuesto de capacitación de mi departamento.

Disfruto el trabajo que estoy haciendo, es bastante desafiante a pesar de que es una tecnología "antigua", por lo que personalmente no me gustaría cambiar de trabajo solo para trabajar con la computación en la nube o lo que sea que esté de moda en estos días :) Desarrolladores con conocimientos sobre sistemas financieros son un grupo más pequeño que los desarrolladores con experiencia en las últimas y mejores tecnologías de desarrollo, por lo que no descartaría la experiencia que está obteniendo solo porque la tecnología de programación es antigua.

Por otro lado, depende de cuáles sean tus objetivos. Simplemente me gustan los problemas interesantes, así que no me importa que el código base con el que estoy trabajando esté bastante anticuado incluso para C++. Si sus objetivos son trabajar en computación basada en la nube o en algoritmos de desarrollo de "grandes datos", debe asegurarse de que está aprendiendo las cosas que lo ayudarán a obtener ese tipo de trabajos.

Cuando recién comienza, es difícil cambiar de un entorno en el que se le dijo lo que tenía que hacer para lograr su objetivo (graduarse con un título específico) a un entorno en el que se espera que establezca su propio "trabajo de curso". para su carrera profesional deseada. Primero debe decidir a dónde quiere ir, luego descubrir qué debe hacer para llegar allí y luego descubrir cómo hacerlo. Encontrar un mentor que te ayude una vez que hayas decidido lo que te gustaría hacer puede ser muy útil.

¿Presupuesto de formación? ¿Que es eso?
@JamesAdam Tengo suerte en mi último puesto. Nuestro equipo está tan ocupado que nos gritan por no usar todos los fondos que tenemos disponibles. ¿Recuerdas cómo algunas madres les decían a sus hijos "¡Termina tu cena! ¡Hay personas hambrientas en África a las que les encantaría tener eso!"? Recibimos el mismo discurso sobre los desarrolladores en otras empresas :)
Solo para agregar, las cosas de vanguardia suelen estar en lenguajes como C/C++. Demonios, el software Mars Rover está escrito en C. No sé de una forma u otra, pero apuesto a que cosas como la defensa contra misiles también lo son.
@Andrew, C, C++ e incluso Fortran todavía se usan mucho en la industria aeroespacial. Además, Ada: pasé varios años en una importante programación de programas satelitales en Ada :)
@JamesAdam - Tengo buenos recuerdos de Ada. Esa era tecnología de punta cuando recién comencé :)

Si no ha estado allí por más de un año, entonces diría que se mantenga: la mayoría de las empresas no le darán a los nuevos jóvenes los trabajos atractivos hasta que hayan aprendido los sistemas comerciales y demuestren su competencia en el mantenimiento de cosas heredadas. . En general, si se desempeña bien en eso, se le asignarán tareas que lo exijan un poco más.

Si ha estado allí un poco más, hable con su supervisor. Hágale saber que quiere tener la oportunidad de hacer más y pregúntele qué puede hacer para asegurarse de que se le dé la oportunidad.

Si ha estado allí más de dos años y no hay perspectivas de alejarse del trabajo scut, diría que ciertamente es hora de pulir su currículum y buscar otro empleo. Asegúrese de centrarse en las empresas que anuncian que están trabajando en proyectos nuevos y emocionantes (está bien, la mayoría de las empresas lo anunciarán, pero necesita filtrar los trabajos que se adapten a usted tanto como los empleadores quieran que se adapte a ellos). Decir la verdad no duele: "bueno, la empresa x tenía un código base muy estable, por lo que no buscaban reemplazarlo con tecnología más nueva y quiero poder trabajar con los marcos/características/etc más nuevos".

Es algo irrelevante que seas un desarrollador junior y estés preocupado por el desarrollo de tu carrera. En todas las etapas de su carrera, debe concentrarse en lo que lo ayudará a crecer y lograr sus objetivos. Soy un ingeniero senior de DevOps y estoy en gran medida en el mismo barco que usted. Por supuesto, todavía no responderé exactamente lo que estoy haciendo para resolver eso :) Sin embargo, aquí hay un desglose general de pros y contras para ayudarlo a tomar una decisión.

Opción 1. Quedarse con la (gran) empresa

Ventajas:

  • Construcción continua de antigüedad (puede ayudar con ciertos tipos de beneficios como vacaciones y bonos)
  • La estabilidad atrae a los empleadores
  • Convertirse en un "experto" en la tecnología (te sorprendería lo que puede hacer un experto en Cobol...)
  • Potencial de capacitación patrocinada por la empresa para mantener las habilidades a punto
  • Ser capaz de subir la escalera

Contras:

  • El papeleo te matará
  • El papeleo te matará
  • Lento para adoptar nuevas tecnologías
  • Eres un recurso, más como una copiadora que como un individuo.
  • Eres reemplazable, sin importar si eres el único que conoce un sistema

Opción 2. Ramificación a empresas más pequeñas

Ventajas:

  • Ser capaz de encontrar una empresa que utilice las tecnologías que le gustan.
  • Tener más responsabilidades en la toma de decisiones de diseño y arquitectura.
  • Ambiente de trabajo mas relajado
  • Mejores relaciones con el liderazgo.
  • Potencial para convertirse en copropietario de la empresa.

Contras:

  • La falta de estabilidad puede dejarte sin trabajo con poca antelación
  • Reubicarse es un fastidio, o estar limitado solo a lo que es local
  • Puede ser más difícil encontrar el próximo trabajo si su empresa es lo suficientemente desconocida
  • Cambiar de tecnología con demasiada frecuencia puede doler (aprendiz de todos los oficios, maestro de nada)
  • Poca o ninguna protección contra los malos jefes

Algunas de las otras respuestas brindan buenos consejos sobre cómo evaluar dónde se encuentra y qué podría querer buscar en el futuro. Cualquiera de los dos casos no va a arruinar tu carrera en este momento. Solo asegúrese de ser respetuoso con su empleador actual durante el proceso, ya que pensó lo suficiente en usted como para darle la oportunidad en primer lugar.

No estaría de más mencionar "El papeleo te matará" una vez más. Incluso lo ampliaría para decir que cuanto más grande sea la empresa, el mayor porcentaje de su jornada laboral se dedicará al "papeleo", que es simplemente una forma genérica de decir "cosas que realmente no tienen nada que ver con su trabajo real". Hojas de tiempo sin sentido, presentaciones de PPT para explicarle algo al gerente de alguien, reuniones, reuniones, reuniones y, a menudo, más reuniones, hilos de correo electrónico que duran días, Sharepoint, Sharepoint, muchos Sharepoint, Dios mío. MUCHO SHAREPOINT. Etc...
@DA. Sí, mi día es un 20 % de ingeniería y un 80 % de reuniones, Sharepoint y administración general. Llenar hojas de tiempo como un individuo asalariado tiene que ser la cosa más estúpida que he experimentado. Es una muleta para que los PM malos no tengan que hacer su trabajo.
Fwiw, IBM en su mayoría renunció a las tarjetas de tiempo hace muchos años, para el personal asalariado. La principal excepción son los contratos gubernamentales, en los que insisten en que se rindan cuentas de cada minuto que se les factura... así que no es culpa nuestra.

Alternativamente, ¿cómo puedo mantener mis habilidades en forma en mi situación actual?

Contribuir a un proyecto de código abierto es una excelente manera de mantener tus habilidades a punto. Hay proyectos que usan casi cualquier tecnología que le interese y muchos proyectos son muy acogedores con los colaboradores y brindan a las personas oportunidades para comenzar poco a poco con correcciones de errores, etc. mientras se ponen al día.

Es muy gratificante devolver algo, pero si eso no es suficiente, conozco personas a las que se les han ofrecido trabajos de tiempo completo sobre la base de su trabajo de código abierto; por ejemplo, alguien que fue colaborador de Docker ahora trabaja a tiempo completo para Docker Inc.

Obviamente, esto ocupará tu tiempo personal y, según mi experiencia, puede consumir MUCHO tiempo personal si lo dejas...

Hmmm... no todos pueden usar su tiempo personal porque están cansados ​​del trabajo/viajes y tienen familia.