На помощь приходят инженеры на пенсии

На выходных губернатор Нью-Джерси Фил Мерфи выступил с необычной публичной просьбой во время ежедневного брифинга по коронавирусу: штат искал программистов-добровольцев, знающих COBOL, язык программирования с 60-летней историей, на котором построена система пособий по безработице штата. . Как и любой штат по всей стране, Нью-Джерси был наводнен заявлениями о безработице после пандемии коронавируса. А системы обработки данных Нью-Джерси были неподготовленными.

«У нас буквально есть система, которой более 40 лет», - сказал Мерфи.

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

Нехватка программистов на COBOL привела к повышенному интересу к таким стартапам, как COBOL Cowboys, состоящим из опытных программистов старшего возраста.

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

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



Нехватка программистов на COBOL привела к повышенному интересу к таким стартапам, как COBOL Cowboys, состоящим из опытных программистов старшего возраста, обладающих ноу-хау для работы с этими системами.

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

Счетная палата правительства неоднократно предупреждала об использовании устаревших языков программирования для критически важных систем. В 2019 году GAO выпустило отчет, в котором перечислены 10 федеральных вычислительных систем, которые отчаянно нуждались в капитальном ремонте. Например, система Министерства образования для обработки заявок на получение федеральной помощи студентам была внедрена в 1973 году. Для обслуживания системы требуется 18 подрядчиков, а поскольку она написана на языке COBOL, для нее требуется специальное оборудование и ее трудно интегрировать с новыми языками программного обеспечения.

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

Это также означает, что когда система выходит из строя, там может не быть никого, кто мог бы это исправить. И вот где сейчас находится Нью-Джерси, где система проседает и не хватает квалифицированных инженеров.

Несмотря на свой возраст и тот факт, что так много программистов перешло на C и Java, COBOL по-прежнему является широко используемым языком программирования. Это проверено и верно, отчасти поэтому оно было так широко принято банками и правительствами во второй половине 20-го века.

«Я показываю программы на COBOL, написанные в 1960 году, которые можно компилировать и запускать сегодня».

По данным Reuters, сегодня почти половина банковских систем мира работает на COBOL, и более 80% транзакций с использованием карт используют этот код.

«Я показываю программы на COBOL, написанные в 1960 году, которые можно компилировать и запускать сегодня», - говорит Дж. Рэй Скотт, профессор Университета Карнеги-Меллона и один из немногих профессоров, которые все еще преподают COBOL.

«Я бы не хотел быть банком и иметь Python, а Python 3 вышел и все сломал, и тогда нам придется перекомпилировать весь наш код», - сказал он.

Скотт объясняет отсутствие программистов COBOL рядом проблем, от отсутствия версии программного обеспечения с открытым исходным кодом в 80-х и 90-х годах до простой привлекательности новых баз данных, которые изначально подключаются к Интернету.

«Был период в 20 лет, когда люди были уверены, что COBOL мертв, поэтому никто не учил его, никто не изучал его», - сказал он. «COBOL появился до того, как появились дисководы, не говоря уже об Интернете».

По словам Скотта, есть надежда на то, что COBOL не является особенно сложным языком для изучения. Когда он начинал свою карьеру в области программирования для сталелитейных заводов в Питтсбурге, он говорит, что компании будут проводить тесты на пригодность для рабочих на цехах заводов. Если они сдавали экзамен, их отправляли на двухнедельный курс COBOL в IBM, а затем отправляли на работу в ИТ-отдел.

Билл Хиншоу, руководитель COBOL Cowboys, говорит, что язык программирования, которому уже 60 лет, еще жив, особенно в отраслях, где он неразрывно связан с критически важными функциями. По его опыту, правительства просто работают со старыми версиями программного и аппаратного обеспечения по сравнению с банками и другими отраслями.

«Мы имеем дело со все большим количеством людей, которые хотят модернизировать COBOL», - говорит Хиншоу. «COBOL никуда не денется».

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

«После того, как коронавирус пройдет, будет много вскрытий», - сказал Мерфи в своем обращении в Нью-Джерси. Один из них в нашем списке будет: «Какого черта мы оказались здесь, где нам буквально понадобились программисты COBOL?» »