«Программист» более не звучит гордо. Прошли те времена, когда программист чувствовал себя рэкетиром, перед которым трепетало беспомощное начальство. Специалисты по найму персонала, почуяв программиста, не склонны делать стойку, а «хороший программист» в устах шефа – это ровно то же, что и «хороший водитель». Означает: «У меня нет из-за него проблем». Да что там, теперь в объявлениях о знакомстве девушки просят программистов не беспокоиться – вот интегральная оценка ситуации, в которой оказались рядовые труженики клавиатуры.
Я вам скажу, когда это началось. Середина восьмидесятых.
MS-DOS, DBase III, Clipper и толпы юношей в возрасте от 25 до 50 со взором горящим, вообразивших, что они умеют заставить компьютер сделать нечто небесполезное.
Новые русские «программисты», никогда – ни до, ни после приобщения к таинствам – не читавшие ни Кнута, ни Вирта, ни Йодана.
Не удержусь и процитирую по случаю одного из героев Гашека: «Какой-нибудь идиот, выдержав "интеллигентку", в конце концов становится кадровым. А то еще штатским сдаст офицерский экзамен да так и останется в штатских дурак дураком; а случись война – из него выйдет не лейтенант, а засранец».
Но то был лишь грозный симптом необратимого старения прекрасной юной профессии, превращения ее в массовую и скучную. Программистская IT-романтика, воспетая Стругацкими в «Понедельнике», кончилась (могу с точностью до дня назвать время), когда на смену «Паскалю» пришел Delphi. Вот тогда-то программирование стало окончательно похоже на рисование и складывание кубиков.
Разговоры профессионалов о Visual Basic (профессионалов – о «Бэйсике», вы вдумайтесь!), который, надо же, в разы сокращает время изготовления кода под Windows, материализовались чудовищным образом.
Остались еще, конечно, островки нетронутой программистской природы. Библиотеки текстов на «Фортране». Или, например, стремление SAP заставить программиста все писать в исходных кодах, а не рисовать окошки.
Это, знаете, как экологически чистый продукт или как пельмени ручной лепки.
Нельзя не сказать, справедливости ради, о терминологической путанице. Неправильно называть программистом того, кто более похож на сантехника и является по вызову, дабы почистить винчестер, восстановить базы данных или подвергнуть апгрейду операционную систему.
Программист – это тот, кто пишет программы. Из-за потасканности термина программисты вынуждены называть себя разработчиками. Крайним случаем терминологической путаницы, которой подвержен невежа-обыватель, надо считать утверждение «программист=хакер».
На самом же деле разница между программистом и хакером, объясню на примере, равна разнице между Дмитрием Скляровым и Кевином Митником. В одном случае имеем квалифицированного программиста, ставшего жертвой странного штатовского закона о защите авторских прав в цифровую эпоху (в свое время издание нерукописных копий Библии тоже пытались поставить вне закона), в другом – необразованного жулика, воровавшего пароли доступа из мусорных корзин или с помощью сообщницы-проститутки.
Как это обычно бывает, хороший экземпляр обладателя массовой профессии попадается весьма и весьма нечасто. Этот нормально. Когда человек научился пасти коров, туры, не говоря уже о единорогах (Longhorn, если кто не знает – рабочее название новой версии Windows; так называется облюбованный программистами Microsoft бар на горнолыжном курорте неподалеку от Редмонда, где штаб-квартира у Microsoft), почему-то исчезли.
Важно только понимать, что «хороший программист» – это не человек, который умеет кодировать. Умение кодировать для программиста значит не больше, чем знание правил пунктуации для писателя или навыки использования шифроблокнота для разведчика.
И еще одно замечание.
Редкий программист в наших широтах, да и не только в наших, доживает до сорокалетия.
Это как спорт, где возраст – непреодолимое препятствие для эффективной работы. После окончания карьеры программист становится либо начальником других программистов, либо – что случается много чаще – вовсе уходит из цеха.
Пройдет еще десяток лет, и отставные программисты станут попадаться среди охранников на автостоянках. Едва ли с этим можно что-то поделать.