¿Cómo atraer a la gente para que trabaje en tecnologías muy antiguas y obsoletas?

Trabajo en una empresa de TI que está profundamente especializada en proyectos realizados con tecnologías antiguas y obsoletas.

Los proyectos más grandes suelen ser una combinación de Cobol (las versiones más antiguas, no las más modernas) y Java 4 (al menos 60 proyectos en esta pila), pero también tenemos proyectos en Java 2 (menos de 5), Java 3 (un docena), solo Java 4 (al menos 30) y Java 5 y 6 (generalmente traducción sin refactorizar la arquitectura o la lógica de los proyectos en versiones anteriores de Java). Por lo general, no usamos ningún marco de Java (como Spring, Hibernate, etc.), principalmente porque cuando comenzaron los proyectos, estos marcos no existían. También tenemos proyectos de ensamblaje, ensamblaje - Cobol, ensamblaje - Cobol - Java (generalmente Java 4), C, C++, Fortran, Visual Basic (y probablemente algunos otros lenguajes). Nuestros proyectos de software a menudo no tienen ninguna interfaz gráfica; cuando existe uno es en Cobol o en JSP mostrando tablas (CSS apenas se usa y solo hay un montón de proyectos que usan Vanilla Javascript). Nuestros proyectos suelen durar de 3 a 5 años, pero también tenemos proyectos que han durado más de 20 años (que yo sepa, esto es muy poco común en el mundo de TI).

NO PODEMOS cambiar la pila de los proyectos y el idioma utilizado porque estas son elecciones de los clientes. Trabajamos con grupos bancarios y de seguros multinacionales/mundiales que utilizan ampliamente estos lenguajes. Por ejemplo: un grupo bancario y financiero mundial tiene todos sus sistemas internos (no solo por lotes, sino también los que usan los operadores en las sucursales) en Cobol en mainframes. La única parte del sistema que no está en Cobol es el sitio de home banking, que de hecho no es nuestro.

Las personas que trabajan en mi empresa, según las estadísticas de recursos humanos, permanecen en promedio unos 6 años y medio (otra cosa que en TI es muy poco común), pero tenemos colegas que trabajan aquí desde hace 20 o 25 años (tal vez en el mismo proyecto o en el mismo tipo de proyectos). Nuestro salario está muy por encima del promedio (estadísticas de recursos humanos, hablando con amigos en otras empresas y simplemente comparando nuestras ofertas de trabajo con las de otros), para un senior podría ser hasta el doble de los competidores.

En los últimos 5 años (y aún más desde los últimos 2 años) nos enfrentamos a enormes dificultades para contratar nuevos desarrolladores, especialmente de nivel medio a junior. Muchas de nuestras ofertas de trabajo para esos puestos reciben un número ridículamente bajo de solicitudes y menos aún son las personas que se muestran interesadas en nuestros proyectos obsoletos después de la primera entrevista. ¿Cómo podemos revertir esta tendencia?

¿Qué tan grande es su empresa: unas pocas docenas de personas, o al menos varios cientos de desarrolladores? ¡Eso importa mucho!
Algo que no me queda claro de su pregunta: ¿su modelo de negocio es la colocación o la subcontratación? Puedo pensar en varias respuestas que son relevantes para una y no para la otra.
Esto parece demasiado amplio: casi todas las técnicas de contratación, ventajas para los empleados (incluso si la retención no es su problema: la gente habla y busca diferentes cosas en un trabajo y hace que la descripción de su trabajo sea más atractiva) y algo que mejora la imagen de la empresa. aplicar aquí.
¿Incluye beneficios como Remote?
@kdgregory lo siento, no entendí. Con algunas excepciones, los clientes nos dicen "estas son las tecnologías, estas son las especificaciones, necesitamos esto, desarrollar las soluciones", a veces también los clientes fijan el tiempo y el presupuesto. Entonces, usando su definición, somos "un taller de carrocería", al menos para la gran mayoría de los proyectos.
@LeopoldT También puede valer la pena agregar una etiqueta de país a esto, ya que es posible que las sugerencias difieran según la configuración regional.
Creo que hay algunas buenas respuestas, pero podría ayudarlo más publicar un ejemplo de una de sus ofertas de trabajo. Podría haber cosas obvias que ni siquiera estamos considerando.
Creo que no ayuda a la comunidad que preguntas como esta se dejen en suspenso por ser demasiado amplias. La pregunta en sí es muy específica. Tienen un problema que necesitan contratar para tecnología retro. Pero este problema exige sugerencias creativas de posibles soluciones desde una amplia gama de puntos de vista. De hecho, puede haber una respuesta muy específica y superior y no puedes saber que no la hay.
Creo que los clientes piden Java, pero no Java 2 en lugar de Java4... De todos modos, creo que deberías buscar otra razón para las dificultades de contratación porque parece extraño decir que los desarrolladores no quieren trabajar en Java o C++ nunca más.
Se votó a favor porque C# irá a ese tipo de lista... pronto (si no ya).
Elija un lenguaje moderno destacado que se ajuste a su caso de uso, convierta el código escrito en este lenguaje en código escrito en estos lenguajes anacrónicos utilizando transpiladores que usted desarrolle. Clojure y otros dialectos de Scheme son buenos para crear nuevos idiomas, también deberían ser buenos para crear idiomas antiguos. Sin embargo, para maximizar el impacto (y minimizar el tiempo de desarrollo cuando se escriben los transpiladores), elegiría una sintaxis de estilo Javascript o Python para el lenguaje de entrada. Como ventaja, puede vender los transpiladores a otras empresas.

Respuestas (25)

20% de tiempo + código abierto

Probablemente haya oído hablar de la política del 20 % del tiempo de Google. En esencia, cualquier empleado puede solicitar utilizar hasta el 20 % de su tiempo en proyectos favoritos.

Te sugiero que implementes algo similar.


El problema de trabajar con tecnologías anticuadas en proyectos de mantenimiento es doble:

  1. Obsolescencia de las habilidades tecnológicas: las tecnologías aprendidas en el transcurso del proyecto no abren ninguna puerta; esto significa que ya no será necesario apostar a jubilarse antes de su experiencia.
  2. Muerte de la creatividad: el mantenimiento, especialmente en proyectos de alto riesgo, a menudo requiere la mayor cantidad de cambios quirúrgicos posibles. Hay muchas habilidades importantes aquí, pero NUNCA trabajaría en un trabajo donde las mejoras a gran escala son imposibles.

¡Aquí es donde entra en juego el 20% de tiempo!

En su 20% de su tiempo, anime a sus empleados a divertirse. Personalmente, sugeriría participar en proyectos de código abierto, ya que tiene múltiples beneficios tanto para su empresa como para ellos:

  1. Promociona tu empresa: mira, a esa gente se le paga por desarrollar en X, Y,...
  2. Ayuda a los empleados a desarrollar habilidades en el área que les interesa: desde kernels hasta frameworks de JavaScript/CSS, con todo, desde gráficos, aprendizaje automático, big data, etc.
  3. Brinda a los empleados un embudo de creatividad: no se vuelva loco con el código base de COBOL, ¡es probable que haya un proyecto de código abierto por ahí al que le gustaría que la gente proponga ideas de diseño avanzadas!

Y lo mejor de todo, cuando uno de sus clientes decida migrar a Big Data Framework X (escuché que está de moda), con suerte podrá presumir: "¿Sabes? el proyecto en nuestro equipo con toda la experiencia que pueda necesitar para ayudarlo a diseñar su aplicación".


¿Me pagan como reyes por trabajar en proyectos geniales de código abierto de mi elección?

¡Bien, ahora que es una oferta fresca!

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .

Si te anuncias buscando a alguien con experiencia en COBOL, mala suerte. Entonces, ¿quién podría hacer este trabajo? Alguien a menos de diez años de la jubilación, que puede darse el lujo de cambiar a una tecnología sin salida y que está dispuesto a aprender un idioma nuevo o antiguo. Aprendí Swift recientemente. Comparado con eso, COBOL es primitivo (lo sé, tomé un curso de dos semanas en 1979). No hay problema para aprenderlo en absoluto. Anuncie a alguien con experiencia que lo haya visto todo, ofrezca un excelente salario con varios años de perspectivas laborales y dígale que se espera que aprenda COBOL, no que lo sepa.

PD Hay entornos de desarrollo que no soportaría, así que eso podría ser un problema.

La forma en que he visto que otras compañías lo hacen es ofrecer esto a grupos de personas desatendidos, por ejemplo, personas que han salido de la cárcel o adictos en recuperación. Es probable que tengan menos opciones y es más probable que salten a algo como esto.
COBOL es primitivo pero no muerto.
@Thorbjørn Ravn Andersen "Callejón sin salida", no "muerto". Y eso es No hay nuevos proyectos comerciales usando COBOL. Y el mantenimiento solo será necesario y pagado hasta que las empresas eventualmente se cambien a una tecnología más moderna.
@Kakturus Cierto. Leí mal lo que escribiste.
@Kakturus olvidaste la otra razón: la propia empresa muere.
and tell them they are expected to learn COBOL, not know it.es probablemente una clave aquí. Incluso si quisiera comenzar una carrera en COBOL hoy, lo consideraría imposible ya que creo que cada empresa requiere 10 años de experiencia en el lenguaje. Tal vez ni siquiera titule la vacante "Desarrollador COBOL" sino "Desarrollador de software" para que más personas lo vean y realmente lo consideren.
No es necesario ser un desarrollador de COBOL para trabajar en COBOL. Y haber trabajado en COBOL no lo convierte en un desarrollador de COBOL, solo significa que tiene algo de experiencia (en su mayoría inútil) con COBOL. Sin embargo, el trabajo probablemente será bastante aburrido y sin posibilidades reales de progreso (como ocurre cuando se trabaja en tecnología moderna), y debe esperar tener que compensar a los desarrolladores por eso.
Una de las partes clave de esta respuesta es el dinero. Paga suficiente dinero y vendrán.
¿Una persona mayor, no muy lejos de la jubilación? ¿Un desarrollador junior dispuesto a aprender COBOL? ¿Personal con formación técnica, que puede haber sido despedido por exceso? ¿Quiere recargar sus fondos de jubilación? ¡Oye, ese soy yo! ¿Dónde aparece este trabajo...?
@Magisch: si los clientes son bancos, las personas que salen de la cárcel podrían ser un problema. Otros grupos objetivo alternativos, OTOH, podrían ser interesantes.
La cárcel de @gazzz0x2z puede ser un problema, pero no debería serlo. Con una revisión de código adecuada, debería ser imposible colarse en código de puerta trasera. Si OP está lanzando barreras de entrada arbitrarias, entonces él/ella no recibe ninguna simpatía de mi parte. El exdirector del FBI dijo que no podía conseguir que suficientes desarrolladores de software trabajaran para el FBI, pero que el FBI no contrataría a nadie mayor de 35 años. Como una persona de más de 40, digo eff ellos.
@immibis the job will probably be quite boringYKMMV, a algunas personas les gusta legítimamente el desafío de luchar contra el código bizantino de hace décadas. Ser capaz de mantener aplicaciones antiguas es valioso, las empresas que no son de TI usarán aplicaciones antiguas de forma rutinaria porque funcionan y crear otras nuevas no es su negocio principal. Creo que eso es algo que podría vender, pero si somos honestos, eso lo lleva a un campo bastante estrecho.
Para agregar otra dimensión a esto: no todas las empresas que usan cobol son como los clientes de OP que nunca quieren cambiar, muchas quieren convertir activamente sus programas heredados a un lenguaje más moderno y popular. Creo que este mercado solo crecerá durante la próxima década. La contratación de programadores políglotas que estén dispuestos a aprender cobol permitirá que una empresa de subcontratación descubra este mercado.
Conocida parodia If Carpenter Were Hired Like Software Developers , donde el cliente va con el vendedor de autos para la carpintería, en lugar del carpintero, porque el vendedor de autos tiene más experiencia en autos marrones que el carpintero en maderas marrones. TL; DR: la programación es la programación, el proceso de pensamiento es más difícil de cultivar que las peculiaridades del lenguaje.
Desafiaría enérgicamente esta afirmación de que COBOL está muerto o es una tecnología sin salida. Definitivamente no es una tecnología de crecimiento y el conjunto de habilidades no se transferirá a Silicon Valley, pero todavía hay una cantidad ridícula de grandes compañías Fortune-500 casadas con mainframe. Los sectores bancario y de seguros por sí solos podrían mantener a un desarrollador empleado durante los próximos 25 años. Mientras existan cantidades masivas de cálculos de big data que deben procesarse de la noche a la mañana, el mainframe seguirá existiendo.
La idea de que COBOL es un "callejón sin salida" es extraña. Swift es un callejón sin salida. Ir es un callejón sin salida. ¿Recuerdas lo genial y nuevo que era Objective-C? Jajaja. Además, como señala correctamente Dank, COBOL es un campo >>> ENORME <<<. Es totalmente extraño que cualquier programador en activo no se dé cuenta de las inundaciones, las avalanchas, de dinero que puedes ganar trabajando en los SISTEMAS MÁS LUCRATIVOS DE LA TIERRA (que, por supuesto, están en Cobol). ¿Dónde has estado?
Esto no es cierto acerca de COBOL. Obviamente, ofrecer más paga le dará más oportunidades, pero COBOL en realidad tiene seguidores de culto entre los programadores más jóvenes, y algunos de ellos son realmente buenos programadores. Lo sé porque me ofrecieron un trabajo escribiendo COBOL el año pasado y comencé a investigar para intentarlo y ver cómo me sentía escribiendo e intentando pensar en COBOL, así que interactué con la comunidad. Leíste bien: ¡Hay una comunidad COBOL! No solo eso, sino que los estudiantes de informática saben que existen trabajos COBOL y pueden pagar mucho más que otros tipos de programación. ¡No lo descartes tan a la ligera!
exactamente como dice @ L0j1k. Algunas de las cosas en esta página son totalmente notables viniendo de programadores reales: cualquiera que haya hecho una unidad de informática básica en una mala universidad local, sabe que no hay ninguna diferencia entre todos los lenguajes de programación. Cualquiera con el más mínimo conocimiento de informática debe saber que puede construir cualquier abstracción a partir de un conjunto trivial de comandos. Control de calidad extraño.

Este es el problema con el aumento de la deuda técnica y la permanencia en la tecnología obsoleta: la cantidad de personas familiarizadas con la tecnología disminuye lentamente al principio y luego rápidamente a medida que envejecen y dejan la fuerza laboral.

Eventualmente, las personas que entienden la tecnología serán raras como los dientes de una gallina y obtendrán salarios altos si la tecnología es lo suficientemente esencial para el negocio. Al mismo tiempo, el número de empresas que requieren personas con estos antecedentes es cada vez menor.

El nombre del juego en el entorno de TI moderno es la seguridad profesional. Si sigue atascado con una pila de tecnología obsoleta, eventualmente le resultará cada vez más difícil conseguir un nuevo trabajo. Esta es la razón por la cual los desarrolladores junior y de nivel medio no quieren unirse a usted; podría ser una sentencia de muerte para sus carreras.

Lo mejor que puede hacer es comenzar a actualizar regularmente sus aplicaciones actuales y tecnologías principales a los estándares modernos. Esto significará reescrituras de casi todo, potencialmente completamente desde cero. Esto llevará mucho tiempo, será difícil y probablemente costoso. Así es como atrae a nuevas personas: diciéndoles que se está actualizando a los estándares modernos utilizando las pilas de tecnología más recientes.

De lo contrario, eventualmente descubrirá que, cuando alguna aplicación o servicio esencial de la empresa se estropee, no hay nadie que pueda siquiera intentar solucionarlo.

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .

Tal vez esté más preparado para contratar a personas mayores, por ejemplo, aquellos que regresan a la fuerza laboral después de quedarse en casa, padres o cuidadores.

Mi experiencia general es que la industria de TI es increíblemente discriminatoria por edad, a menudo en su propio detrimento.

Esta parece la respuesta más racional con diferencia. Conozco a varios desarrolladores muy experimentados que se mantienen a flote en entornos de software contemporáneos y se sienten frustrados porque están rodeados de tipos barbudos que creen que lo saben todo, ¡pero no escuchan a las personas que INVENTARON los sistemas que están usando! También vale la pena señalar que la mayoría de estos genios obsoletos son mujeres. (La computación solía ser un trabajo para las chicas, en caso de que los chicos barbudos se lo perdieran). Así que haga publicidad para expertos mayores. Tal vez incluso pregunte a algunos de ellos qué los incitaría a postularse, y considere dirigirse a las mujeres.
+1 Una pensión con un período de adquisición corto también podría ayudar a atraer a programadores experimentados de mayor edad y, como sugirió otro, no requiere que sepan los idiomas, estén dispuestos a capacitarse.
En la práctica, esto significa cosas como: puestos a tiempo parcial o de trabajo compartido, trabajo remoto (parte o todo el tiempo) con apoyo (es decir, hardware, muebles, etc.), provisión de cuidado de niños, generosa licencia por enfermedad/licencia por enfermedad infantil, buena seguros, paquetes de reubicación y manutención conyugal, buena pensión. El uso de un proceso de reclutamiento ciego a la edad y el género (y la publicidad de eso es lo que está haciendo) también ayudará a señalar el apoyo a los posibles solicitantes.
Un conocido mío, ingeniero mecánico, ahora está trabajando en COBOL en un banco. Él dice que el 64% de los sistemas bancarios del mundo todavía funcionan con estos lenguajes de la edad de piedra. Es uno de los muchos ingenieros menos ambiciosos de la India a los que les resulta difícil conseguir un trabajo en el flujo correcto y pronto tiene una familia que alimentar. Por lo tanto, obtendrán cualquier trabajo que tenga menos competencia y les brinde un pago mensual durante el tiempo suficiente para mantener a una familia. Incluso sin beneficios especiales, harán su trabajo sin quejas durante el tiempo que los necesite.
Uno de mis profesores universitarios (no sé cuántos años tenía, pero tenía canas y se estaba quedando calvo) conocía COBOL, por lo que todavía existen personas que lo saben, todavía no están en una casa de retiro.

Estás averiguando dolorosamente por qué tantos desarrolladores que se especializan en lenguajes antiguos están ganando dinero en serio en este momento.

Como desarrollador joven, es una propuesta perdida adoptar estas tecnologías ahora: las mejores prácticas y capacidades están tan lejos de donde estaban entonces, y el desarrollo de software es un campo que se mueve tan rápido, que si no trabaja con las últimas y las tecnologías más grandes o al menos las más utilizadas, está entorpeciendo su propia carrera. Tendrán que esperar que en 20 años tan pocas personas hagan cosas como fortran o COBOL que su conjunto de habilidades recién adquirido será inútil, una propuesta sombría.

Así que haga lo que debe: ofrecer capacitación en el trabajo a personas que de otro modo no serían contratadas en ningún lado, mencionar explícitamente que contratará a personas con condenas previas por delitos penales (si puede compaginar eso con el seguro), ofrezca una oferta más que competitiva. salario, mejores prestaciones.

El quid aquí es que estás pidiendo a los nuevos desarrolladores que sacrifiquen sus futuras perspectivas de carrera, por lo que debes compensarlo adecuadamente.

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .
No estoy de acuerdo con la palabra "dolorosamente" aquí. No hay indicios de que los ingresos o las ganancias de la empresa de OP estén sufriendo. De hecho, dado que sus clientes son bancos multinacionales que disfrutan de una rentabilidad máxima, es probable que la empresa OP también prospere. No es que no puedan pagar, simplemente no quieren pagar. Y es terrible que las empresas de miles de millones de dólares se quejen de aumentar los costos laborales que podrían reducir los márgenes en un % o dos, mientras que la gente real lucha por pagar la atención médica, u obtener un primer aumento en 5 años, o alquiler de por vida porque nunca se contagiaron. hasta la explosión de los precios de la vivienda.
  1. Desarrollo a distancia . Permítales elegir su base de costos y estilo de vida.
  2. Tiempo flexible. Que trabajen cuando quieran.
  3. salario alto Hágales saber que su oficio es apreciado.
  4. Estabilidad. Hágales saber que esta es una perspectiva a largo plazo.
  5. Divertida. Hágales saber que los desafíos técnicos siguen siendo tan interesantes como siempre.
  6. Colectivo. Organice una sensación de club en torno a este mantenimiento de infraestructura retro.
Yo agregaría autónomo . Me imagino que muchos ingenieros jubilados estarían dispuestos a trabajar como autónomos por diversión o dinero extra, y muchos ingenieros de nivel medio o junior estarían dispuestos a hacer esto como un trabajo secundario si están adquiriendo experiencia en otro idioma principal.
Todas estas son cosas buenas para atraer personas en todas las empresas y entornos, pero no se aplican particularmente a los desafíos de esta pregunta.
@ gnasher729 Aborda con precisión los desafíos de esta pregunta.
Esta respuesta es relevante para la pregunta porque es una lista sólida de beneficios que se pueden utilizar para atraer a las personas a trabajar en tecnologías muy antiguas y obsoletas.
@GustavBertram absolutamente! Es sorprendente cuánto más personas pueden lograr, o están dispuestas a intentar asumir, si tienen cierta flexibilidad, especialmente nosotros, las personas mayores: o)

Debe ofrecer un salario lo suficientemente alto para compensar a los solicitantes por el efecto negativo en su carrera que tendrá la especialización en tecnologías obsoletas.

Si tiene muy pocos candidatos que quieran aceptar el trabajo una vez que se enteran, el salario que está ofreciendo es demasiado bajo.

Alternativamente: ¿puede modificar las especificaciones del trabajo para que las personas en el puesto no pasen más de la mitad de su tiempo trabajando con tecnología obsoleta? Eso podría mejorar la ansiedad de los candidatos de que terminarán atrapados con habilidades inútiles.

"efecto negativo en su carrera" es un buen punto para mencionar. Algunos desarrolladores no querrán trabajar en proyectos estrictamente por el trabajo, sino por lo que los futuros empleadores verán en su CV.
Trabajar con lenguajes de programación heredados también puede ser un beneficio. Tengo que lidiar con IBM JCL y Fortran 77 a diario. Sin embargo, estoy haciendo cosas que no creía posibles, en realidad son muy versátiles. Soy mejor programador debido a la introducción a esos lenguajes.
Y brinde a los clientes una proyección del costo creciente de mantener sus sistemas heredados junto con una oferta para refactorizarlos.

Sin JavaScript, sin CSS, sin anotaciones oscuras , simplemente Java... Eso por sí solo seguramente llama mi atención...

Aumenta el alcance de tu oferta

Trate de participar en los eventos de la Universidad. En mi Universidad había una semana donde las Empresas venían al campus y daban charlas sobre lo que hacían y por qué eran una buena opción laboral. Luego, con mucho gusto recopilarían los CV de los estudiantes interesados. Incluso puede recibir una subvención pagada para conocerse desde adentro.

Captar su atención

Hoy en día hay más marcos que programadores y es genial que estés usando el último marco que te evita escribir un punto y coma al final de cada línea...

Entonces, ¿por qué un programador se sentiría atraído por una pila de tecnología antigua? Sin JavaScript, sin CSS, solo Java sería una frase lo suficientemente buena para mí (no relacionada con ninguna película ).

El salario es uno que ya se ha mencionado. ¿Qué pasa con el orgullo? Este trabajo no es adecuado para todos, debe ser un desarrollador capaz porque no puede simplemente buscar la solución en SO... Tal vez este trabajo ofrezca desafíos intelectuales que harán que lo ame.

Cuando publiques una oferta de trabajo en Internet, da la sensación de que la empresa no es un dinosaurio con ordenadores (lo siento, pero es lo primero que me viene a la cabeza cuando leo COBOL). ¿Hay alguna actividad que realicen sus trabajadores a la que los asistentes puedan unirse si son contratados? ¿Juegos de láser, tal vez?

¿La oferta de trabajo te permite trabajar algunos días a la semana desde casa después de la etapa de a bordo?

Mantenlos interesados ​​en tu oferta

Para algunas personas puede que el salario no sea lo que les llame la atención, sino algo que les mantenga interesados. Otro típico es la formación: aprecio mucho los trabajos que patrocinan certificados oficiales (fuera de la empresa).

Si las tecnologías son poco comunes o raras, es posible que sus candidatos deseen cierta estabilidad laboral. ¿Ofrecen un contrato a largo plazo? Además, ¿cuáles son las posibilidades de promoción interna?

+1. Hay personas que realmente disfrutan resolviendo problemas desagradables con herramientas deficientes. Yo soy uno de ellos. Son una minoría pero existen. Tienes que idear una "estrategia de marketing" que llegue a ellos y los atraiga. Los departamentos universitarios de matemáticas y ciencias son un buen lugar para encontrarlos. Mucha gente allí está muy contenta trabajando con FORTRAN o incluso con el ensamblaje, y probablemente se les pague una pequeña fracción de lo que normalmente ofrece.
"Sin JavaScript, sin CSS, sin anotaciones oscuras, simplemente Java..." ¿Qué dices? ¿Te das cuenta de que javascript y java no tienen absolutamente nada que ver entre sí?
@ChrisStratton Por supuesto, solo las anotaciones están directamente relacionadas con Java. Sin embargo, por lo general son parte de la misma pila de tecnología.

Trabajé para una empresa (como consultora) que técnicamente era una entidad privada, pero que tenía permitido trabajar exclusivamente para las sucursales gubernamentales de la ciudad local.

Como es costumbre con el desarrollo de software gubernamental (según mi experiencia), los proyectos no fueron muy buenos. Trabajé en una plataforma de seguridad social no documentada de 25 años que una vez fue escrita en COBOL, portada a VB por pasantes sin supervisión, portada a VB.Net sin refactorización a menos que rompiera la compilación, y varias generaciones de equipos de desarrollo poco calificados trabajando en ella con sin sentido de propiedad y dejando el proyecto sin documentar y más fragmentado de lo que ya estaba.

Había muchos otros proyectos como este. Alrededor del 80 % del trabajo se centró en mantener operativas las bases de código obsoletas e infestadas de códigos de espagueti porque el gobierno no podía ahorrar el presupuesto para mejorarlo.

Para resumir: los desarrolladores comenzaron a irse en masa. Los únicos que quedaron atrás fueron aquellos que no sabían (o no intentaron) nada mejor, lo que solo agravó aún más el problema.

Cuando la empresa obtuvo un aumento de presupuesto por un año, decidieron refactorizar la empresa para retener a sus empleados más jóvenes y experimentados. Y lo consiguieron.

Lo que hicieron fue (en privado) reconocer los proyectos de mierda, y ofrecieron un equilibrio trabajo/vida enormemente mejorado:

  • Las tareas se asignan el día 1 del mes. Se espera que los entregues a fin de mes.
  • Cualquier cosa que suceda entre esas fechas es su llamada. Trabaja desde casa cuando quieras (lo único que tenías que hacer era ponerlo en tu agenda).
  • La dirección no pone plazos. El desarrollador (selección aleatoria para la sesión de póquer, al igual que el deber de un jurado) estableció los plazos por sí mismo y los clientes firmaron. La compañía nunca (que yo sepa) obligó a los desarrolladores a reducir sus horas estimadas.
  • Las oficinas se cambiaron a espacios flexibles. Algunos pisos tenían mesas adicionales (para aquellos que a menudo hacen reuniones o conversaciones ad hoc), otros pisos solo tenían mesas pequeñas para una persona (para aquellos que desean trabajar en paz y tranquilidad).
  • Aparte de estar presente en las reuniones (generalmente una cada dos semanas), no se requería asistencia.
  • El trabajo se evaluó en función del resultado final, no del tiempo empleado.
  • Se puso en línea la intranet de la empresa, lo que permite trabajar desde cualquier lugar con conexión a internet.
  • Aparte del repositorio de código (TFS interno), todas las herramientas (incluido el correo electrónico) estaban disponibles en cada PC con un inicio de sesión adecuado.
  • Si no puede cumplir, obtiene la aprobación de su gerente de proyecto para adelantar su fecha límite, o puede ir y convencer al cliente directamente (nota: la mayoría de los desarrolladores ya estarían en contacto con el cliente directamente de todos modos). Mientras la empresa o el cliente firmen, todo está bien.
  • Las solicitudes de licencia se aprueban virtualmente independientemente de la programación (nota para los internacionales: hemos pagado el tiempo libre aquí, y usted y su empleador conocen la cantidad de días de licencia (pagados).
    • Anecdótico: Una vez tuve que pedir una baja de tres meses (por motivos de trabajo, no de vacaciones). Sin hablar, el PM se dirigió a su computadora portátil, abrió una hoja de cálculo, puso un 0 en tres columnas y eso fue todo. Sin discusión.

¿Mejoró esto la calidad de los proyectos? No. Todavía no había presupuesto ni tiempo para volver a desarrollar estas aplicaciones.

Pero la compañía comenzó a retener a los buenos desarrolladores, y el ambiente de trabajo tranquilo les dio más que suficiente holgura para compensar el trabajo del proyecto que de otro modo no sería placentero.

Antes, la empresa se ahogaba con empleados no calificados (o no dispuestos) que no contribuían de manera efectiva pero creaban más trabajo en un intento de parecer ocupados. Es muy difícil deshacerse de estos empleados cuando superan en número a los desarrolladores "expertos".
Tal vez no sea aplicable en todas partes, pero esa mentalidad de "crear trabajo para crear seguridad laboral" es algo que se atribuye estereotípicamente a los trabajadores del gobierno aquí. Es muy común.

Debido a que la compañía les dio a los empleados una cantidad de libertad casi criminal, los empleados se sintieron lo suficientemente libres como para no molestarse más en verse ocupados. El trabajo se calificaba en función del resultado final, no del tiempo dedicado al trabajo.

He leído otros casos en los que las empresas experimentaron con un sistema de "licencias gratuitas", es decir, los empleados eran libres de tomarse todas las licencias que quisieran. Y resultó que el promedio de licencias tomadas no cambió significativamente con respecto al rígido sistema de licencias que tenían antes.
Ocurrieron algunos abusos, pero muchos empleados se sintieron lo suficientemente libres como para tomar una licencia cuando quisieran, por lo que se volvieron menos insistentes en los días de licencia específicos que se les asignaban.

Personalmente, anuncié la caída de la empresa, pero debo corregirme. Si bien la calidad del trabajo no ha mejorado, han logrado compensar los horribles proyectos con un increíble equilibrio entre el trabajo y la vida.

Fascinante. Parece que han creado un entorno en el que la excelente aplicación de los principios de desarrollo de software podría generar gradualmente (muy gradualmente) mejoras reales en el código base mismo. (Como se indica en el libro que vinculé, el primer objetivo es llevar el código base a un punto en el que mejore con el tiempo en lugar de empeorar con el tiempo. Pero, también como se indica en ese libro, el primer objetivo real es tienen desarrolladores que quieren que las cosas mejoren).
@Wildcard: en los 2 años posteriores al cambio que todavía trabajé allí, sin embargo, no mejoré mucho en cuanto al código. La compañía simplemente detuvo la hemorragia de los desarrolladores. Hubo pocos incentivos por parte del cliente (incluido el presupuesto) para mejorar las cosas, por lo que entiendo que la empresa no iba a pagar por rediseñar algo sin documentación con un contrato de servicio activo las 24 horas, los 7 días de la semana. Pero eso está más relacionado con el gobierno como cliente que con la empresa misma. Sin embargo, estoy de acuerdo en que fue un movimiento audaz que ha dado sus frutos en contra de las expectativas de la mayoría de las personas.
Derecha. Pero rediseñar sería un error y una pérdida de dinero, cuando el sistema existente funciona y satisface las necesidades del mundo real. El capítulo de ese libro que es más útil y aplicable aquí es Refactoring is About Features .
@Wildcard Tenga en cuenta que los marcos gubernamentales se encuentran en un estado continuo de desarrollo debido a los cambios legislativos. Estas aplicaciones no se compilan una vez y se modifican más tarde. No refactorizar es efectivamente reducir un día de trabajo a menos de 4 horas.
No puedo interpretar bien la intención detrás de ese comentario, pero ¿leyó el artículo? Creo que estamos de acuerdo. :)

Trabajo en una empresa de TI que está profundamente especializada en proyectos realizados con tecnologías antiguas y obsoletas.

Los proyectos más grandes suelen ser una mezcla de Cobol...

Considere cambiar la mentalidad y el enfoque de su empresa. En lugar de requerir simplemente experiencia en Cobol (y su codificador para codificar solo en Cobol), también solicite experiencia en análisis de código fuente estático y contrate personas capaces de usar o incluso desarrollar técnicas de análisis de código fuente estático (quizás incluso algunas semiautomáticas internas). transformador/analizador de código). Ese mercado es más atractivo (tecnológicamente). Por supuesto, deberá ofrecer salarios competitivos (y tal vez contrataría a desarrolladores de nivel de doctorado).

Por cierto, conozco algunas empresas (pymes especializadas) que realizan análisis de código fuente estático (y transformación/refactorización de código semiautomático) en código Cobol de décadas de antigüedad.

Es probable que una persona que haya trabajado algunos años en el análisis del código fuente de Cobol encuentre otro trabajo interesante más tarde (por ejemplo, se mudaría a otra empresa que realiza análisis del código fuente de Java). Una persona experta en Cobol (sólo) tiene que quedarse en ese mundo (y está apostando a que aún le queda algún otro trabajo en Cobol). Por supuesto, los analizadores de código fuente a menudo se codifican (las herramientas en sí mismas, no el código que están analizando) utilizando tecnologías sofisticadas (por ejemplo, Ocaml, Haskell, etc.)

Por supuesto, también vendería a sus clientes el servicio de refactorización (quizás incluso reescribir en parte) el antiguo código Cobol (así que convénzalos de que la deuda técnica es una preocupación). Y eso no es barato.

Por cierto, si conoce alguna propuesta de proyecto europeo H2020 o FP9 futuro donde tal trabajo -análisis estático del código fuente de Cobol, no refactorización manual del código Cobol- podría encajar (pero, en julio de 2018, no conozco ninguna) -o si quieres proponer un contrato industrial directo con mi empleador CEA, LISTA- , no dudes en contactarme por correo electrónico abasile.starynkevitch@cea.fr. Estoy trabajando en un laboratorio con habilidades de análisis de código fuente estático (pero nuestras herramientas actuales no apuntan a COBOL; podríamos adaptarlas para COBOL -no estoy seguro de que tenga sentido técnicamente-, o desarrollar herramientas de análisis estático de COBOL, si y solo si somos financiado para eso; mi ingenua opinión es que su mercado podría no ser lo suficientemente grande para eso: desarrollar herramientas de análisis estático es costoso y lleva tiempo. Pero si su empresa -o cliente- puede permitirse un proyecto de un millón de euros durante 4 años, contácteme ; lo más probable es que sea mejor -y eso es difícil- trabajar en red y encontrar varias otras empresas dispuestas a compartir el riesgo y el costo).

Mi opinión ingenua es que las habilidades que buscas son costosas, pero no tanto. En unos pocos años, podrían ser aún más costosos y raros, y entonces tendría mucho más sentido un análisis estático y un enfoque de refactorización semiautomatizado. Su empresa podría apostar por eso y comenzar a construir su propio análisis de código fuente estático del código Cobol. Y sí, eso lleva años y cuesta mucho. No hay bala de plata .

+1. De hecho, he pensado en este problema antes y llegué a la conclusión de que transpilar de un idioma más moderno a un idioma más antiguo puede ser una forma de salir de esto. Tendría que desarrollar la tecnología, pero sería extremadamente valiosa ya que muchas grandes instituciones financieras tienen exactamente el problema descrito por @LeopoldT

TL; DR: No debe esperar jóvenes para estos roles.

Hay algunos comentarios muy excelentes, y no puedo enumerar los autores fuente de manera efectiva, pero esos puntos son básicamente estos:

Le estás pidiendo a alguien que acepte un trabajo sin futuro y se arriesgue a quedar desempleado.

Solo hay un escenario en el mejor de los casos enumerado: la persona que trabaja en estas pilas antiguas se jubila antes que la pila.

Para un junior, estamos hablando de 30-40 años... realmente no esperas trabajar en un lugar durante tanto tiempo, especialmente si no podrás conseguir otro trabajo después de trabajar allí. Si gano 5 años de experiencia en toda la tecnología con la que trabajaste, ¿qué significará eso exactamente para mi próximo trabajo? ¿Incluso se sumaría a mi empleabilidad o se restaría de ella?

No creo que puedas esperar de manera realista que los juniors opten por estos puestos. Esta es una carrera que es extremadamente riesgosa y, a menos que ofrezcas algún tipo de pensión masiva de jubilación anticipada, el riesgo es extremadamente alto... se unen a tu empresa, trabajan durante 5 a 10 años, se casan, tienen hijos, y de repente se vuelven desempleados.

Tienes que aceptar cuál es tu modelo de negocio y considerar si la contratación de juniors es incluso realista.

Soy un desarrollador junior que trabaja en una empresa con las mismas limitaciones e idiomas que la suya y no estoy de acuerdo con la gente que dice que actualice sus tecnologías o espere una población que envejezca. La elección de tecnologías está fuera de nuestras manos, pero estamos seguros de que Cobol no morirá pronto. Los nuevos proyectos son poco probables, pero el dominio de mantenimiento es muy grande. Mi respuesta tal vez carece de información sobre cómo es el mercado "real", pero es cómo y por qué entré en mi empresa. Lo que mi empresa decidió hacer puede ser específico de Francia, pero estoy seguro de que encontrará soluciones comparables en su país.

En primer lugar, aceptamos pasantes y les pagamos el doble que el estándar. Nos preocupamos de no tener demasiados internos, solo un buen número que podamos cuidar y manejar (uno por grupo, es decir, uno en aproximadamente 12 personas). Luego, tratamos de ofrecer sistemáticamente un puesto al final de la pasantía, o un aprendizaje a tiempo parcial (curso sándwich, creo que lo llamamos en inglés). La idea es parecer lo más atractivo posible para los jóvenes y ofrecerles lo que necesitan (experiencia, estabilidad, buen dinero o simplemente una pasantía). Asegúrese de decirles que tiene contratos de mantenimiento por la década y que pueden progresar en la empresa a medida que adquieren más experiencia. No te garantizo que los mantendrás por más de 10 años, pero 3 o 4 de cada 10 podrían quedarse por más de 5 años.

También tenemos una fuerte asociación con escuelas y facultades alrededor. La idea es que nuestros jóvenes puedan tener una buena experiencia y compartirla con sus amigos/colegas, la universidad encuentra la manera de asegurarse de que sus estudiantes encuentren trabajo y tenemos un grupo de reclutamiento. También ofrecemos cooptación (obtienes una bonificación si sugieres un recluta que sea reclutado).

Cuando estaba aplicando, mis colegas me demostraron que tenían un ambiente de trabajo agradable sin tener que pasar por todo el lugar de trabajo como Google. Pueden ser toques simples como ofrecer un horario flexible, actividades con colegas o un asiento de masaje.

No tenemos miedo de contratar personas de diferentes ámbitos de la vida. Muchos de mis colegas son antiguos investigadores en biología y física. También tenemos una asociación con la agencia nacional de desempleo. Últimamente hemos conseguido un contrato con ellos a cambio de la contratación de 14 desempleados seleccionados por ellos. Los hemos formado durante 2 meses, los dejamos trabajar 3 semanas para ver cómo iban y ya están todos contratados.

Entonces, básicamente, lo que está sugiriendo es (hablando hiperbólicamente) contratar a personas mal calificadas y pagarles más de lo que valen (ya sea directamente o con beneficios), como una fuerza laboral leal que no se quejará de los ya - Base de código obsoleta y de mala calidad con la que tienen que vivir. Bueno, esto podría funcionar a corto plazo, pero a mí me parece una receta excelente si quieres que los proyectos se vuelvan aún más fuera de lugar y difíciles de mantener.
@leftaroundabout, tu crítica es más que un poco exagerada. ¿Dónde está tu respuesta? Esta respuesta discrepa coherentemente con la descripción de "callejón sin salida" aplicada a Cobol y describe una estrategia del mundo real que en realidad se está utilizando para mantener y mantener un proyecto Cobol.
@Wildcard Voté a favor de la respuesta de gnasher : los programadores que realmente tienen mucha experiencia al menos se asegurarían de saber cómo mantener el proyecto en un estado mantenible. Considerando los proyectos heredados en los que he estado involucrado, sé cuánto se pueden exacerbar los problemas si los programadores sin experiencia abordan los problemas de mantenimiento con parches de pirateo. (Es cierto que esas personas que tengo en mente no eran realmente programadores sino físicos, lo que ciertamente no ayudó...)
... Si tuviera que dar una sugerencia al OP, diría que primero invirtiera en construir un nuevo conjunto de pruebas unitarias escrito en un lenguaje moderno en torno al código anterior. Eso no interfiere con los "requisitos" del cliente, se puede usar para atraer a programadores que se enfocan en el lenguaje de prueba y solo puede mejorar la solidez. También allana el camino para migrar realmente el código de trabajo, sin embargo, sin comprometerse con tal movimiento. Pero, esto realmente no responde la pregunta, y ciertamente no es factible para todas las bases de código.
@leftaroundabout, en realidad es una buena sugerencia. Creo que responde a la pregunta, en cierto modo: atraer a los programadores para que trabajen en el conjunto de pruebas, que estará en un lenguaje moderno. Si lo publicaste como respuesta, lo votaría.
los comentarios de @leftaroundabout son algo extraños. (Tal vez hubo algún malentendido). Las prácticas comerciales descritas en esta respuesta son perfectas, y la empresa probablemente tenga un gran éxito financiero.
@Fattie No creo que haya un malentendido, solo valores diferentes. Yo valoro la tecnología, tú valoras el dinero. Eres exitoso financieramente, yo no. Estoy feliz. (Mi comentario sobre todo señaló que el dinero que está ganando aquí es deuda técnica . Si esto es realmente viable a largo plazo, no estaría seguro).
Está completamente equivocado al pensar que COBOL (y los sistemas financieros típicos) tienen deuda técnica porque, per se, son COBOL . muchos sistemas Swift-Kitura-AWS-Docker completamente nuevos están asombrosamente mal hechos, con una deuda técnica enorme, como usted dice. muchos sistemas COBOL / de la industria financiera están asombrosamente mal hechos, con una enorme deuda técnica, como usted dice. Pero claro, muchos sistemas COBOL/industria financiera están increíblemente bien diseñados, con cero deuda técnica y los valores más altos. De hecho ..
en mi experiencia , los sistemas modernos (aplicaciones, juegos, rofl www!) tienden a ser, en general, muy descuidados, con una gran deuda técnica.

Como dije en los comentarios, este es el tipo de trabajo que me gustaría (aunque trabajo principalmente en ciencias e ingeniería, no en aplicaciones comerciales), y no creo que esté solo.

Entonces, ¿cómo me atraes? Primero, esté dispuesto a contratar a personas mayores*. Creo que hay muchas personas que tienen mucha experiencia en estos lenguajes y que realmente disfrutan de la programación, especialmente si el proyecto es inherentemente interesante para ellos. Ofrezca trabajo a tiempo parcial, horarios flexibles y teletrabajo. Una buena paga ayuda, pero no tiene por qué ser espectacular. Francamente, en este momento de mi vida, no necesito trabajar (a menos que el presidente actual arruine totalmente la economía, en cuyo caso todos podríamos regresar al trabajo agrícola :-(), pero tampoco estoy interesado en estar "retirado".

*U otras personas con antecedentes no tradicionales, como por ejemplo una amiga mía de la universidad con mucha buena experiencia que tiene ~20 años, porque decidió ser madre a tiempo completo. Bueno, los niños han crecido y ella está aburrida, pero todos quieren recién graduados o personas que hayan reclutado en otras compañías.

Aunque sus sugerencias son sólidas, son básicamente un subconjunto o repiten lo que se indica en otras respuestas, como esta respuesta anterior y las que mencionan para apuntar a desarrolladores más antiguos. Recuerde que tenemos una política de copia de seguridad . ¿Algo nuevo que quieras aportar en tu respuesta?
@DarkCygnus: creo que mi respuesta difiere de la que vinculaste en un par de formas importantes en mi humilde opinión. En primer lugar, es más que una simple lista de viñetas. Lo segundo es lo que deja fuera. En mi humilde opinión, los dos últimos puntos de esa respuesta no ayudarían a atraer el tipo de empleados que quiere el OP. Para mí, en realidad son bastante negativos.

Sugeriría buscar personas entre los 30 y los 50 años, especialmente aquellos que están pensando en salir de TI porque ya no están en la escena de los brogrammers. Personas asentadas con niños, especialmente mujeres que no pueden trabajar en las horas ridículas de algunas empresas emergentes. Jubilados que ya no necesitan mantenerse al día con los Joneses.

Ofrezca cosas atractivas para este grupo, como guarderías pagas. Sin horas extras. Mucho tiempo de vacaciones. Horario flexible. Trabajo remoto. Tiempo parcial. A los jubilados les puede gustar especialmente la parte de tiempo parcial, ya que no van a querer trabajar a tiempo completo y no les va a importar tanto mantenerse al día.

Vea si puede ofrecer proyectos que sean una mezcla de algunos con tecnologías más antiguas y algunas cosas de vanguardia. O bien, ofrezca un 20 % de tiempo para trabajar en proyectos que utilicen cualquier tecnología que deseen aprender.

¿Las personas de 30 años son reliquias viejas que buscan jubilarse o salir de la programación?

Esta pregunta tiene respuestas con las que estoy totalmente de acuerdo, pero creo que les faltan algunos matices menores.

No creo que esté vendiendo muy bien sus puestos de nivel de entrada como aprendizaje. Intente usar una combinación de prácticas modernas de escritura de código (programación en pares, alguna versión de Agile) con las tecnologías antiguas con las que está trabajando, y haga que los chicos de nivel medio-junior que quieran dar el siguiente paso se interesen diciendo: "Hola , estos viejos saben COBOL / etc. como la palma de su mano. Eso te ayudará a codificar en lenguajes más fáciles mucho mejor".

Porque esa es la verdad. Ofrezca a los muchachos de nivel de entrada la oportunidad de heredar el conocimiento de docenas de idiomas / subidiomas que morirán, pero dejarán una gran huella que necesita mantenimiento y alguien que pueda entender el código para actualizar.

Además: actualiza tus herramientas y utiliza las mejores que puedas encontrar. Sistemas de compilación automatizados conectados al control de fuente, servidores en la nube si puede administrarlos, etc. Si tiene un entorno de programación de aspecto moderno que hace algo anticuado, puede obtener más productividad de sus empleados existentes y atraer mequetrefes como tú quieras.

A decir verdad, realmente no veo el problema de trabajar con COBOL durante un aprendizaje, especialmente si agrega una cantidad decente de Java a la mezcla. Claro, Java ha cambiado mucho con el tiempo, pero sigue siendo Java.

Al igual que con cualquier "¿cómo contratar programadores?" pregunta,

para bien o para mal, hay una y sólo una respuesta.

Dinero.


OP básicamente dice: "Nos resulta increíblemente difícil contratar {un cierto tipo de} programador..."

Pero espera. Es increíblemente difícil contratar CUALQUIER tipo particular de (buen) programador en este momento.

Si hay dos trabajos de programación disponibles, no es seguro que un programador determinado elija siempre el mejor pagado. Tal vez a los que realmente les lavaron el cerebro desde que eran niños pequeños y les dijeron que acumular un montón de dinero es de lo que se trata la vida ... esos son los que puede obtener con seguridad asegurándose de pagar el salario más alto.
El objetivo total de la vida es hacer el menor trabajo posible para que puedas vivir tu vida y disfrutar de tu familia. La única forma de "hacer menos trabajo" es "obtener más dinero". Menos dinero == esclavitud y trabajo hasta la vejez. Ganar menos dinero significa que 'quieres trabajar'; estás 'eligiendo trabajar' .
No te preocupes. De todos modos, probablemente no lo buscarán para ninguna oportunidad de trabajar para usted.
@mathreadler - hilarante :)
Me alegro de que al menos alguien pueda hacerte reír en esta época estresante :)
@Fattie: La idea habitual es hacer menos trabajo a lo largo de tu carrera. Un ejemplo sería trabajar duro para una jubilación anticipada. Para la mayoría de las personas, esto significa favorecer los trabajos que les ayudarán en sus carreras sobre los trabajos que pagan más en este momento. Esto parece un trabajo potencialmente mortal.
@DavidThornley, entiendo lo que quieres decir, simplemente no sé si se aplica en el alboroto y la demanda explosiva del mundo de la ingeniería de software, ¿sabes?
Cualquiera que tenga como lema de vida "trabaje lo menos posible por la mayor cantidad de dinero posible" y acepte un trabajo con un salario, parece estar perdiendo el sentido. Todas las personas que realmente piensan eso son consultores caros o dueños de un negocio, y no se sentirán atraídos por un trabajo asalariado.
Incluso si puede trabajar menos, seguirá pasando una cantidad sustancial de su día en su lugar de trabajo. Elegir un lugar de trabajo donde te diviertes menos y estás constantemente de mal humor solo para jubilarte un poco antes o trabajar unas horas menos a la semana me parece una locura. Prefiero tener 40 horas de trabajo divertido que 37 horas de trabajo de mierda y 3 horas de tiempo libre.

Tecnología de desfasaje. Ponga énfasis en el aprendizaje de habilidades universales.

Básicamente: "aprender a aprender".

Mucha gente aquí señala que aprender COBOL es un "callejón sin salida", promocionando como ejemplo lo contrario, por ejemplo. Primavera. Eso es bastante irrazonable. La primavera tiene apenas 15 años hoy. No es seguro asumir que algo puede durar toda la vida. Lo que necesita es romper esta idea preconcebida errónea y educar a los candidatos en el sentido de que su seguridad laboral no depende de ninguna tecnología en particular, sino de su capacidad para adoptar cualquier tecnología necesaria en un momento dado. Envuélvalo en algún término interesante y comercializable, como " agilidad entre idiomas ".

Además, puede hacer hincapié en la seguridad de la placa a largo plazo. La alta tasa de rotación en TI no es un objetivo en sí mismo, es simplemente una herramienta para aumentar el salario. Si ofrece un buen salario desde el principio, un promedio de más de 6 años es algo bueno. " Un trabajo en el que te querrás quedar ".

Sin embargo, cuando uno cambia de trabajo, especialmente si es junior, las habilidades generales no son tan importantes como la experiencia inmediata en una tecnología determinada. Para abordar esa preocupación, debe ofrecer cursos, talleres, proyectos paralelos y participación de código abierto , etc. en tecnologías modernas. Básicamente, un proyecto paralelo para estar al tanto de los desarrollos actuales. Algo que sus empleados podrían escribir en su currículum para no aparecer como 100% dedicado a la arqueología de TI. Para mí, sería más interesante reescribir un proyecto existente con nuevas herramientas solo para ver si funcionaría mejor, pero debería ser algo que su gente decida.

El tema final es el estado actual del mercado laboral. Todos tienen vacantes, pero no hay suficientes personas para llenarlas. Incluso en trabajos modernos como el mío, obtuvimos como 2 encuestados razonables para una publicación. La mayoría de los canales arrojaron exactamente 0, las únicas respuestas que obtuvimos vinieron de un grupo de FB. Tal vez intente eso, en lugar de tratar de convencer a los graduados producidos en masa a COBOL, busque personas que ya tengan curiosidad sobre la historia de la programación (o de bajo nivel) y capacítelos para que sean programadores .

Diversifica tu base de clientes. Usted afirma que no puede cambiar las pilas de tecnología debido a sus clientes, pero puede cambiar de cliente.

Su trayectoria actual tiene dos puntos finales preocupantes:

  1. No puede contratar nuevos desarrolladores, por lo tanto, no puede satisfacer las necesidades de los clientes y pierde a todos sus clientes.
  2. Sus clientes actualizan su tecnología, y su personal actual no puede o no quiere hacerlo, y usted pierde a todos sus clientes.
Además de los clientes que actualizan su tecnología, también pueden declararse en quiebra (o fusionarse, o lo que sea) o cambiar a una empresa competidora de "tecnología antigua".

Abordando el problema desde un ángulo ligeramente diferente:

Cabe destacar que muchas personas que ven una publicación de trabajo que dice "COBOL" simplemente mirarán hacia otro lado, porque es una tecnología nueva (para ellos) a la que ciertamente no han estado expuestos. Del mismo modo, Java 4 (o pre-4), y así sucesivamente. Creo que lo más importante aquí es anunciar, por adelantado y abiertamente, que no espera que la gente entre con CUALQUIER experiencia en COBOL ., y vivir fiel a eso. Habiendo pasado personalmente por un montón de entrevistas, hubo muchas empresas que dijeron en la pantalla de su teléfono "sí, usamos esa tecnología pero no esperamos que la gente realmente la sepa, puedes aprender en el trabajo" y luego el entrevista fue todo preguntas específicas sobre las minucias de esa tecnología. Esto no es bueno, y desafortunadamente muchas empresas hacen esto, por lo que "en realidad no lo requerimos en nuestro conjunto de habilidades" en la publicación de trabajo tiene poco peso con los solicitantes, en mi opinión.

Lo que podría ser más útil es, en su publicación de trabajo, explicar cómo se espera que los solicitantes aprendan estas tecnologías antiguas en la empresa, para demostrar que en realidad no las espera. Luego, durante el proceso de la entrevista, mantenga sus preguntas tan generales y agnósticas a la tecnología como pueda: tenga en cuenta que probablemente nadie a quien entreviste realmente tenga el conjunto de habilidades que está buscando, pero si se han postulado, entonces están dispuestos a hacerlo. aprenderlo; esto significa que hacer preguntas sobre esas tecnologías durante la entrevista probablemente sea una pista falsa y le dé muchos falsos negativos, es decir, personas que son buenos desarrolladores pero no conocen su pila tecnológica (como ya se ha establecido, nadie lo sabe). su pila de tecnología excepto usted, debido a su nicho de negocio).

La otra cosa a considerar es, ¿quiénes son sus solicitantes? En mi opinión, creo que probablemente puedas dividir a un buen candidato para tu empresa en uno de dos grupos:

1) Personas que son extremadamente inteligentes, extremadamente talentosas, para quienes la vida en Google es rutinaria y mundana, que buscan un desafío mayor en un nicho de mercado. Cuando dice que paga el doble que sus competidores, ¿está considerando a Google como un competidor? Porque para estas personas, su competidor es Google, Amazon, Twitter, Facebook, etc., es decir, los gigantes tecnológicos. Estas son personas que podrían ir a trabajar donde quisieran, pero lo eligen a usted porque creen que su empresa les brinda un desafío particularmente interesante. Sin embargo, estas personas quieren ser compensadas por lo que valen, y debe esperar pagarles lo que valen o no estarán interesadas.

2) Personas que no tienen otras opciones; sus habilidades con las tecnologías modernas apestan, por lo que van contigo porque "bien podría intentarlo". Estas personas tienen expectativas mucho más bajas, pero generalmente son desarrolladores mucho peores, por lo que es discutible si desea dirigirse a ellos de manera agresiva. Sin embargo, si lo hace, publicar en bolsas de trabajo probablemente no sea el lugar donde desea estar; estas personas ya han buscado en bolsas de trabajo, se han postulado a cientos de publicaciones y están hartas de la rutina. Para estas personas, debe ponerse en contacto con reclutadores/cazatalentos. Estos solicitantes pueden estar esperando que un cazatalentos los llame con cualquier descripción de trabajo nueva y brillante que esté sobre la mesa, y usted quiere que sea suya. Sin embargo, lo importante es que las bolsas de trabajo no van a atraer a estas personas; si quisieran un trabajo de una bolsa de trabajo,

Hay un tercer grupo, que son los desarrolladores que son tan viejos que crecieron en COBOL y Java 4. La razón por la que esos desarrolladores no están en discusión es porque están cerca de la edad de jubilación; incluso si se unieran a su empresa en masa, solo estaría retrasando el problema que tiene actualmente durante unos 5 a 7 años, y luego estaría en la misma posición nuevamente. Dirigirse a estas personas no es la solución que está buscando.

Una señal de una buena empresa es que se anticipan a sus necesidades de mano de obra y tienen un plan para satisfacer esas necesidades, independientemente de lo que el stock actual de desarrolladores desempleados tenga para ofrecer.

El enfoque opuesto es confiar en la suerte. Solo los tontos hacen eso.

Sus prácticas de contratación deben depender de la identificación de personas con aptitudes para el software. Es una ventaja si conocen los idiomas específicos que se ajustan a sus necesidades, pero la falta no debería ser un impedimento.

Su programa de capacitación de incorporación debe incluir un campo de entrenamiento para las habilidades específicas que necesita.

El producto estrella de mi propia empresa está codificado en COBOL. Contratamos talento de nivel de entrada y les enseñamos COBOL. También codificamos productos en C++. Contratamos talento de nivel básico para estos productos y les enseñamos C++. Lo mismo ocurre con C#, SQL, JavaScript, VBScript, etc.

Ofrecer los roles a tiempo parcial.

Aquellos que están cerca de la edad de jubilación, especialmente si han trabajado en COBOL durante décadas, tienen más probabilidades de buscar puestos de medio tiempo que los trabajadores más jóvenes. La mediana de horas trabajadas para personas de 56 a 75 años es menos de la mitad que para personas de 26 a 55 años en estas estadísticas de IFS , aunque ambas varían.

Puede parecer contraproducente conseguir empleados a tiempo parcial, ya que obtendrá menos trabajo por empleado difícil de contratar, pero es posible que pueda convencerlos de que agreguen horas después de que se hayan unido.

Aceptar segundos trabajos

Si viera tal oportunidad, lo único que me persuadiría a postularme sería la posibilidad de trabajar simultáneamente con tecnología actualizada. Si pudiera trabajar en mis habilidades en nuevas tecnologías (con un salario inferior al promedio) mientras hago este trabajo simultáneamente (con un salario alto), sería un compromiso aceptable.

O mezclar el papel

Si tiene una parte del negocio que trabaja con nuevas tecnologías, ofrezca un puesto mixto en el que el salario por encima del promedio le brinde al empleado tanto una nueva experiencia como el salario más alto de la tecnología anterior.

La mayoría de los roles de desarrollo de pequeñas empresas involucran un grado de nuevo mezclado con un grado de mantenimiento de lo antiguo (in)glorioso; a veces, aceptas que pasarás una semana arreglando algo que salió del arca, solo porque sí.

Ofrecer un ambiente muy familiar

Hay un gran agujero donde debería haber trabajos que se ajusten a los horarios familiares de personas calificadas pero orientadas a la familia. Un rol que combinara las oportunidades anteriores para aprender/usar tecnología actualizada, que pagara bastante bien y que fuera completamente flexible, sería un regalo absoluto. Tengo una familia, me encantaría poder trabajar entre recoger a los niños, con un par de días en casa, haciendo trabajo extra por las tardes o cuando me siento fuera de la lección de ballet.

Según el comentario de LeopoldT (OP):

Hasta donde yo sé mi empresa es la más grande del país para este tipo de proyectos. Y el único tan especializado en estas viejas tecnologías . Otro factor es que para los clientes es muy difícil pasar a la competencia después de 20, 25 o más años con nosotros: la cantidad de conocimiento que se transferirá es simplemente tremenda (también el dinero para gastar).

Si a su empresa todavía le va bien (es decir, con suficientes recursos), entonces una solución eficaz para atraer a las generaciones más jóvenes puede ser simplemente:

  • asigne X horas del tiempo actual de los desarrolladores para crear cursos sobre esas tecnologías;
  • crear contratos que incluyan un período de tutoría remunerado basado en estos cursos;
  • agregar cláusulas al contrato que requieran que el recluta trabaje cierta cantidad de tiempo después de tomar el curso (no un experto legal: esto puede no ser posible o puede necesitar ajustes);
  • publicidad en universidades con esos mismos cursos destacados (posiblemente solo se requiere una licenciatura y habilidades básicas de programación para las pruebas de detección), mencionando algo similar a: "Somos la empresa más grande que desarrolla con [lenguaje/tecnología de programación] en [país] y un ¡La progresión profesional estable podría estar esperándote con nosotros!" (Tampoco el experto en marketing... podrían ser necesarios algunos ajustes).

Recoger talento, formar talento, asegurar talento.

Esto no será barato, pero probablemente ya lo sabías. La buena noticia es que tiene una oportunidad única de centralizar los recursos para la tecnología obsoleta.

En primer lugar, coleccionar talento. Obtenga los mejores desarrolladores en sus campos que pueda. Reubicarlos desde donde sea. Probablemente pueda obtener un H1B no sombreado para esto para importar desarrolladores. Esto se convierte en su columna vertebral.

Tendrás que anunciar que tienes talento de sobra. Los blogs amigables con las redes sociales son probablemente tu mejor apuesta. Desea que muchos de sus mejores y más brillantes salgan a la luz pública con la esperanza de que uno o dos de ellos se conviertan en una celebridad menor. La gente de marketing apreciará la exposición, pero su verdadero objetivo aquí es actuar en la comunidad de desarrollo. Quieres que los otros jugadores A vean a personas que conocen y respetan. Atraerá más currículos y creará un círculo virtuoso de recolección de talento.

A continuación, formar talento. El nivel más alto de graduados universitarios está fuera de tus límites. Lo siento, pero así es la vida. Desea filtrar las sobras. Póngase en contacto con RR. HH. con las agencias estatales para averiguar quién está haciendo el reciclaje. Probablemente podrá establecer un plan de estudios, capacitarlos con los centavos del estado y pagar apenas la mitad de su salario durante los primeros 3 a 6 meses. Establezca expectativas apropiadas para ellos: este es un puesto de pasantía con la rara posibilidad de contratación, pero les pagará más dinero de lo que la mayoría de ellos nunca pensó posible si trabajan duro y tienen éxito. Haga ferias de carreras en los colegios comunitarios y tome susmejor y más brillante. Sea un patrocinador de algunos de esos programas en línea para aprender a contratar a su propio ritmo y consiga algunos emprendedores fuertes. Ofrezca una oportunidad a las personas que tienen un portafolio pero no un currículum (y probablemente métalos con los pasantes de cambio de carrera por seguridad). Si es necesario, reclute a la mitad inferior de los graduados en ciencias de la computación, pero lo evitaría si pudiera. Luego, los capacita utilizando una combinación de su talento acumulado y los mejores currículos estandarizados disponibles.

Finalmente, asegurar el talento. Una vez que hayan superado su período de prueba, no despedirá a nadie por ningún motivo . Usted deja esto muy claro en sus entrevistas y procesos de reclutamiento. Un trabajo en su empresa es un trabajo mientras siga las reglas y produzca resultados. Si ha hecho un buen trabajo reuniendo talento, se convertirá en un activo valioso para los clientes empresariales porque ya contrató a casi todas las personas que querrían. También puede hacerlo a escala porque, aunque los clientes individuales van y vienen, debe tener un grupo de clientes lo suficientemente grande como para mantener todas las facturas pagadas. Esa parte es problema de marketing.

Muchas de nuestras ofertas de trabajo para esos puestos reciben un número ridículamente bajo de solicitudes y menos aún son las personas que se muestran interesadas en nuestros proyectos obsoletos después de la primera entrevista.

Tu empresa apesta. El trabajo que ofreces apesta. La paga apesta. No se engañe pensando que es culpa de los solicitantes o de los entrevistados. eres tu Nadie quiere postularse para sus trabajos, los pocos que lo hacen, ni siquiera quieren continuar con la entrevista después de una primera reunión. No solo no está logrando atraer candidatos, sino que los está alejando activamente. (También se encuentra en medio de un período de desempleo más bajo en la historia de Estados Unidos). Necesita un cambio radical .

Nuestro salario está muy por encima del promedio, ya que un senior podría ser hasta el doble de los competidores.

Altamente improbable. Seamos realistas con los salarios. No insinúes con pistas y lenguaje codificado y hazme adivinar. No sé cuál es tu base de comparación. Dime lo que estás pagando. ¿Le estás pagando a la gente $350k+, 425k+? Eso posiblemente sería el doble. ¿Qué es un "senior" en su empresa? 5-10 años fuera? Entonces, ¿cómo es eso relevante para los solicitantes o entrevistados? ¿Cuál es el bono de Navidad: 15% del salario, o es una tarjeta de supermercado de $50?

NO PODEMOS cambiar la pila de los proyectos y el idioma utilizado

Lo que significa que necesita "comprar" (es decir, contratar) un recurso escaso: las personas dispuestas y capaces de trabajar en tecnología más antigua y obsoleta. La economía básica dice que un recurso escaso costará mucho más.

Ahora, hay personas que estarían felices de hacer este trabajo. Pero, como otras personas han dicho aquí, debe 1) pagarles mucho (es decir, más de lo que es cómodo para usted) y 2) ser ridículamente flexible con los horarios, la ubicación, el tiempo de vacaciones, la experiencia previa/disposición a capacitarse, la aceptación de trabajadores a tiempo parcial, mayores y 3) publique esto -- como dije, no me haga adivinar cuánto está pagando o si puedo trabajar desde donde quiera. Y tenga en cuenta que las personas más calificadas y competentes serán las más capaces de exigir salarios más altos y las menos dispuestas a aceptar la rigidez como horarios específicos, porque generalmente son personas capacitadas e inteligentes que han tenido carreras exitosas durante mucho tiempo. largo tiempo.

Trabajamos con grupos bancarios y aseguradores multinacionales/mundiales

Eso es una gran ventaja. Ahora mismo tienen mucho dinero .

Para que alguien acepte un trabajo, debe creer que es un buen trabajo por ahora y:

  • Cree sinceramente que será un buen trabajo para el resto de su vida laboral.
  • O cree que no les impedirá conseguir su próximo trabajo.

Como nadie puede predecir lo siguiente:

  • cuánto tiempo una empresa estará en funcionamiento
  • si la empresa será comprada y/o el trabajo se trasladará a otro país
  • si el empleado se verá obligado a irse debido a un mal jefe
  • si un empleado desea mudarse debido a una relación, etc.

La mayoría de las personas son lo suficientemente sensatas como para no creer que un trabajo es para toda la vida, a menos que solo planeen trabajar por unos años más .

La conclusión es la siguiente. La mayoría de los empleadores esperan personas con experiencia actualizada en los sistemas que están utilizando... por lo tanto, no hay nada que pueda hacer para atraer y retener candidatos, sin darles algo de trabajo en los sistemas modernos .

Por lo tanto, es posible que deba emprender proyectos adicionales que le permitan capacitar a todo el personal en sistemas modernos y brindarles la experiencia mientras pasan algunos meses al año en las tecnologías "obsoletas".

O tal vez puedas convertirte en el mejor empleador de la ciudad para la capacitación, y todos sabrán que cuando alguien ha trabajado para ti durante algunos años, puede conseguir trabajo en muchas otras empresas. También puede ofrecer contratos flexibles, cuidado de niños gratuito en el lugar de trabajo, arreglos de trabajo a tiempo parcial, y la lista continúa. Esencialmente, convertirlo en el único empleador en la ciudad que se adapta bien al estilo de vida de algunas personas.