Как привлечь людей к работе на очень старых и устаревших технологиях?

Я работаю в ИТ-компании, которая глубоко специализируется на проектах, сделанных с использованием старых и устаревших технологий.

Самые большие проекты обычно представляют собой смесь Cobol (самые старые версии, а не самые современные) и Java 4 (не менее 60 проектов в этом стеке), но у нас также есть проекты на Java 2 (менее 5), Java 3 (несколько дюжина), только Java 4 (не менее 30) и Java 5 и 6 (как правило, перевод без какого-либо рефакторинга архитектуры или логики проектов в более старых версиях Java). Обычно мы не используем какие-либо Java-фреймворки (такие как Spring, Hibernate и т. д.), главным образом потому, что на момент начала проекта этих фреймворков не существовало. У нас также есть сборка, сборка - Cobol, сборка - Cobol - Java (обычно Java 4), проекты C, C++, Fortran, Visual Basic (и, возможно, несколько других языков). Наши программные проекты часто не имеют графического интерфейса; когда он существует, он находится в Cobol или в JSP, отображающих таблицы (CSS почти не используется, и есть только несколько проектов, использующих ванильный Javascript). Наши проекты обычно длятся от 3 до 5 лет, но у нас также есть проекты, которые длятся более 20 лет (насколько я знаю, это очень и очень необычно в мире ИТ).

Мы НЕ МОЖЕМ изменить стек проектов и используемый язык, потому что это выбор клиентов. Мы работаем с многонациональными/всемирными банковскими и страховыми группами, которые широко используют эти языки. Например: всемирная банковская и финансовая группа имеет все свои внутренние системы (не только пакетные, но и те, которые используются операторами в филиалах) на Cobol на мейнфреймах. Единственная часть системы, которой нет в Cobol, — это домашний банковский сайт, который на самом деле не наш.

Люди, работающие в моей компании, согласно HR-статистике, остаются в среднем около 6 с половиной лет (другое дело, что в ИТ большая редкость), но у нас есть коллеги, работающие здесь по 20 или 25+ лет (может быть, над одним и тем же проектом или на одних и тех же проектах). Наша зарплата намного выше средней (статистика HR, разговоры с друзьями в других компаниях и простое сравнение наших списков вакансий с чужими), потому что старший может быть в два раза выше, чем у конкурентов.

В последние 5 лет (и даже больше, чем за последние 2 года) мы сталкиваемся с огромными трудностями при найме новых разработчиков, особенно джуниоров и мидлейнов. Многие из наших списков вакансий на эти должности получают смехотворно мало заявок, и еще меньше людей проявляют интерес к нашим устаревшим проектам после первого собеседования. Как мы можем переломить эту тенденцию?

Насколько велика ваша компания: несколько десятков человек или хотя бы несколько сотен разработчиков? Это имеет большое значение!
Что-то мне непонятно из вашего вопроса: ваша бизнес-модель размещение или аутсорсинг? Я могу придумать несколько ответов, которые относятся к одному, а не к другому.
Это кажется слишком широким — почти каждый метод найма, льготы для сотрудников (даже если удержание не является вашей проблемой — люди говорят и ищут разные вещи в работе, и это делает ваше описание работы более привлекательным) и вещи, которые улучшают имидж компании. применить здесь.
Включаете ли вы такие преимущества, как Remote?
@kdgregory извините, я не понял. За некоторыми исключениями, клиенты говорят нам «это технологии, это спецификации, нам это нужно, разрабатывайте решения», иногда также время и бюджет фиксируются клиентами. Итак, используя ваше определение, мы являемся "кузовным цехом", по крайней мере, для подавляющего большинства проектов.
@LeopoldT Возможно, стоит добавить к этому тег страны, так как возможные предложения могут отличаться в зависимости от региона.
Я думаю, что есть несколько хороших ответов, но это может помочь вам опубликовать пример одного из ваших списков вакансий. Могут быть очевидные вещи, которые мы даже не рассматриваем.
Я думаю, что для сообщества бесполезно откладывать такие вопросы как слишком общие. Сам вопрос очень конкретный. У них есть проблема, что им нужно нанять для ретро-техники. Но эта проблема требует творческих предложений потенциальных решений с самых разных точек зрения. На самом деле может быть один очень конкретный и превосходный ответ, и вы не можете знать, что его нет.
Я думаю, что клиенты просят Java, но не Java 2 вместо Java 4... В любом случае, я думаю, вам следует искать другую причину трудностей с наймом, потому что кажется странным говорить, что разработчики не хотят работать на Java или С++ уже нет.
Проголосовал, потому что C# войдет в такой список... скоро (если еще не был).
Выберите известный современный язык, который соответствует вашему варианту использования, преобразуйте код, написанный на этом языке, в код, написанный на этих анахроничных языках, используя транспиляторы, которые вы разрабатываете. Clojure и другие диалекты Scheme хороши в создании новых языков, они также должны быть хороши в создании старых языков. Однако, чтобы максимизировать воздействие (и минимизировать время разработки, когда транспиляторы написаны), я бы выбрал синтаксис стиля Javascript или Python для языка ввода. В качестве плюса вы можете продавать транспиляторы другим компаниям.

Ответы (25)

20% времени + открытый исходный код

Вы, наверное, слышали о политике Google 20% времени. По сути, любой сотрудник может попросить использовать до 20% своего времени на любимые проекты.

Я предлагаю вам реализовать что-то подобное.


Проблема работы с устаревшими технологиями в проектах технического обслуживания двояка:

  1. Устаревание технологических навыков: технологии, усвоенные в ходе проекта, не открывают ни одной двери; это означает, что азартные игры на пенсии до вашего опыта больше не нужны.
  2. Смерть творчества: техническое обслуживание, особенно в проектах с высокими ставками, часто требует самых хирургических изменений. Здесь много важных навыков, но я НИКОГДА не стал бы работать на работе, где невозможны масштабные улучшения.

Вот где 20% времени вступают в игру!

В их 20% времени поощряйте своих сотрудников веселиться. Я бы лично предложил участвовать в проектах с открытым исходным кодом, так как это имеет множество преимуществ как для вашей компании, так и для них:

  1. Это продвигает вашу компанию: смотрите, этим людям платят за то, чтобы они развивались на X, Y, ...
  2. Это помогает сотрудникам развивать навыки в интересующей их области: от ядер до фреймворков JavaScript/CSS, во всем, от графики, машинного обучения, больших данных и т. д.
  3. Это дает сотрудникам воронку для творчества: не сходите с ума по кодовой базе COBOL, вероятно, есть проект с открытым исходным кодом, который хотел бы, чтобы люди придумывали передовые дизайнерские идеи!

И, что самое приятное, когда один из ваших клиентов решит перейти на Big Data Framework X (я слышал, что это модно), вы, если повезет, сможете похвастаться: «Знаете, у нас как раз есть 3 участника для проект в нашей команде со всем опытом, который вам может понадобиться, чтобы помочь вам разработать ваше приложение!».


По-царски платят за работу над крутыми проектами с открытым исходным кодом по моему выбору?

Что ж, теперь это крутое предложение!

Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат .

Если вы рекламируете поиск кого-то с опытом работы с COBOL, вам не повезло. Так кто же мог выполнить эту работу? Кому-то меньше десяти лет до пенсии, кто может позволить себе перейти на тупиковую технологию и кто готов выучить новый/старый язык. Недавно я изучил Swift. По сравнению с этим COBOL примитивен (я это знаю, прошел двухнедельный курс в 1979 году). Нет проблем, чтобы узнать это вообще. Разместите рекламу для кого-то с опытом, который все это видел, предложите отличную зарплату с перспективами на несколько лет работы и скажите им, что они должны изучить COBOL, а не знать его.

PS Есть среды разработки, с которыми я бы не стал мириться, так что это может быть проблемой.

Я видел, как другие компании поступают по этому поводу, предлагая это малообеспеченным группам людей, например людям, вышедшим из тюрьмы, или выздоравливающим наркоманам. У них, вероятно, будет меньше вариантов, и они с большей вероятностью прыгнут на что-то подобное.
COBOL примитивен, но не мертв.
@ Thorbjørn Равн Андерсен «Тупик», а не «тупик». И это так. Новых коммерческих проектов с использованием COBOL нет. И обслуживание будет необходимо и оплачиваться только до тех пор, пока компании не перейдут на более современные технологии.
@ Кактурус Правда. Я неправильно прочитал то, что вы написали.
@Kakturus, ты забыл другую причину: сама компания умирает.
and tell them they are expected to learn COBOL, not know it.наверное ключ тут. Даже если бы я хотел начать карьеру в COBOL сегодня, я бы посчитал это невозможным, поскольку я думал, что каждая компания требует 10-летнего опыта работы с этим языком. Может быть, даже не называйте вакансию «Разработчик COBOL», а скорее «Разработчик программного обеспечения», чтобы больше людей посмотрели на нее и действительно рассмотрели ее.
Вам не нужно быть разработчиком COBOL, чтобы работать в COBOL. И то, что вы работали с COBOL, не делает вас разработчиком COBOL, это просто означает, что у вас есть некоторый (в основном бесполезный) опыт работы с COBOL. Однако работа, вероятно, будет довольно скучной и без реальных шансов на продвижение (как вы получаете при работе с современными технологиями), и вы должны рассчитывать на компенсацию разработчикам за это.
Одна из ключевых частей этого ответа — деньги. Заплатите достаточно денег, и они придут.
Старший человек, не так далеко от пенсии? Младший разработчик, желающий изучить COBOL? Персонал с техническим образованием, который, возможно, был уволен по сокращению штатов? Хотите пополнить свой пенсионный фонд? Эй, это я! Где указана эта работа...?
@Magisch: если клиентами являются банки, люди, вышедшие из тюрьмы, могут быть проблемой. Другие альтернативные целевые группы, OTOH, могут быть интересны.
Тюрьма @gazzz0x2z может быть проблемой, но не должна быть. При надлежащем просмотре кода будет невозможно проникнуть в код бэкдора. Если ОП создает произвольные барьеры для входа, то он / она не получает от меня сочувствия. Бывший директор ФБР сказал, что он не может нанять достаточное количество разработчиков программного обеспечения, работающих на ФБР, но ФБР не будет нанимать никого старше 35 лет. Как человек 40+, я говорю им.
@immibis the job will probably be quite boringYKMMV, некоторым людям по праву нравится бороться с византийским кодом, которому десятилетиями. Возможность поддерживать старые приложения ценна, компании, не связанные с ИТ, будут регулярно использовать старые приложения, потому что они работают, а создание новых не является их основным бизнесом. Я думаю, это то, что вы могли бы продать, но, если быть честными, это загоняет вас в довольно узкую область.
Чтобы добавить к этому еще одно измерение: не все компании, использующие кобол, похожи на клиентов OP, которые никогда не хотят меняться - многие активно хотят преобразовать свои устаревшие программы в более современный и популярный язык. Я думаю, что этот рынок будет только расти в течение следующего десятилетия. Найм программистов-полиглотов, желающих изучить кобол, позволит аутсорсинговой компании выйти на этот рынок.
Известная пародия « Если бы плотника наняли как разработчиков программного обеспечения » , где клиент идет с продавцом автомобилей для столярных работ, а не с плотником, потому что продавец автомобилей имеет больше опыта в коричневых автомобилях, чем плотник в коричневых лесах. Вкратце: программирование есть программирование, мыслительный процесс развивать сложнее, чем особенности языка.
Я бы решительно оспорил это утверждение, что COBOL является мертвой или тупиковой технологией. Это определенно не технология роста, и набор навыков не переместится в Силиконовую долину, но все еще есть смехотворное количество крупных компаний с состоянием 500, работающих на мэйнфреймах. Только в страховом и банковском секторах девелопер может работать в течение следующих 25 лет. Пока существуют огромные объемы вычислений больших данных, которые необходимо обрабатывать за одну ночь, мэйнфреймы будут продолжать существовать.
Идея о том, что COBOL — это «тупик», кажется странной. Свифт — это тупик. Go — это тупик. Помните, какой крутой и новой была цель-C? LOL. Более того, как правильно заметил Данк, COBOL — это >>> ОГРОМНОЕ <<< поле. Совершенно странно, что любой работающий программист не понимает, какие потоки, лавины, денег вы можете заработать, работая над САМЫМИ ПРИБЫЛЬНЫМИ СИСТЕМАМИ НА ЗЕМЛЕ (которые, конечно же, в Коболе). Где ты был?
Это не относится к COBOL. Очевидно, что более высокая оплата даст вам больше возможностей, но у COBOL на самом деле есть культ среди молодых программистов, и некоторые из них действительно хорошие программисты. Я знаю это, потому что в прошлом году мне предложили работу по написанию COBOL, и я начал копаться в этом, чтобы попробовать и посмотреть, как я себя чувствую, когда пишу и пытаюсь думать на COBOL, поэтому я взаимодействовал с сообществом. Вы правильно прочитали: существует сообщество COBOL! Мало того, студенты, изучающие компьютерные науки, знают, что существуют рабочие места на COBOL, и за них можно платить намного больше, чем за другие виды программирования. Не отвергайте это так легкомысленно!
точно так, как говорит @ L0j1k. Некоторые материалы на этой странице совершенно примечательны и исходят от настоящих программистов — любой, кто прошел хотя бы один курс по основам информатики в плохом местном колледже, знает, что между всеми языками программирования нет совершенно никакой разницы. Любой, кто хоть немного разбирается в компьютерных науках, должен знать, что любую абстракцию можно сконструировать из тривиального набора команд. Странный QA.

Это проблема растущего технического долга и приверженности устаревшим технологиям — количество людей, знакомых с технологией, сначала уменьшается медленно, а затем быстро, по мере того, как они стареют и покидают рабочую силу.

В конце концов, люди, которые разбираются в технологии, будут редкостью, как куриные зубы, и будут получать высокие зарплаты, если технология достаточно важна для бизнеса. В то же время количество предприятий, которым требуются люди с таким опытом, исчезающе мало.

Название игры в современной ИТ-среде — безопасность карьеры. Если вы продолжаете застревать в одном устаревшем стеке технологий, в конечном итоге вам будет все труднее и труднее найти новую работу. Вот почему младшие и средние разработчики не хотят к вам присоединяться — это может стать смертным приговором для их карьеры.

Лучшее, что вы можете сделать, — это начать регулярно обновлять свои текущие приложения и основные технологии в соответствии с современными стандартами. Это будет означать переписывание почти всего — возможно, полностью с нуля. Это будет долго, сложно и, скорее всего, дорого. Вот как вы привлекаете новых людей — говоря им, что вы обновляетесь до современных стандартов, используя новейшие технологические стеки.

В противном случае вы в конечном итоге обнаружите, что когда какое-то важное для бизнеса приложение или служба в конечном итоге сломается, никто не сможет даже попытаться это исправить.

Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат .

Может быть, будьте более подготовлены к найму пожилых людей, например, тех, кто возвращается на работу после того, как остался дома с родителями или опекунами.

Мой общий опыт показывает, что ИТ-индустрия невероятно стареет, часто в ущерб себе.

Это выглядит как самый рациональный ответ на сегодняшний день. Я знаю нескольких очень опытных разработчиков, которые топтались на месте в современных программных средах, чувствуя разочарование, когда их окружают бородатые чуваки, которые думают, что знают все, но не слушают людей, которые ИЗОБРЕЛИ системы, которые они используют! Стоит также отметить, что большинство этих устаревших гениев — женщины. (Раньше вычислительная техника была работой для девушек, на случай, если бородатые парни не заметят этого.) Так что рекламируйте специалистов постарше. Может быть, даже спросить некоторых из них, что могло бы побудить их подать заявку, и подумать о том, чтобы нацеливаться на женщин.
+1 Пенсия с коротким периодом начисления прав также могла бы помочь привлечь опытных программистов старшего возраста и, как предложил другой, не требовать от них знания языков, быть готовыми к обучению.
На практике это означает такие вещи, как: неполный рабочий день или совместительство, удаленная работа (частично или все время) с поддержкой (т. е. оборудованием, мебелью и т. д.), уход за детьми, щедрый отпуск по болезни страховки, пакеты на переезд и супружеская поддержка, хорошая пенсия. Использование процесса найма без учета возраста и пола (и рекламы того, что вы делаете) также поможет продемонстрировать поддержку потенциальным кандидатам.
Мой знакомый, инженер-механик, сейчас работает над COBOL в банке. Он говорит, что 64% ​​мировых банковских систем все еще работают на этих языках каменного века. Он один из многих менее амбициозных инженеров в Индии, которым трудно найти работу в нужном направлении, и вскоре у них появляется семья, которую нужно кормить. Поэтому они берутся за любую работу с меньшей конкуренцией и получают ежемесячную плату в течение достаточно долгого времени, чтобы содержать семью. Даже не имея особых льгот, они будут делать свою работу без нареканий столько, сколько вам нужно.
Один из моих преподавателей в колледже (не знаю, сколько ему было лет, но он был седым и лысеющим) знал КОБОЛ, поэтому люди, которые его знают, все еще существуют — они еще не в доме престарелых.

Вы с трудом понимаете, почему так много разработчиков, специализирующихся на старых языках, делают сейчас серьезные деньги.

Для молодого разработчика внедрение этих технологий сейчас проигрышно — передовой опыт и возможности настолько далеки от того, что было тогда, а разработка программного обеспечения — это такая быстро развивающаяся область, что если вы не работаете с новейшими и величайших или, по крайней мере, наиболее широко используемых технологий, вы серьезно подрываете свою собственную карьеру. Им придется ожидать, что через 20 лет так мало людей будут заниматься такими вещами, как Fortran или COBOL, что их недавно приобретенный набор навыков будет бесполезен — мрачное предположение.

Так что делайте то, что должны: предлагайте обучение без отрыва от работы людям, которых в противном случае нигде бы не взяли на работу, прямо упомяните, что вы будете нанимать людей с судимостью за уголовные преступления (если вы можете согласовать это со страховкой), предложите более чем конкурентоспособные условия. зарплата, лучшие льготы.

Суть здесь в том, что вы просите новых разработчиков пожертвовать своими будущими карьерными перспективами, поэтому вы должны адекватно компенсировать это.

Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат .
Я не согласен со словом "больно" здесь. Нет никаких признаков того, что доходы или прибыль компании ОП страдают. На самом деле, поскольку их клиентами являются многонациональные банки, получающие максимальную прибыль, компания ОП, вероятно, также процветает. Дело не в том, что они не могут платить, они просто не хотят платить. И ужасно, что миллиардные компании сетуют на рост затрат на рабочую силу, что может снизить прибыль на % или два, в то время как реальные люди изо всех сил пытаются позволить себе здравоохранение, или первое повышение за 5 лет, или арендную плату на всю жизнь, потому что они никогда не поймали вплоть до взрыва цен на жилье.
  1. Удаленная разработка . Позвольте им выбирать их базовую стоимость и образ жизни.
  2. Гибкое время. Пусть работают, когда хотят.
  3. Высокая зарплата . Пусть они знают, что их ремесло ценится.
  4. Стабильность. Пусть они знают, что это долгосрочная перспектива.
  5. Весело. Пусть они знают, что технические задачи так же интересны, как и прежде.
  6. Коллектив. Организуйте клубную атмосферу вокруг обслуживания этой ретро-инфраструктуры.
Я бы добавил фриланс . Я предполагаю, что многие инженеры на пенсии были бы заинтересованы в фрилансе ради развлечения или дополнительных денег, и многие инженеры среднего или младшего уровня были бы готовы сделать это в качестве подработки, если они приобретают опыт работы на другом основном языке.
Все это хорошие вещи для привлечения людей в любую компанию и среду, но это не относится конкретно к проблемам этого вопроса.
@ gnasher729 Это точно решает проблемы этого вопроса.
Этот ответ имеет отношение к вопросу, потому что это солидный список преимуществ, которые можно использовать для привлечения людей к работе над очень старыми и устаревшими технологиями.
@GustavBertram абсолютно! Удивительно, как много людей могут достичь или готовы попробовать взять на себя, если у них есть некоторая гибкость - особенно мы, пожилые люди :о)

Вы должны предложить достаточно высокую заработную плату, чтобы компенсировать соискателям негативное влияние на их карьеру, которое окажет специализация на устаревших технологиях.

Если у вас слишком мало соискателей, которые хотят устроиться на работу, как только узнают о ней, то предлагаемая вами зарплата слишком мала.

В качестве альтернативы: можете ли вы изменить спецификацию работы, чтобы люди, занимающие эту должность, не тратили больше половины своего времени на работу с устаревшей техникой? Это могло бы снизить беспокойство кандидатов по поводу того, что они в конечном итоге застрянут с бесполезными навыками.

"негативное влияние на их карьеру" - хороший момент, чтобы поднять. Некоторые разработчики захотят работать над проектами не только из-за работы, но и из-за того, что будущие работодатели увидят в своем резюме.
Работа с устаревшими языками программирования также может быть преимуществом. Мне ежедневно приходится иметь дело с IBM JCL и Fortran 77. Тем не менее, я делаю вещи, которые я не считал возможными, они на самом деле очень универсальны. Я стал лучшим программистом благодаря знакомству с этими языками.
И дайте клиентам прогноз увеличения стоимости обслуживания их устаревших систем вместе с предложением по их рефакторингу.

Никакого JavaScript, никакого CSS, никаких малопонятных аннотаций, только Java... Уже одно это, безусловно, привлекает мое внимание...

Увеличьте охват вашего предложения

Старайтесь участвовать в университетских мероприятиях. В моем университете была неделя, когда компании приходили в кампус и выступали с речами о том, чем они занимаются и почему они являются хорошим рабочим вариантом. Тогда они с удовольствием собирали резюме заинтересованных студентов. Возможно, вы даже получите платный грант, чтобы узнать друг друга изнутри.

Привлечь их внимание

В настоящее время существует больше фреймворков, чем программистов, и здорово, что вы используете новейший фреймворк, который избавляет вас от необходимости печатать точку с запятой в конце каждой строки...

Итак, почему программиста может привлечь старый стек технологий? Никакого JavaScript, никакого CSS, только Java было бы для меня достаточно хорошей крылатой фразой (не относящейся ни к какому фильму ).

Зарплата уже упоминалась. Как насчет гордости? Эта работа подходит не всем, вам нужно быть способным разработчиком, потому что вы не можете просто просмотреть SO в поисках решения... Может быть, эта работа предлагает интеллектуальные задачи, которые заставят вас полюбить ее.

Когда вы размещаете предложение о работе в Интернете, создайте ощущение, что компания — это не динозавры с компьютерами (извините, но это первое, что приходит мне в голову, когда я читаю COBOL). Есть ли какие-либо действия, выполняемые вашими работниками, к которым могут присоединиться посетители, если они будут наняты? Лазерные игры, может быть?

Предложение о работе позволяет вам работать несколько дней в неделю из дома после стажировки?

Заинтересуйте их своим предложением

Для некоторых людей заработная плата может быть не тем, что привлекает их внимание, а тем, что поддерживает их интерес. Еще один типичный пример — обучение: я очень ценю работу, за которую выдаются официальные (вне компании) сертификаты.

Если технологии необычны или редки, вашим кандидатам может потребоваться стабильность работы. Вы предлагаете долгосрочный контракт? Кроме того, каковы шансы на внутреннее продвижение?

+1. Есть люди, которым действительно нравится решать уродливые проблемы с помощью плохих инструментов. Я один из них. Их меньшинство, но они есть. Вы должны придумать «маркетинговую стратегию», которая достучится до них и привлечет их. Университетские факультеты математики и естественных наук — хорошее место для их поиска. Многие люди вполне довольны работой с FORTRAN или даже с ассемблером и, вероятно, получают небольшую долю того, что вы обычно предлагаете.
«Никакого JavaScript, никакого CSS, никаких малопонятных аннотаций, только Java…» Что сказать??? Вы понимаете, что javascript и java не имеют абсолютно никакого отношения друг к другу?
@ChrisStratton Конечно, только аннотации напрямую связаны с Java. Однако обычно они являются частью одного и того же технологического стека.

Я работал в компании (в качестве консультанта), которая технически была частной организацией, но мне было разрешено работать исключительно в органах власти местного города.

Как это обычно бывает с разработкой программного обеспечения для государственных органов (по моему опыту), проекты были не очень хорошими. Я работал над недокументированной платформой социального обеспечения 25-летней давности, которая когда-то была написана на COBOL, перенесена на VB неконтролируемыми стажерами, перенесена на VB.Net без рефакторинга, если только это не сломало сборку, и над ней работало несколько поколений малоквалифицированных команд разработчиков. отсутствие чувства сопричастности и оставление проекта недокументированным и более фрагментированным, чем он уже был.

Таких проектов было много. Около 80% работы было сосредоточено на поддержании работоспособности устаревших кодовых баз, зараженных спагетти-кодом, потому что правительство не могло выделить бюджет на его улучшение.

Короче говоря, разработчики начали массово уходить. Остались только те, кто не знал (или не пытался) лучше, что только усугубляло проблему.

Когда компания получила увеличение бюджета на один год, они решили провести рефакторинг компании , чтобы сохранить более молодых и опытных сотрудников. И им это удалось.

Что они сделали, так это (в частном порядке) признали дерьмовые проекты и предложили значительно увеличить баланс между работой и личной жизнью:

  • Задания выдаются 1-го числа месяца. Ожидается, что вы доставите их в конце месяца.
  • Все, что происходит между этими датами, зависит от вас. Работайте из дома, когда захотите (все, что вам нужно было сделать, это включить это в свой план).
  • Руководство не ставит сроки. Разработчик (случайный выбор для покерной сессии, очень похожий на обязанности присяжных) сам устанавливает сроки, а клиенты соглашаются. Компания (насколько мне известно) никогда не заставляла разработчиков снижать расчетные часы.
  • Офисы были заменены на гибкие пространства. На некоторых этажах были дополнительные столы (для тех, кто часто устраивает встречи или беседы), на других этажах были только маленькие столики для одного человека (для тех, кто хочет работать в тишине и покое).
  • Помимо присутствия на собраниях (обычно раз в две недели), никакого участия не требовалось.
  • Работа оценивалась по конечному результату, а не по затраченному времени.
  • Внутренняя сеть компании была подключена к сети, что позволило работать из любого места, где есть подключение к Интернету.
  • За исключением репозитория кода (внутренняя TFS), все инструменты (включая электронную почту) были доступны на каждом ПК с соответствующим входом в систему.
  • Если вы не можете выполнить поставленные задачи, вы либо получаете одобрение своего менеджера проекта на перенос сроков, либо вы можете пойти и убедить клиента напрямую (примечание: большинство разработчиков в любом случае уже связались бы с клиентом напрямую). Пока либо компания, либо клиент соглашаются, все в порядке.
  • Заявки на отпуск одобряются практически независимо от графика (примечание для иностранцев: здесь мы указали оплачиваемый отпуск, и количество (оплачиваемых) отпускных дней известно вам и вашему работодателю).
    • Анекдотический случай: однажды мне пришлось отпроситься на три месяца (по рабочим причинам, а не из-за отпуска). Не говоря ни слова, ПМ повернулся к своему ноутбуку, открыл электронную таблицу, поставил 0 в трех столбцах, и на этом все закончилось. Нет обсуждения.

Улучшило ли это качество проектов? Нет. На переработку этих приложений по-прежнему не было ни бюджета, ни времени.

Но компания начала удерживать хороших разработчиков, и спокойная рабочая среда давала им более чем достаточную свободу, чтобы компенсировать неприятную в остальном работу над проектом.

Раньше компания задыхалась от неквалифицированных (или не желающих) сотрудников, которые не вносили реального вклада, но создавали больше работы, пытаясь выглядеть занятыми. Очень трудно избавиться от этих сотрудников, когда они превосходят численностью «квалифицированных» разработчиков.
Может быть, это применимо не везде, но менталитет «создать работу, чтобы создать гарантии занятости» — это то, что стереотипно приписывается здесь государственным служащим. Это очень распространено.

Поскольку компания предоставила сотрудникам почти преступную свободу, сотрудники чувствовали себя достаточно свободными, чтобы больше не выглядеть занятыми. Работа оценивалась по конечному результату, а не по времени, затраченному на работу.

Я читал и другие случаи, когда компании экспериментировали с системой «бесплатных отпусков», т. е. сотрудники могли брать столько отпусков, сколько хотели. И, как оказалось, средний размер отпуска существенно не изменился по сравнению с жесткой системой отпусков, которая была у них раньше.
Некоторое злоупотребление имело место, но многие сотрудники чувствовали себя достаточно свободными, чтобы брать отпуск, когда хотели, поэтому они стали менее настаивать на конкретных днях отпуска, которые им были отведены.

Лично я предвещал крах компании, но я должен исправиться. Хотя качество работы не улучшилось, им удалось компенсировать ужасные проекты удивительным балансом между работой и личной жизнью.

Очаровательный. Похоже, они создали среду, в которой отличное применение принципов разработки программного обеспечения может постепенно (очень постепенно) привести к реальным улучшениям самой кодовой базы. (Как отмечено в книге, на которую я дал ссылку, первая цель — просто довести кодовую базу до точки, в которой со временем она становится лучше, а не хуже. Но, как отмечено в этой книге, реальная первая цель — это есть разработчики, которые хотят , чтобы все стало лучше.)
@Wildcard: За 2 года после изменения, в течение которых я все еще работал там, код не сильно улучшился. Компания просто прекратила кровоточить разработчиков. У клиента было мало стимулов (включая бюджет) для улучшения вещей, поэтому я понимаю, что компания не собиралась платить за редизайн чего-то без документации с действующим контрактом на обслуживание 24/7. Но это больше относится к правительству как к клиенту, чем к самой компании. Однако я согласен с тем, что это был смелый шаг, который оправдал ожидания большинства людей.
Правильно. Но перепроектирование было бы ошибкой и пустой тратой денег, когда существующая система действительно работает и удовлетворяет потребности реального мира. Наиболее полезная и применимая здесь глава этой книги — « Рефакторинг — это о возможностях » .
@Wildcard Имейте в виду, что правительственные структуры находятся в постоянном развитии из-за меняющегося законодательства. Они не строятся после настройки более поздних приложений. Отсутствие рефакторинга фактически сокращает рабочий день до менее чем 4 часов.
Я не совсем понимаю смысл этого комментария, но вы читали статью? Я думаю , мы согласны. :)

Я работаю в ИТ-компании, которая глубоко специализируется на проектах, сделанных с использованием старых и устаревших технологий.

Крупнейшие проекты обычно представляют собой смесь Cobol...

Рассмотрите возможность изменения мышления и подхода вашей компании. Вместо того, чтобы требовать просто знания Cobol (и вашего программиста, чтобы кодировать только на Cobol), также попросите об опыте статического анализа исходного кода и наймите людей, способных использовать или даже разрабатывать методы статического анализа исходного кода (возможно, даже некоторые полуавтоматические методы внутри компании ). кодовый преобразователь/анализатор). Этот рынок более привлекателен (технологически). Конечно, вам нужно будет предложить конкурентоспособную заработную плату (и, возможно, вы наймете разработчиков с докторской степенью).

Кстати, я знаю несколько компаний (специализированных малых и средних предприятий), которые занимаются статическим анализом исходного кода (и полуавтоматическим преобразованием/рефакторингом кода) на коде Cobol, которому десятки лет.

Человек, проработавший несколько лет над анализом исходного кода Cobol, вероятно, позже найдет другую интересную работу (например, перейдет в другую компанию, занимающуюся анализом исходного кода Java). Специалист по Коболу (только) должен остаться в этом мире (и делает ставку на то, что в Коболе будет еще какая-то работа). Конечно, анализаторы исходного кода часто написаны (сами инструменты, а не код, который они анализируют) с использованием причудливых технологий (например, Ocaml, Haskell и т. д.).

Конечно, вы также будете продавать своим клиентам услугу рефакторинга (возможно, даже частичного переписывания) старого кода Cobol (поэтому убедите их, что технический долг — это проблема). И это не дешево.

Кстати, если вы знаете какое -либо европейское проектное предложение H2020 или будущего FP9 , где может подойти такая работа — статический анализ исходного кода Cobol, а не рефакторинг кода Cobol вручную (но в июле 2018 года я ничего не знаю) — или если вы хотите предложить прямой производственный контракт с моим работодателем CEA, СПИСОК -, не стесняйтесь обращаться ко мне по электронной почте, чтобыbasile.starynkevitch@cea.fr. Я работаю в лаборатории с навыками статического анализа исходного кода (но наши текущие инструменты не нацелены на COBOL; мы могли бы адаптировать их для COBOL — не уверен, что это технически целесообразно — или разработать инструменты статического анализа COBOL, если и только если мы для этого есть финансирование; мое наивное мнение состоит в том, что ваш рынок может быть недостаточно большим для этого: разработка инструментов статического анализа стоит дорого и требует времени. Но если ваша компания или клиент может позволить себе проект на миллион евро в течение 4 лет, пожалуйста, свяжитесь со мной. ; более вероятно, что вам лучше - и это сложно - установить сеть и найти несколько других компаний, готовых разделить риск и затраты).

Мое наивное мнение состоит в том, что навыки, которые вам нужны, стоят дорого, но не настолько. Через несколько лет они могут стать еще более дорогостоящими и редкими, и тогда статический анализ и полуавтоматический подход к рефакторингу будут иметь гораздо больше смысла. Ваша компания может сделать ставку на это и начать создавать собственный статический анализ исходного кода кода Cobol. И да, это занимает годы и дорого стоит. Серебряной пули не существует .

+1. На самом деле я думал об этой проблеме раньше и пришел к выводу, что транспиляция с более современного языка на более старый язык может быть способом решить эту проблему. Вам придется разработать технологию, но это было бы чрезвычайно ценно, поскольку у многих крупных финансовых учреждений именно проблема, описанная @LeopoldT.

Вкратце: на эти роли не стоит рассчитывать на юниоров.

Есть несколько очень отличных комментариев, и я не могу эффективно перечислить авторов исходных текстов, но эти пункты в основном таковы:

Вы предлагаете кому-то пойти на бесперспективную работу и рискуете остаться без работы.

В списке есть только один наилучший сценарий: человек, работающий над этими старыми стеками, уходит на пенсию раньше, чем стек.

Для юниора мы говорим о 30-40 годах... вы действительно не ожидаете, что проработаете на месте в течение такого периода времени, особенно если вы не сможете получить другую работу после работы там. Если я получу 5-летний опыт работы со всеми технологиями, с которыми вы работали, что именно это даст мне для моей следующей работы? Увеличит ли это мою возможность трудоустройства или уменьшит ее?

Я не думаю, что вы можете реально ожидать, что юниоры пойдут на эти должности. Это чрезвычайно рискованная карьера, и если вы не предложите какую-то крупную досрочную пенсию, риск чрезвычайно высок... они присоединяются к вашей компании, работают 5-10 лет, женятся, заводят детей, а потом вдруг стать безработным.

Вы должны принять свою бизнес-модель и подумать, реально ли нанимать джуниоров.

Я младший разработчик, работающий в компании с теми же ограничениями и языками, что и у вас, и я не согласен с людьми, говорящими об обновлении ваших технологий или ожидающими старения населения. Выбор технологий не в наших руках, но мы уверены, что Cobol не скоро умрет. Новые проекты маловероятны, но область обслуживания очень велика. Мой ответ может заключаться в том, что мне не хватает понимания того, на что похож «настоящий» рынок, но это то, как и почему я попал в свою компанию. То, что решила сделать моя компания, возможно, специфично для Франции, но я уверен, что вы найдете аналогичные решения в своей стране.

Во-первых, мы берем стажеров и платим им в два раза больше нормы. Мы заботимся о том, чтобы стажеров было не слишком много, а лишь небольшое их количество, о котором мы можем позаботиться и с которым мы можем справиться (по одному на группу, т.е. по одному на примерно 12 человек). Затем мы пытаемся систематически предлагать должность в конце стажировки или обучение на неполный рабочий день (думаю, мы называем это сэндвич-курсом по-английски). Идея состоит в том, чтобы выглядеть максимально привлекательно для юниоров и предлагать им то, что им нужно (опыт, стабильность, хорошие деньги или просто стажировку). Обязательно сообщите им, что у вас есть контракты на техническое обслуживание на десятилетие, и что они могут продвигаться в компании по мере накопления опыта. Я не гарантирую, что вы сохраните их на 10+ лет, но 3 или 4 из 10 могут остаться на 5+ лет.

У нас также есть прочные партнерские отношения со школами и факультетами вокруг. Идея состоит в том, что наши джуниоры могут получить хороший опыт и поделиться им со своими друзьями/коллегами, университет найдет способ убедиться, что их студенты найдут работу, а у нас есть кадровый резерв. Мы также предлагаем сотрудничество (вы получаете бонус, если вы предлагаете нанятого рекрута).

Когда я подавал заявку, мои коллеги показали мне, что у них приятная рабочая среда, без использования всего Google как рабочего места. Это могут быть простые предложения, такие как гибкий график, занятия с коллегами или массажное кресло.

Мы не боимся нанимать людей из разных слоев общества. Многие из моих коллег — бывшие исследователи в области биологии и физики. У нас также есть партнерские отношения с национальным агентством по безработице. Недавно мы заключили с ними контракт в обмен на прием на работу 14 отобранных ими безработных. Мы сформировали их за 2 месяца, они дали им поработать 3 недели, чтобы посмотреть, как у них дела, и теперь они все наняты.

Таким образом, в основном то, что вы предлагаете, это (гиперболически говоря) нанимать людей с плохой квалификацией и платить им больше, чем они того стоят (будь то напрямую или с льготами), в качестве лояльной рабочей силы печатной обезьяны, которая не будет жаловаться на уже - некачественная и устаревшая кодовая база, с которой им приходится жить. Ну, это может сработать в краткосрочной перспективе, но для меня это звучит как отличный рецепт, если вы хотите, чтобы проекты стали еще более оторванными от реальности и сложными в обслуживании.
@leftaroundabout, ваша критика более чем чрезмерна. Где твой ответ? Этот ответ последовательно не согласуется с описанием «тупика», применяемым к Cobol, и описывает стратегию реального мира, которая фактически используется для укомплектования и обслуживания проекта Cobol.
@Wildcard Я проголосовал за ответ грызуна : программисты, которые на самом деле имеют большой опыт, по крайней мере, обязательно знают, как поддерживать проект в пригодном для обслуживания состоянии. В то время как из устаревших проектов, в которых я участвовал, я знаю, насколько проблемы могут усугубиться, если проблемы обслуживания будут решаться неопытными программистами с помощью хакерских патчей. (Правда, те люди, которых я имел в виду, на самом деле были вовсе не программистами, а физиками, что, конечно, не помогло...)
... Если бы мне пришлось дать предложение ОП, я бы посоветовал в первую очередь инвестировать в создание нового набора модульных тестов, написанного на современном языке на основе старого кода. Это не противоречит никаким «требованиям» заказчика, может быть использовано для привлечения программистов, ориентирующихся на язык тестирования, и может только повысить надежность. Кроме того, это прокладывает путь для фактического переноса рабочего кода, но без совершения такого шага. Но на самом деле это не отвечает на вопрос, и, конечно, это невозможно для всех кодовых баз.
@leftaroundabout, это действительно хорошее предложение. Я думаю, что это в некотором роде отвечает на вопрос: привлечь программистов к работе над набором тестов, который будет на современном языке. Если бы вы разместили это как ответ, я бы проголосовал за него.
комментарии @leftaroundabout несколько странные. (Возможно, произошло какое-то недопонимание.) Деловая практика, описанная в этом ответе, идеальна, и компания, вероятно, чрезвычайно успешна в финансовом отношении.
@Fattie Я не думаю, что есть недоразумение, просто разные значения. Я ценю технику, ты ценишь деньги. Ты успешен в финансовом плане, а я нет. Я счастлив. (В моем комментарии больше всего отмечалось, что деньги, которые вы здесь зарабатываете, - это технический долг . Я не уверен, действительно ли это в долгосрочной перспективе.)
вы совершенно ошибаетесь, полагая, что COBOL (и типичные финансовые системы) имеют технический долг , потому что сами по себе они являются COBOL . многие совершенно новые системы swift-Kitura-AWS-Docker поразительно плохо сделаны, с огромным, как вы говорите, техническим долгом. многие системы COBOL / финансовой индустрии поразительно плохо сделаны, с огромным, как вы говорите, техническим долгом. Но с другой стороны, многие системы COBOL / финансовой индустрии невероятно хорошо спроектированы, с нулевым техническим долгом и самыми высокими ценностями. Фактически ..
по моему опыту , современные системы (приложения! игры! rofl www!), как правило, очень небрежно собраны вместе, с большим техническим долгом.

Как я сказал в комментариях, это та работа, которую я бы хотел (хотя я работаю в основном в области науки и техники, а не в бизнес-приложениях), и я не думаю, что я одинок.

Так как ты привлекаешь меня? Во-первых, будьте готовы нанять пожилых* людей. Я думаю, что есть много людей, которые имеют большой опыт работы с этими языками и которым действительно нравится программировать, особенно если проект по своей сути им интересен. Предлагаю неполный рабочий день, гибкий график и удаленную работу. Хорошая оплата помогает, но она не должна быть впечатляющей. Честно говоря, на данном этапе моей жизни мне не нужно работать (если только нынешний президент полностью не облажается в экономике, и в этом случае мы все можем вернуться к сельскохозяйственному труду :-(), но я также не заинтересован в будучи «пенсионером».

*Или другие люди нетрадиционного происхождения, как, например, моя подруга из университета с большим опытом работы, которой около 20 лет, потому что она решила стать мамой на полную ставку. Что ж, дети выросли, и ей скучно, но всем нужны либо новые выпускники, либо люди, которых они переманили из других компаний.

Хотя ваши предложения верны, они в основном представляют собой подмножество или повторяют то, что указано в других ответах, например, в этом более старом ответе и в тех, которые упоминаются для более старых разработчиков. Пожалуйста, помните, что у нас есть политика резервного копирования . Что нового вы хотите внести в свой ответ?
@DarkCygnus: я думаю, что мой ответ отличается от того, на который вы ссылаетесь, несколькими важными ИМХО способами. Во-первых, это больше, чем просто список пунктов. Во-вторых, то, что он пропускает. ИМХО, последние два пункта этого ответа не помогут привлечь сотрудников, которых хочет ОП. Лично для меня они скорее негативные.

Я бы посоветовал искать людей в возрасте от 30 до 50 лет, особенно тех, кто думает об уходе из ИТ, потому что они больше не занимаются программированием. Оседлые люди с детьми, особенно женщины, которые не могут работать в смехотворные часы некоторых стартапов. Пенсионеры, которым больше не нужно идти в ногу с Джонсами.

Предложите что-то привлекательное для этой группы, например платный детский сад. Никаких сверхурочных. Много времени отпуска. Гибкие часы. Удаленная работа. Неполная занятость. Пенсионерам особенно может понравиться неполный рабочий день, поскольку они не захотят работать полный рабочий день и не будут так сильно заботиться о том, чтобы оставаться в курсе событий.

Посмотрите, можете ли вы предложить проекты, которые представляют собой смесь старых технологий и передовых технологий. Или предложите 20% времени для работы над проектами с использованием любой технологии, которую они хотят изучить.

Люди в возрасте 30 лет — это старые реликвии, желающие уйти на пенсию или уйти из программирования?

На этот вопрос есть ответы, с которыми я полностью согласен, но я считаю, что в них не хватает нескольких незначительных нюансов.

Я не думаю, что вы очень хорошо продаете свои должности начального уровня в качестве ученичества. Попробуйте использовать комбинацию современных практик написания кода (парное программирование, какая-то версия Agile) со старыми технологиями, с которыми вы работаете, и заинтересуйте парней уровня Junior-Mid, которые хотят сделать следующий шаг, сказав: «Привет! , эти старики знают COBOL / и т. д. как свои пять пальцев. Это поможет вам писать код на более простых языках намного лучше».

Потому что это правда. Предложите парням начального уровня возможность унаследовать знание десятков языков/подъязыков, которые умрут, но оставят после себя огромный след, требующий обслуживания и кого-то, кто сможет понять код для обновления.

Также: обновите свои инструменты и используйте лучшее, что сможете найти. Автоматизированные системы сборки, подключенные к системе управления исходным кодом, облачные серверы, если вы можете ими управлять, и т. д. Если у вас есть современная среда программирования, которая делает что-то старомодное, вы можете повысить производительность своих существующих сотрудников и привлечь халявщики, как вы хотите.

По правде говоря, я не вижу проблемы в работе с COBOL во время ученичества, особенно если вы добавите приличное количество Java в смесь. Конечно, с течением времени Java сильно изменилась, но это все еще Java.

Как и в любом "как нанять программистов?" вопрос,

хорошо это или плохо, есть один и только один ответ.

Деньги.


ОП в основном говорит: «Нам невероятно сложно нанять {определенный тип} программиста ...»

Но ждать. В настоящее время невероятно сложно нанять ЛЮБОГО определенного типа (хорошего) программиста.

Если есть любые две вакансии программиста, нет уверенности, что какой-либо конкретный программист всегда выберет самую высокооплачиваемую. Может быть, те, кому действительно промыли мозги с тех пор, как они были маленькими детьми, что накапливать кучу денег - это смысл жизни ... это те, кого вы можете получить наверняка, платя самую высокую зарплату.
Вся цель жизни состоит в том, чтобы делать как можно меньше работы, чтобы вы могли жить своей жизнью и наслаждаться своей семьей. Единственный способ «делать меньше работы» — «получать больше денег». Меньше денег == рабство и работа до самой старости. Зарабатывание меньше денег означает, что вы «хотите работать» — вы «выбираете работу» .
Не волнуйся. Вероятно, они все равно не будут искать у вас возможности работать на вас.
@mathreadler - весело :)
Рада, что хоть кто-то смог вас рассмешить в этот напряженный век :)
@Fattie: Обычная идея состоит в том, чтобы делать меньше работы в течение своей карьеры. Одним из примеров может быть упорный труд ради досрочного выхода на пенсию. Для большинства людей это означает, что они отдают предпочтение работе, которая поможет их карьере, а не работе, за которую сейчас платят больше. Это похоже на работу, которая может убить карьеру.
@DavidThornley, я понимаю, что вы имеете в виду - я просто не знаю, применимо ли это в суетливом, взрывоопасном мире разработки программного обеспечения, понимаете?
Тот, у кого жизненный девиз «работать как можно меньше за как можно больше денег» и устраивается на работу с окладом, кажется, не понимает сути. Все люди, которые действительно так думают, либо дорогие консультанты, либо владеют бизнесом, и их не тянет на оплачиваемую работу.
Даже если вы можете работать меньше, вы все равно будете проводить значительную часть дня на своем рабочем месте. Выбирать место работы, где вы получаете меньше удовольствия и постоянно находитесь в плохом настроении, только для того, чтобы уйти на пенсию немного раньше или работать на несколько часов меньше в неделю, мне кажется безумием. У меня лучше 40 часов веселой работы, чем 37 часов дерьмовой работы и 3 часа свободного времени.

Не обращайте внимания на технологии. Делайте акцент на изучении универсальных навыков.

Bascialy: «учиться учиться».

Многие люди здесь отмечают, что изучение COBOL - это «тупик», рекламируя в качестве примера обратное, например. Весна. Это совершенно неразумно. Весне сегодня всего 15 лет. Небезопасно предполагать, что что-то может прослужить вам всю жизнь. Что вам нужно, так это разрушить это ошибочное предубеждение и объяснить кандидатам, что их гарантия занятости зависит не от какой-либо конкретной технологии, а от их способности освоить любую технологию, необходимую в данный момент. Оберните это каким-нибудь крутым, рыночным термином, например, « гибкость в разных языках ».

Кроме того, вы можете сделать акцент на долгосрочной безопасности варочной панели. Высокая текучесть кадров в ИТ не является самоцелью, это всего лишь инструмент для увеличения зарплаты. Если вы предлагаете хорошую зарплату с самого начала, то в среднем 6+ лет — это хорошо. « Работа, на которой вы захотите остаться ».

Однако при смене работы, особенно младшей, общие навыки не так важны, как непосредственный опыт работы с данной технологией. Чтобы решить эту проблему, вы должны предлагать курсы, семинары, сторонние проекты и участие в открытом исходном коде и т. д. в современных технологиях. По сути, это побочный проект, чтобы следить за текущими событиями. Что-то, что ваши сотрудники могли бы написать в своем резюме, чтобы не выглядеть на 100% посвященным ИТ-археологии. Для меня было бы очень интересно переписать существующий проект с новыми инструментами, просто чтобы посмотреть, будет ли он работать лучше, но это должны решать ваши люди.

Последним вопросом является текущее состояние рынка труда. Вакансии есть у всех, но не хватает людей, чтобы их заполнить. Даже на таких современных работах, как моя, у нас было два разумных респондента на одно сообщение. Большинство каналов дали ровно 0, единственные ответы, которые мы получили, пришли из группы FB. Может быть, попробовать это, вместо того, чтобы пытаться убедить выпускников массового производства в COBOL, ищите людей, которые уже интересуются историей программирования (или на низком уровне), и обучайте их программистам .

Диверсифицируйте свою клиентскую базу. Вы утверждаете, что не можете изменить технологические стеки из-за ваших клиентов, но вы можете изменить клиентов.

Ваша текущая траектория имеет две конечные точки:

  1. Вы не можете нанимать новых разработчиков, следовательно, не можете удовлетворить потребности клиентов, и вы теряете всех своих клиентов.
  2. Ваши клиенты обновляют свои технологии, а ваш нынешний персонал не может или не хочет идти вместе с вами, и вы теряете всех своих клиентов.
Помимо того, что клиенты обновляют свои технологии, они также могут обанкротиться (или слиться, или что-то еще) или перейти в конкурирующую компанию «старых технологий».

Подойдя к проблеме с немного другого ракурса:

Примечательно, что многие люди, увидев вакансию с надписью «COBOL», просто отвернутся, потому что это новая (для них) технология, с которой они точно не сталкивались. Точно так же Java 4 (или до 4) и так далее. Я думаю, что самое главное здесь — заявить заранее и открыто, что вы не ожидаете, что люди придут с ЛЮБЫМ опытом работы с COBOL., и жить верным этому. Лично пройдя кучу собеседований, многие компании говорили на экране своего телефона: «Да, мы используем эту технологию, но мы не ожидаем, что люди на самом деле знают ее, вы можете научиться на работе», а затем интервью было все конкретные вопросы по мелочам этой технологии. Это не круто, и, к сожалению, слишком много компаний делают это, поэтому «мы на самом деле не требуем этого в нашем наборе навыков» в публикации о вакансии не имеют большого значения для соискателей, IMO.

Что может быть более полезным, так это объяснить в своем объявлении о вакансии, как соискатели должны изучать эти старые технологии в компании, чтобы доказать, что вы на самом деле этого не ожидаете. Затем, во время собеседования, задавайте как можно более общие и технологически независимые вопросы: имейте в виду, что, вероятно, никто из тех, с кем вы беседуете, на самом деле не обладает набором навыков, которые вы ищете, но если они подали заявку, то они готовы узнать его; это означает, что вопросы об этих технологиях во время собеседования, скорее всего, будут отвлекающим маневром и дадут вам много ложноотрицательных ответов, т. е. людей, которые являются хорошими разработчиками, но не знают ваш технический стек (как уже было установлено, никто не знает ваш технологический стек, кроме вас, из-за вашей ниши бизнеса).

Еще одна вещь, которую следует учитывать, это то, кто ваши кандидаты? Навскидку, я думаю, вы, вероятно, можете разделить хорошего кандидата в вашу компанию на одну из двух групп:

1) Чрезвычайно умные, чрезвычайно талантливые люди, для которых жизнь в Google рутинна и обыденна, которые ищут более сложные задачи на нишевом рынке. Когда вы говорите, что платите вдвое больше, чем конкуренты, вы рассматриваете Google как конкурента? Потому что для этих людей вашим конкурентом являются Google, Amazon, Twitter, Facebook и т. д., то есть технологические гиганты. Это люди, которые могли бы работать где угодно, но они выбирают вас, потому что считают, что ваша компания ставит перед ними особенно интересную задачу. Тем не менее, эти люди хотят получать компенсацию за то, что они стоят, и вы должны ожидать, что будете платить им столько, сколько они стоят, иначе они не будут заинтересованы.

2) Люди, у которых нет другого выбора; их навыки работы с современными технологиями отстой, поэтому они идут с вами, потому что «могут также попробовать». У этих людей гораздо более низкие ожидания, но они, как правило, гораздо худшие разработчики, поэтому это спорно, если вы хотите агрессивно нацеливаться на них. Однако, если вы это сделаете, размещение объявлений на досках объявлений, вероятно, не то, где вы хотите быть; эти люди уже просмотрели доски объявлений о вакансиях, подали заявки на сотни вакансий и устали от рутины. Для этих людей вам следует обратиться к рекрутерам/хедхантерам. Эти кандидаты могут ждать, пока хедхантер позвонит им и расскажет о любой новой и блестящей вакансии, которая есть на столе, и вы хотите, чтобы она была вашей. Однако важно то, что доски объявлений о трудоустройстве не примут этих людей; если они хотели получить работу на доске объявлений о трудоустройстве,

Есть третья группа, это разработчики, которые настолько стары, что выросли на COBOL и Java 4. Причина, по которой эти разработчики не обсуждаются, заключается в том, что они близки к пенсионному возрасту; даже если они массово присоединятся к вашей компании, вы только отсрочите текущую проблему, может быть, на 5-7 лет, а затем снова окажетесь в том же положении. Ориентация на этих людей — не то решение, которое вы ищете.

Одним из признаков хорошей компании является то, что они предугадывают свои потребности в рабочей силе и имеют план удовлетворения этих потребностей независимо от того, что может предложить текущее количество безработных разработчиков.

Противоположный подход — полагаться на удачу. Так делают только дураки.

Ваша практика найма должна зависеть от выявления людей со способностями к программному обеспечению. Это бонус, если они знают конкретный язык (языки), которые соответствуют вашим потребностям, но их отсутствие не должно быть помехой.

Ваша программа обучения на борту должна включать учебный лагерь для конкретных навыков, которые вам нужны.

Флагманский продукт моей собственной компании написан на языке COBOL. Мы нанимаем таланты начального уровня и обучаем их COBOL. Мы также пишем продукты на C++. Мы нанимаем специалистов начального уровня для этих продуктов и обучаем их C++. То же самое для C#, SQL, JavaScript, VBScript и т. д.

Предлагайте роли неполный рабочий день

Те, кто приближается к пенсионному возрасту, особенно если они десятилетиями занимаются КОБОЛИНГОМ, с большей вероятностью будут искать работу на неполный рабочий день, чем более молодые работники. Среднее количество часов, отработанных для людей в возрасте 56–75 лет, составляет менее половины этого показателя для людей в возрасте 26–55 лет в этой статистике IFS , даже несмотря на то, что оба показателя различаются.

Нанимать сотрудников на неполный рабочий день может показаться контрпродуктивным, поскольку вы получите меньше работы в расчете на одного трудного для найма сотрудника, но вы можете убедить их добавить часы работы после того, как они присоединились.

Принять вторую работу

Если бы я увидел такую ​​возможность, то единственное, что меня бы убедило обратиться, это возможность одновременного выполнения работ на современной технике. Если бы я мог работать над своими навыками в новых технологиях (оплата ниже средней), одновременно выполняя эту работу (оплата высокая), это был бы приемлемый компромисс.

Или смешать роль

Если у вас есть часть бизнеса, которая работает с новыми технологиями, предложите смешанную роль, в которой зарплата выше среднего дает сотруднику как новый опыт, так и более высокую оплату старой технологии.

Большинство ролей в развитии малого бизнеса включают в себя определенную степень нового, смешанную с определенной степенью поддержания (не)славного старого; иногда вы соглашаетесь с тем, что потратите неделю на ремонт чего-то, что вышло из ковчега, просто так.

Предложите очень дружелюбную атмосферу

Существует огромная дыра, где должны быть рабочие места, которые работают в соответствии с семейным графиком квалифицированных, но ориентированных на семью людей. Роль, сочетающая в себе вышеуказанные возможности изучения/использования современных технологий, прилично оплачиваемая и полностью гибкая, была бы абсолютным подарком. У меня есть семья, и я хотел бы иметь возможность работать между тем, чтобы забрать детей, пару дней дома, делать дополнительную работу по вечерам или сидеть вне урока балета.

Согласно комментарию LeopoldT ( OP):

Насколько я знаю, моя компания является крупнейшей в стране по такого рода проектам. И единственный, кто так специализировался на этих старых технологиях . Еще один фактор заключается в том, что клиентам очень сложно перейти к конкурентам после 20, 25 и более лет работы с нами: объем передаваемых знаний просто огромен (в том числе и за потраченные деньги).

Если ваша компания по-прежнему преуспевает (т. е. имеет достаточно ресурсов), то эффективным решением для привлечения молодого поколения может быть простое:

  • выделить X часов текущего времени разработчиков для создания курсов по этим технологиям;
  • заключать контракты, включающие оплачиваемый период времени репетиторства на основе этих курсов;
  • добавить в контракт пункты, которые потребуют от новобранца отработать определенное количество времени после прохождения курса (не юрист: это может быть невозможно или могут потребоваться корректировки);
  • размещать рекламу в университетах с теми же курсами (возможно, для отборочных тестов требуется только степень бакалавра и базовые навыки программирования), упоминая примерно следующее: «Мы крупнейшая компания, разрабатывающая [язык/технология программирования] в [стране] и у нас вас ждет стабильный карьерный рост!" (тоже не эксперт по маркетингу... могут потребоваться некоторые корректировки).

Собирайте таланты, обучайте таланты, защищайте таланты.

Это будет недешево, но вы, наверное, уже это знали. Хорошая новость заключается в том, что у вас есть уникальная возможность централизовать ресурсы для устаревших технологий.

Прежде всего, собирайте таланты. Получите лучших разработчиков в своих областях, каких только сможете. Переместите их откуда угодно. Вы, вероятно, можете получить чистый H1B для этого, чтобы импортировать разработчиков. Это становится вашей опорой.

Вам нужно будет заявить, что у вас есть лишние таланты. Социальный блог, вероятно, ваш лучший выбор. Вы хотите, чтобы как можно больше ваших лучших и ярких людей предстало перед публикой в ​​надежде, что один или два из них станут второстепенными знаменитостями. Специалисты по маркетингу оценят такую ​​открытость, но ваша настоящая цель — заявить о себе в сообществе разработчиков. Вы хотите, чтобы другие первоклассные игроки увидели людей, которых они знают и уважают. Это привлечет больше резюме и создаст благотворный цикл сбора талантов.

Далее тренируйте таланты. Верхний уровень выпускников колледжей закрыт для вас. Извините, но это жизнь. Вы хотите просмотреть остатки. Свяжитесь с отделом кадров в государственных органах, чтобы узнать, кто занимается переподготовкой. Вы, вероятно, сможете установить учебный план, обучать их за счет государства и платить едва ли половину их зарплаты в течение первых 3-6 месяцев. Установите для них соответствующие ожидания: это стажировка с редкой возможностью найма, но вы заплатите им больше денег, чем большинство из них когда-либо считали возможным, если они будут усердно работать и добьются успеха. Устраивайте ярмарки вакансий в местных колледжах и принимайте ихлучший и самый светлый. Станьте спонсором некоторых из этих самостоятельных онлайн-программ обучения и найма и поймайте себе несколько сильных самостоятельных стартеров. Дайте шанс людям, у которых есть портфолио, но нет резюме (и, возможно, для безопасности оставьте их среди стажеров по смене карьеры). Если вам нужно, наберите нижнюю половину выпускников CS, но я бы избегал этого, если бы мог. Затем вы обучаете их, используя сочетание собранных вами талантов и лучших доступных стандартизированных учебных программ.

Наконец, обеспечить талант. После того, как они прошли ваш испытательный срок, вы никогда никого не увольняете ни по какой причине . Вы ясно даете понять это на собеседовании и в процессах найма. Работа в вашей компании — это работа до тех пор, пока вы следуете правилам и добиваетесь результатов. Если вы проделали хорошую работу по сбору талантов, вы станете ценным активом для корпоративных клиентов, потому что вы уже наняли почти всех, кого они хотели. Вы также можете сделать это в масштабе, потому что, хотя отдельные клиенты приходят и уходят, у вас должен быть достаточно большой пул клиентов, чтобы оплачивать все счета. Эта часть является проблемой маркетинга.

Многие из наших списков вакансий на эти должности получают смехотворно мало заявок, и еще меньше людей проявляют интерес к нашим устаревшим проектам после первого собеседования.

Ваша компания отстой. Работа, которую вы предлагаете, отстой. Плата отстой. Не обманывайте себя, думая, что это вина соискателей или интервьюируемых. Это ты . Никто даже не хочет претендовать на вашу работу, те немногие, кто это делает, даже не хотят продолжать собеседование после первой встречи. Вы не просто не привлекаете кандидатов, вы их активно отталкиваете. (Вы также переживаете период самой низкой безработицы в американской истории.) Вам нужны радикальные перемены.

Наша зарплата намного выше средней, для старшего может быть вдвое больше, чем у конкурентов.

Очень маловероятно. Давайте поговорим о зарплатах по-настоящему. Не намекайте намеками и зашифрованным языком и не заставляйте меня догадываться. Я не знаю, на чем основано ваше сравнение. Скажи мне, что ты платишь. Вы платите людям $350k+, 425k+? Возможно, это было бы вдвое больше. Кто такой «старший» в вашей компании? через 5-10 лет? Тогда какое отношение это имеет к кандидатам или интервьюируемым? Какая рождественская премия — 15% от зарплаты или продуктовая карточка на 50 долларов?

Мы НЕ МОЖЕМ изменить стек проектов и используемый язык

Это означает, что вам нужно «купить» (т. е. нанять) дефицитный ресурс — людей, желающих и способных работать над старой, устаревшей технологией. Основы экономики говорят, что дефицитный ресурс будет стоить намного дороже.

Теперь есть люди, которые были бы счастливы сделать эту работу. Но, как заявляли здесь другие люди, вам нужно 1) платить им много (т.е. больше, чем вам удобно) и 2) быть невероятно гибкими в отношении часов, местоположения, времени отпуска, предыдущего опыта / готовности тренироваться, принятия сотрудников, работающих неполный рабочий день, пожилых работников и 3) опубликовать это — как я уже сказал, не заставляйте меня гадать, сколько вы платите или могу ли я работать из любого места, где захочу. И имейте в виду, что наиболее квалифицированные и компетентные люди будут теми, кто в наибольшей степени способен требовать более высокой заработной платы и наименее склонен мириться с жесткостью, такой как установленный рабочий день, потому что, как правило, это опытные, умные люди, которые сделали успешную карьеру в течение долгого времени. много времени.

Мы работаем с многонациональными/всемирными банковскими и страховыми группами

Это большой плюс. У них сейчас много денег .

Чтобы заставить кого-то устроиться на работу, они должны верить, что это хорошая работа на данный момент, и либо:

  • Искренне верят, что это будет хорошая работа на всю оставшуюся трудовую жизнь.
  • Или верьте, что это не помешает им получить следующую работу

Поскольку никто не может предсказать следующее:

  • как долго компания будет работать
  • будет ли выкуплена компания и/или работа перенесена в другую страну
  • будет ли работник вынужден уйти из-за плохого начальника
  • если сотрудник хочет переехать из-за отношений и т. д.

Большинство людей достаточно благоразумны, чтобы не верить в то, что работа — это на всю жизнь, если только они не планируют работать еще несколько лет .

Суть в следующем. Большинство работодателей ожидают, что люди будут иметь современный опыт работы с системами, которые они используют... следовательно, вы ничего не можете сделать для привлечения и удержания кандидатов, не дав им немного работы в современных системах .

Поэтому вам, возможно, придется взять на себя дополнительные проекты, которые позволят вам обучить весь персонал современным системам и дать им опыт, заставляя их тратить несколько месяцев в году на «устаревшие» технологии.

Или, может быть, вы можете стать лучшим работодателем в городе для обучения, и все будут знать, что, если кто-то проработал на вас несколько лет, он может получить работу во многих других компаниях. Вы также можете предложить гибкие контракты, бесплатный уход за детьми на рабочем месте, неполный рабочий день, и этот список можно продолжить. По сути дела, вы единственный работодатель в городе, который хорошо вписывается в образ жизни некоторых людей.