Как стареть в IT
После нескольких лет насмешек над предрассудками в области информационных технологий я — будучи белым мужчиной с совсем не седыми, густыми волосами — начинаю сталкиваться с предубеждением по отношению к моему возрасту. Это правда, дискриминация по возрасту реальна.
С 2008 года количество жалоб на дискриминацию по возрасту выросло до 25 000 в год. Можно возразить, что мы везде вынуждены «крутиться» сейчас и всегда найдётся кто-то, кто пожалуется на какую-то несправедливость. Конечно, ОК! Давайте не будем принимать во внимание жалобы. Просто посмотрим на средний возраст сотрудников известных IT-компаний. Фейсбук: 28. LinkedIn: 29. Гугл: 30. Чтобы увидеть объективно — средний возраст работника в США составляет 42 года. Это намного выше среднего возраста в названных выше компаниях. Даже сам Марк Цукерберг однажды публично высказался на каком-то мероприятии в Стэнфорде: «Я хочу подчеркнуть важность быть молодым и технически подготовленным. Молодые люди просто умнее.»
Мне осталось 3 года до 60-ти, и я, конечно, повышенно чувствителен к этой теме. Имея представление о том, что несёт с собой седина в усах, я нахожусь в хорошем положении, чтобы развенчать продвигаемый подход «молодые умнее». Позвольте мне указать на то, что я делал на протяжении всех моих десятилетий работы — да, десятилетий, множественное число, — чтобы оставаться трудоспособным, и поделиться с теми, кто становится старше (а это касается всех), что можно сделать, чтобы избежать списания, как только вы перевалите за 30.
Нет родины для человека в возрасте?
«Молодые умнее». Чепуха! Это значит, что компании должны были не принимать на работу Санди Мец, Кента Бека или Роберта Мартина (Дядя Боб)? Все они — ветераны с 30-летним опытом работы. «Они просто аномалии.» Не думаю!
Шесть лет назад с помощью Джона Стелера я разработал kettlerusa.com. Я сделал интерфейсную часть на Groovy и Grails, а Джон — серверное приложение на RPG. Джон является самым лучшим программистом из всех, с кем я работал. В то же время Джону совсем немного оставалось до весьма солидной круглой цифры возраста. Но взглянем на возраст Джона с позиции небольшой истории. Я регулярно проверяю работу сайта kettlerusa.com, покупая на нём самый дешёвый продукт — шарики для настольного тенниса. Я нередко забываю отменить свои заказы, из-за чего получаю множество пакетов с этими шариками. В то же время, я хорошо помню «Капитана Кенгуру», который был популярным детским сериалом с 1955 года до середины 70-х. На его героя, Капитана Кенгуру, регулярно обрушивались шарики для пинг-понга в результате проделок его друга. Как-то в разговоре с Джоном я назвал мой растущий запас шариков для пинг-понга Капитаном Кенгуру. Естественно, я полагал, что Джон смотрел этот сериал. Но, когда я увидел, что он смущён моим использованным названием, я описал ему несколько сценок из фильмов. Ответ Джона показался неожиданным: «Дон, я вырос, когда ещё не было ТВ. Это было начало 50-х.» Да, Джон был не только из эпохи до Node.js, до Ruby, до Java и до интернета — он был даже из эпохи до ТВ. И тем не менее нет лучшего программиста, чем он, — в RPG или подобном. Даже включая провозгласивших себя «более умными» 30-летних и более молодых.
Да. OK. Он работает с RPG. Хотите пример, где программист пишет на чём-то отличном от «антикварного» RPG? Как насчёт HTML5, JavaScript и C#? Тогда прочитайте мой блог о Джиме Станицком — именно он ввёл меня в эту область в начале 80-х.
20 лет опыта против 20 раз по году
Когда я слышу, как кто-то говорит о 20-ти годах опыта, мне любопытно — это, действительно, так или на самом деле было по 1-му году опыта 20 раз. Я знаю очень много разработчиков, которые использовали знания, полученные в первый год работы, затем в течение всей остальной карьеры. Это я видел на рынке IBM AS/400 RPG с 40-50-летними людьми, но такую же картину я наблюдал и с некоторыми 30-летними разработчиками на Java. В начале 2000-х я ездил по стране, проводя семинары по Java для разработчиков на RPG. Я ожидал, что эти разработчики знают современные модульные методы программирования на RPG, но оказалось, что большинство из них использует по-прежнему методы старой школы RPG. Они прекратили увеличивать свой основной набор навыков – и стали намного меньше приобретать новых. Затем в 2008-10 годах я обучал Java-разработчиков в компании Circuit City работать с Groovy и Grails. Этот народ был в возрасте около 30-ти, и их вполне устраивал старый добрый Java с его «пишите всё сами», «не озадачивайтесь фреймворками» и т.п.
Моя позиция, конечно, не в том, чтобы выяснить, что эти более молодые разработчики были умнее меня или нет. Проблема в том, что многие программисты позволяют себе застыть. И самая главная проблема, что после десятикратного выполнения одних и тех же операций в течение многих лет эти программисты забывают, как учиться. Мало того, что догнать технологию, ушедшую на десять лет, может оказаться чрезвычайно трудным делом — это может оказаться почти невозможным, если забыто, как обучаться.
Если планировать оставаться в ИТ-области более 10-ти лет, то необходимо учиться всю жизнь. Я всегда был учеником на протяжении всей жизни. Я изучал и разрабатывал многие языки программирования, структуры и стратегии. В результате я приобрёл навыки, необходимые для обучения. Показательный пример: мне говорили, что невозможно выучить второй язык, будучи в возрасте за 50. И вот я говорю вам: это неправда. Я начал учить итальянский, когда мне было 52 года. Теперь я читаю и слушаю ежедневно рассказы на итальянском и двигаюсь через «разговорный» язык. И в результате для меня изучать другой язык программирования или какую-то структуру — простое дело.
По-большому счёту вы только то, что сделали за последние 2 года
Кент Бек предположил, что при последовательном использовании парного программирования возможности программистов несильно отличаются по прошествии двух лет работы. Ясно, что это действует в окружении, где методы и навыки можно легко использовать совместно. В окружении, где знания ветеранов становятся общими. Моей первой реакцией, когда я впервые услышал это несколько десятилетий назад, была следующая: 1) попарно и иным образом сравнивать себя с другими разработчиками как можно чаще, и 2) не думаю, что мой многолетний опыт гарантирует конкурентоспособность или более высокую зарплату.
Я часто говорю, что я по существу — только то, что я сделал за последние два года. Я мог бы рассказать о всех моих работах за тридцать лет, таких как, например, замена использования системы перфокарт System/3 на AS/400, написание отладчика для Кобола или… Но, боюсь, вам будет скучно. То, что может заинтересовать вас, я сделал лишь в последние два года. Среди них: разработка поисковой системы с открытым кодом ElasticSearch и обучение работе с ней, конфигурирование многих приложений на AWS OpsWorks, установка Docker для множества клиентских приложений, перевод приложений Rails 2.x на Rails 4.2, апгрейд Ruby 1.9 до 2.2 и повышение эффективности использования Git и — более точно — GitHub.
Забудьте мой возраст. Я готов поспорить, что мой список работ за последние два года, как минимум, не хуже, чем у любого 20-30-летнего. Главный вопрос здесь: что я могу назвать моими достижениями за два года, начиная с данного момента времени?
Как разработчику подвести «двухлетний баланс»
Учиться, использовать и снова учиться
Подойдите к этому году, как если бы он был вашим первым годом работы в качестве разработчика, и усвойте всё, что сможете. Восстановите в себе энергию, которая была у вас в первый год программирования. Вспомните тот драйв, когда вы хотели доказать себе и коллегам, что вы «крутой» в этой ИТ-области. Начните снова читать техническую литературу, пробовать новые методы и просите коллег научить вас. Вновь ощутите волнение от совместной работы с другими разработчиками при выработке новых знаний. Постоянно учитесь и исследуйте все формы обучения, в т.ч.:
• Подкасты
• Мне нравится Greater Than Code и The Bike Shed.
• Интернет-трансляции
• Программисты на Ruby продолжают предпочитать RailsCasts, а я в последнее время получаю удовольствие от Ruby Tapas.
• Журналы и информационные бюллетени
• Я подписан на следующее: InfoQ, Ruby Weekly, DZone Daily Digest.
• Имею также подписку на ThoughtWorks Radar, чтобы знать самые передовые методы.
• Интерактивные онлайн-курсы
• Я был инструктором Rails на CareerFoundry, но есть сотни вариантов.
• Конференции и семинары
• Старайтесь побывать на одной конференции в год. Помните, что часто можно узнать больше в холле конференц-зала, чем слушая сами выступления.
• Если вы не можете поехать на конференцию, то пользуйтесь тем фактом, что многие заседания доступны онлайн. Рекомендую сайт confreaks.tv/conferences, содержащий заседания десятков конференций.
• Блоги
• Отслеживайте несколько качественных блогов – таких как, например, Corgibytes и Giant Robots Smashing на Other Giant Robots — где можно получать сообщения о новых постах.
• Регулярно ведите свой собственный блог, размещайте посты. Каждый может предложить решение проблем или может выдать подход, который поможет другим. Дополнительно — написание постов на блоге способствует закреплению знаний.
Также не пожалейте времени, чтобы понять, какой тип обучения вам больше всего подходит. Вы лучше обучаетесь по книгам (мой случай) или вам требуется аудитория? Вы учитесь лучше на слух? Но, независимо от вашего стиля учёбы, старайтесь узнавать что-то новое каждый день.
Отсутствие занятости даёт возможность учиться
Отсутствие работы не является оправданием отсутствия попыток разобраться с новыми методами и технологиями. Не требуется наниматься на работу, чтобы получить опыт. Запустите ваш собственный интернет-проект. Облачные хостеры могут быть полностью или почти бесплатными в отсутствие многих посетителей. Выйдите с какой-нибудь дурацкой идеей и реализуйте её. Поместите решение публично на GitHub, чтобы другие смогли увидеть его. Выполните полный цикл от серверной базы данных и, может быть, небольшой NoSQL до простого внешнего интерфейса. Затем переместите этот внешний интерфейс на одностраничное приложение, как Ember или React или Angular. Добавьте проверку с обработкой карт.
Ниже приведена, возможно, неважная идея для стартапа, но она могла бы дать вам опыт реального мира: виртуальный лимонад. Создайте сайт, на котором любой, используя текущее положение своего телефона, сможет увидеть находящиеся поблизости магазинчики с лимонадом. Это значит, что понадобится войти в географическую информационную систему (GIS) и базу данных по таким магазинчикам. Надо будет написать серверную и клиентскую программы. Затем потребуется обеспечить возможность клиентам зарегистрировать свой магазинчик с вашим сервисом. Может быть, выдавать им уведомления о ком-то, кто ищет их магазинчик, чтобы они могли ответить, что они открыты. Возможно, вы не станете следующим Цукербергом, однако вы, несомненно, получите всю гамму навыков действий на этом рынке.
Будьте в форме и оставайтесь здоровым, но не парьтесь слишком сильно насчёт внешнего вида
Я не думаю, что надо — как рекомендуют некоторые консультанты по трудоустройству — стараться выглядеть моложе, экспериментируя с краской для волос или пластической хирургией. Но что от вас требуется, так это ощущение вашей энергии. Чтобы оставаться соответствующим в отрасли, которая, как кажется, ориентирована на молодых людей, крайне важно быть энергичным и активным. И избыточный вес 50-летнего подхрипывающего курильщика не даёт серьёзных оснований ожидать проявления витальности и энергии.
Год или около того назад я проводил двухнедельный обучающий семинар примерно с десятком разработчиков в возрасте около 30 лет. Обучение шло на 22-м этаже, и каждый день, возвращаясь с общего обеда, я поднимался по лестнице. В первые два дня один-два человека присоединялись ко мне, но затем такие желающие пропали. Довольно трудно будет перевести вас в разряд «отработавших», когда не удаётся удержаться рядом с вами.
Не прилагайте чрезмерных усилий, чтобы просто доказать свою точку зрения. Будьте самим собой. Только — лучшей частью самого себя. Фитнесом может быть простая ежедневная энергичная прогулка. Вполне можно надеть наушники и слушать какой-нибудь технический подкаст на этой прогулке. Я смотрю Интернет-трансляции, занимаясь на тренажёре в фитнес-центре, и слушаю подкасты, раскатывая на моноцикле. Я предпочитаю дневную тренировку: благодаря ей голова в середине дня проясняется, и я чувствую себя обновлённым, возвращаясь к работе во второй половине дня.
Не думаю, что надо идти на какие-то экстремальные меры, чтобы выглядеть моложе. Я мог бы выглядеть моложе, просто сбривая мои седые усы (волосы на моей голове по-прежнему густые и имеют лишь несколько серых вкраплений). Но я заслужил эти белые волосы и морщинки; для меня они — признаки наработанного жизнью опыта. Я хотел бы, чтобы кто-нибудь как-то сказал мне: «Эй, восьмидесятые звонили, они желают получить свои усы назад.» «Прекрасно,» — посмеялся бы я. — «Эти усы достались мне заслуженно из восьмидесятых, поэтому я не отдам их.»
Будьте интересными
Неважно, сколько вам лет, но если вы лежебока, то вы будете скучны в любом общении. Будьте интересным… для самого себя. Каждый получает какое-то удовольствие от своих увлечений. Не имеет значения, если другие думают, что ваше хобби или ваша страсть — странные или не совсем нормальные. Например: я держу пчёл и катаюсь на одноколёсном велосипеде. Я также знаю реконструкторов гражданской войны – я согласился бы заниматься этим делом лишь за немаленькую сумму, но эти люди восхищают меня. Я уверен, что, если у вас ещё нет хобби, то у вас есть увлечения, которые пока просто не превратились в хобби. Наличие хобби является по существу забавной формой обучения на протяжении всей жизни.
Не стоит скрывать свой возраст
Я полагаю, что необходимо сразу дать чёткую информацию потенциальным работодателям о вашем возрасте, чтобы можно было сразу отсеять работодателей с возрастной дискриминацией. В каком окружении вы желали бы работать: где на вас смотрят как на мёртвый груз или где ценят вашу энергию и опыт? Ниже два первых предложения из моего сопроводительного письма в Corgibytes: «Ваша команда ищёт специалиста, имеющего „7+ лет опыта разработки программного обеспечения“ и „программиста на Polyglot, имеющего опыт 5+ лет по языкам программирования и 2+ по фреймворкам“. Что вы скажете насчёт 7+ лет C/C++, 7+ лет Java, 2+ лет PHP и затем 3+ лет Ruby (не говорю уже о 7+ годах RPG и Кобола, иначе вы можете заняться арифметикой и подсчитать мой возраст)?» Таким образом, я дал ироничную информацию о моём возрасте в первом же параграфе.
Спокойно идите на снижение зарплаты ради получения новых возможностей
Я проходил через значительное снижение зарплаты три или четыре раза в своей карьере. Речь идёт о 10-20 тысячах долларов в год (10-15%). И это не потому, что я терял работу. Я оставлял рабочее место, потому что не видел для себя возможности профессионального роста на занимаемой должности. Я также отказывался от мест с высокой зарплатой, когда чувствовал, что они помешали бы моему профессиональному развитию. Некоторые из моих переходов на другую работу оказались, возможно, плохим выбором, закончившись тупиком, но я уверен, что всегда уходил от какого-то проекта, накопив ценные на этом рынке знания.
Я видел, что очень многие люди сосредоточиваются на каких-то технологиях (например, Lotus Notes и Domino), а через 10 лет обнаруживают, что они больше не нужны на этом рынке. Даже если вы получаете высокую зарплату, не позволяйте техническому миру идти мимо вас. Будьте уверены, что вы владеете новейшими технологиями. И, если вы не можете делать это на вашей текущей позиции, то, возможно, пришло время двигаться дальше.
Оставайтесь вечно молодым
Как я сказал раньше, да, дискриминация по возрасту присутствует и весьма заметно. Наши тела стареют, и некоторые люди — как, например, Цукерберг — будут использовать это против нас. Но самой большой ошибкой было бы согласиться, что наш ум и дух также стареют. Здесь то, где мы можем оставаться «молодыми».
Боб Дилан сказал это лучше всего:
«Пусть у тебя получится
построить лестницу к звёздам
И преодолеть каждую её ступеньку.
Пусть ты останешься вечно молодым.
Пусть ты, наконец, всё-таки повзрослеешь
И станешь справедливым и верным.
Пусть всегда тебе ведома будет истина
И ты будешь видеть сияние вокруг себя.
Пусть всегда ты будешь отважным,
Сильным, с гордо расправленной спиной.
Пусть ты останешься вечно молодым.
Вечно молодым, вечно молодым,
Пусть ты останешься вечно молодым.»
Заметьте, что, когда Боб Дилан выпустил свой 33-й альбом «Together Through Life» («Вместе по жизни»), который стал хитом в Британии, ему было 68 лет.