Одне з моїх перших літніх робіт на посаді програміста багато в чому базувалося на вискоблюванні зелених екранів та PRN-файлів. Тоді я, мабуть, не подумав би забруднити руки в COBOL (тобто якби вони мені довірилися як студенту, щоб впустити мене до цього коду), але я не впевнений, чи не ставлюсь я так само до та сама перспектива сьогодні.
Я не думаю, що проблема насправді пов'язана з мейнфреймами . Це (часто виправдана) одержимість нашої галузі новим і блискучим.
Подивіться на C. C як і раніше очевидно є критично важливою мовою. Практично всі вбудовані коди та більшість операційних систем написані на C. Це не буде нікуди швидше. І все ж знайти С програмістів все складніше. Швидкий доступ на тег сторінки «Переповнення стека» розміщує його на 1/6 розміру [c#]
та на 1/4 розміру [java]
. Хтось пам’ятає, коли C по суті був домінуючою мовою, імовірно, єдиною грою в місті?
Програмісти люблять потужні інструменти. Можливо, це тому, що (SPECULATION ALERT) більшість програмістів - хлопці. Ви даєте програмісту Java або .NET завдання, скажімо, скопіювати файл, і багато хто, якщо не більшість, все ж таки вирішать написати його на Java або C # замість того, щоб написати пакетний файл DOS або сценарій оболонки * nix, який би був 50 разів швидше писати та розгортати. Навіщо використовувати вудку та котушку, щоб ловити рибу, коли у вас є гігантська висувна сітка, яка може зловити 500 риб?
Так, COBOL і PL / I старі , але так і Паскаль, і він все ще живий і брикається у формі Delphi. Відраза до колишньої, ймовірно, випливає з того, що ці мови непрості в порівнянні з сучасними інструментами. Об'єктно-орієнтована все ще є відносно новою концепцією у світі COBOL (акцент на відносному ), але у світі C # LINQ та generics та AJAX перестали бути революційними років тому. Попросити розробника, який звик до цих інструментів, почати програмування на мейнфреймі - це як попросити рок-музиканта почати грати на банджо.
Звичайно, існує також проблема самоутверджуваного стереотипу. Поки молоді програмісти вважають , що немає нічого для них в мейнфрейми (незалежно від того , є чи це правда), то будь-які молоді програмісти , які дійсно вирішили піти в це в кінцевому підсумку витрачають більшу частину своїх днів навколо людей набагато старше. ІТ - це не дуже соціально приваблива професія для початку, але додатковий зневажливий розрив у поколінні, як правило, приводить її нижче багатьох порогів болю. Жодного правопорушення не означало - я особисто провів більшу частину свого життя, працюючи з людьми набагато старше, але не всі мають таку історію чи таку можливість.
Нарешті, більшість програмістів не користуються роботою з технічного обслуговування, і майже вся робота на мейнфреймі - це обслуговування. В PL / I написано не багато нового програмного забезпечення. Будь-яка робота, визначена повністю або значною мірою навколо коду технічного обслуговування, автоматично починається з від’ємного балу.
Там є позитиви для роботи над старим кодом ( «успадкованими» , що охоплюють мейнфреймами і багатьох інших), які ви , ймовірно , потрібні , щоб грати, якщо ви намагаєтеся залучити натовпу молодих:
Системи, як ви кажете, є критичною інфраструктурою. Молодші розробники, принаймні у світі бізнесу (не Google / Microsoft), часто не отримують шансів зробити реальний вплив . Працювати над системою, яку ви знаєте, просто відмовитись або замінити через декілька місяців або років. Додаткові програми для основних програм, які вже працюють протягом 50 років, ймовірно, запускатимуться набагато більше, тому що компанії не має сенсу відбудовувати їх, тому робота, яку ви робите в них, насправді важлива для багатьох людей.
Якщо ви один з тих небагатьох компаній , які на насправді дійсно має схильність до «модернізації», то багато програмістів, як молодий і старої, буде залучено такою можливістю, тому що тоді є подвійні можливості для роботи на критично важливі кодах і згинати деякі з цих C # / м'язів Java. Очевидно, жодна розумна компанія не буде просто брати мейнфрейм і відновлювати з нуля, але я бачив системи, які (наприклад) мають ядро COBOL, яке інтегрується з компонентами Java.
Нарешті, є необхідність - принаймні, як ми сприймаємо це сторонніми особами. Якщо весь ваш код знаходиться у .NET, то завжди існує ризик, що власники зможуть торгувати вами для випускника, який закінчив навчання в коледжі, або ще гірше, офшорної команди, в помилковій спробі скоротити витрати. Я не думаю, що це трапляється дуже часто в світі мейнфреймів, особливо якщо те, що ви говорите, є правдою, а пропозиція, здається, зменшується. Звичайно, цей момент є суперечливим, якщо ви не заплатите достатньо добре; зарплати потрібно скоригувати, щоб відображати зменшення пропозиції, інакше люди не "продадуть".
Я впевнений, що там багато молодих розробників, які не відмовляться від досить щедрої пропозиції від компанії, яка, схоже, виходить зі свого шляху, щоб зробити робоче середовище привабливим для молодих працівників. Але якщо ви хочете досягти їх, тоді вам було б розумно грати на свої сильні сторони, і, можливо, вам навіть доведеться почати займатися маркетингом; ми схильні розглядати мейнфрейми як інший і дуже зарубіжний світ, і я впевнений, що не бачив вас, хлопці, на ярмарку роботи в університеті 10 років тому, працюючи, щоб змінити це сприйняття.
Щоб звести його до одного речення: Ніщо не робить мейнфреймів непривабливими , це просто те, що їх теж не робить їх привабливими , і це ставить їх у серйозний мінус порівняно з кровоточивим краєм, який пропонує нам величезну підвищення продуктивності та безкоштовні безалкогольні напої.