Представьте себе ситуацию: в одной проектной команде работают программисты, одному из которых – за 50, а другому – едва за 20. Вопрос не в том, смогут ли они разговаривать на одном языке и создавать работающий продукт (если оба шарят в профессии – смогут), а в том, чем различаются их профессиональные и карьерные возможности. Понятно, что тема больше для «юноши, обдумывающего житие», чем для программера со стажем, который уже нашел свое место в жизни. И все-таки интересно посмотреть, что происходило в профессии за минувшие 30 лет (потому что именно в начале 1990-х она появилась в более-менее современном виде) – и чего ждать в будущем.    Взглянуть на профессию программиста нам помогали три сотрудника М.Видео-Эльдорадо.  Компания активно развивает гибридную модель продаж, основанную на интеграции мобильных приложений продавца и клиента, совершенствует логистику, запускает аналитические сервисы, а для этого требуется мощная техподдержка. И она есть: в ИТ-подразделениях компании работают порядка 800 программистов, причем самых разных возрастов.  Конечно, подавляющее большинство в средней «весовой категории». Так, возраст ведущих специалистов – около 35 лет, руководителей департаментов – слегка за сорок. Однако 3% программистов перешагнули 50-летний порог. А около 1% только-только входят в профессию – они родились уже в XXI веке. Словом, можно сравнить самый разный опыт.  Взглянуть на программистов старшего поколения нам помогали функциональный архитектор Денис Степин и руководитель отдела кросс-системных изменений Светлана Никитина. На «джуниоров» – недавний студент, а ныне руководитель направления видеоаналитики Максим Шакура. Для «старших» путь в программисты часто был как раз делом случая, и вот почему. Сейчас это уже забывается, но в СССР программирование как таковое долгое время было сферой интересов ученых, специализированных НИИ. О существовании ЭВМ знали все, но для чего они нужны и как работали – это представляли себе единицы. Сложно было понять и то, какова практическая польза вычислительных машин, чем таким они могут помочь в обычной жизни. Соответственно до конца 1980-х у школьников не было «массовой» мечты идти учиться на специалистов по вычислительной технике. Несколько изменили ситуацию так называемые учебно-производственные комбинаты, где старшеклассники изучали азы разных профессий.    Денис Степин: - Кто-то получал в УПК автомобильные права, кто-то учился шить или вязать, а у нас был экспериментальный класс – нас учили программированию на Фортране. Мы ходили в НИИ, где был вычислительный центр с ЭВМ, перфокартами, перфолентами, огромными дисковыми носителями; мониторов тогда в принципе не было. С одной стороны, было интересно, с другой – мне это казалось бесполезным, потому что никакого практического применения программам, которые я писал, я не видел. Светлана Никитина рассказала, что тоже стартовала с больших ЭВМ, которые стояли в отдельных машинных залах в учебном институте и в НИИ, где она начинала свою карьеру. Кстати, о выборе профессии: Светлана сделала его не благодаря школе, а по совету отца. Он угадал, писать программы дочери понравилось. Но – еще немного про олдскульную технику тех лет, иначе нынешним «джуниорам» будет сложно осознать, что в ИТ произошла самая настоящая революция.  Светлана Никитина: - В машинный зал мы ходили в белых халатах, а лучше всего было туда вообще не заходить, а отдать колоду предварительно набитых перфокарт с исходным кодом программы и получить через какое-то время распечатку работы твоего кода. Но довольно быстро, к концу 80-х годов это сменилось на средние и малые ЭВМ. СМ-4 - средняя ЭВМ, тоже, как большая ЭВМ, стояла в отдельном машинном зале, выглядела как узкий шкаф и каждое утро в нее для старта работ загружали операционную систему с перфоленты. Но реальным персональным рабочим местом стала «Электроника-60», это был огромный рывок вперед, т.к. давала гораздо большую свободу действий для программиста. Денис Степин сначала вообще был далек от программирования – окончил МАИ, занимался авиационными двигателями. И только после того, как в начале 1990-х в авиации начался глубокий кризис, постепенно пришел к нынешней профессии. А вот «человек XXI века» Максим Шакура решил стать программистом еще в восьмом классе. Вот что значит вырасти в мире, где компьютеры окружают тебя с детства! Хотя более-менее прочно в быт россиян они вошли всего за несколько лет до рождения Максима. Неудивительно, что молодые программисты – обычно более целеустремленные. А что тогда отличает «старших»? Естественно, такой вопрос мы задали им самим. Светлана Никитина: - Думаю, что люди моего поколения отличаются универсальностью. Сегодня программист – некая часть процесса разработки: он не работает без аналитика на входе, тестировщика на выходе, без продакт-менеджера, который всё организовывает. Сейчас есть огромная специализация по ролям и должностям, которой не существовало на старте профессии. В 1980-е были, по сути, только две специализации: люди, которые занимались программированием, и те, которые обслуживали вычислительные машины. Но программисты могли сами поставить себе задачу, сами ее выполнить и оттестировать; мы общались с заказчиком и понимали, ради чего и зачем работали. Это была работа «под ключ» – может быть, не такая сложная, как сейчас, зато люди из ИТ могли в дальнейшем развиваться в любую сторону. По сути, в дальнейшем я проверила все роли в своей рабочей практике, это и помогло занять нынешнюю достаточно важную позицию в М.Видео-Эльдорадо. А как пробиваться «джуниорам», которые пришли в профессию в эпоху узкой специализации? Рецепт Максима Шакуры – браться за проекты, которые до тебя никто не делал. В его случае это создание сервисов видеоаналитики для «М.Видео – Эльдорадо». Команда Максима уже второй год собирает данные с видеокамер в торговых залах и анализирует поведение покупателей. В результате делают выводы, полезные для бизнеса: например, определяют самые «популярные» точки в магазинах (там лучше всего размещать рекламу и «акционные» товары), а покупатели не остаются «брошенными» – информация об одиноких посетителях приходит в служебный чат. «Так сложилось, что я управляю командой, в которой почти все старше меня, некоторые более чем на десять лет, – делится Максим. – Поначалу было много страхов, но в итоге работа наладилась. Мне кажется, помогло, что я решил применять горизонтальное управление: специалист на своем уровне принимает решения, каждый отвечает за то, в чем разбирается». Максим Шакура: - На меня сильно повлияла книга Стива Возняка «Джобс и я». Интересно, как разработчик, инженер и программный архитектор может с нуля построить проект – в его случае первый компьютер Apple – и успешно его монетизировать, сделать нечто полезное из ничего. Сейчас, когда у программистов много высокоуровневых фреймворков, можно небольшой командой реализовать огромный проект. ИТ принадлежит к отраслям, где технологии обновляются с ураганной скоростью. С одной стороны, это здорово: каждый год – новые инструменты! С другой – нужно подстраиваться под эту нескончаемую смену обстоятельств. Сложно ли «олдскулам»? Возможно. Однако они уже тридцать лет живут на этом «ветру перемен».  Денис Степин: - Я впервые увидел ПК только на пятом курсе МАИ. У нас в учебном классе поставили, по-моему, 286-ые – по тем временам вообще Hi-End! Когда в 1990-х собирал свой первый домашний компьютер, это было сложно и безумно дорого. Зато у меня был целый мегабайт памяти! Это было очень круто. А когда ставил оперативку, которую брал на выходные с работы, память увеличилась до 4 Мб. Я мог делать абсолютно всё, это казалось вершиной! Изучил Турбо Паскаль и написал первую программу – для определения пола будущего ребенка на основе дат рождения родителей. Я проверил свою программу на всех своих родственниках и знакомых, кого только знал. Определение пола сработало во всех случаях, кроме меня: я согласно моей же программе, должен был родиться девочкой. Зато я впервые осознал, что у программирования может быть практическое применение. Раньше, понятно, выбор был совсем другой. «Старшие» учились программировать на Фортране, Бейсике, Паскале, Ассемблере. Программы для бухгалтерии или склада писались с нуля в прямом смысле этого слова. О «железе» мы уже говорили. Но со временем развивалось не только оно – менялись сами подходы.  Денис Степин: - «В 2000-х входило в моду визуальное программирование, проектирование паттернов. Мне казалось, что программирование как таковое очень скоро умрет: я буду рисовать процессы, людей, нажимаю кнопку – и у меня сам генерится код. Эти ожидания не оправдались. Сейчас проектирование от программирования полностью отделено, и как будет дальше развиваться – непонятно. Люди рисуют картинки в «фигме», а потом кодят в совершенно других средах. Для меня это как-то странно».  Программисты помоложе стартовали, когда возможности были уже совершенно другими. Максим Шакура начинал с С++ (по его мнению, именно с «плюсов» нужно начинать программирование, потому что после этого языка любой другой покажется простым). В его распоряжении уже были такие инструменты, как Docker и Kubernetes, без которого сейчас не обходится ни один проект – а всего семь лет назад их еще в принципе не существовало.  Конечно, программисты старшего возраста тоже осваивают такие новшества (они же «универсальные солдаты»!), однако относятся к ним не как к чему-то изначально данному: они знают, что мода приходит и уходит, а человек – остается. Вот только что его ждет, скажем, через пять или десять лет?   От точных прогнозов эксперты уклонились, честно объяснив это тем, что ИТ развивается очень быстро, а ожидания часто не оправдываются.  Денис Степин: Большая часть вещей, модных у программистов в начале 2000-х, умерла и не оставила о себе никаких воспоминаний. То, что модно сейчас – через несколько лет, думаю, мы тоже об этом не вспомним. Всякие эджайлы, SCRUM`ы и прочая радость – подозреваю, что через несколько лет и они канут в небытие. Что будет вместо этого? Мне кажется, что создание искусственного интеллекта должно вернуть нас на ту ветку эволюции, где предполагалось, что человек просто и понятно объясняет компьютеру, что нужно, а компьютер делает большую часть работы за него. Не потребуется три уровня «переводчиков» в виде архитекторов, аналитиков, программистов. Светлана и Максим тоже не берутся предсказать будущее своей профессии. Но однозначно считают, что появятся новые высокоуровневые интерфейсы, упрощающие работу программиста в части сборки и отладки кодов. Всю рутину, которую только можно автоматизировать, наверняка автоматизируют. «Но человека вряд ли заменят роботы: потребность в человеческом факторе была, есть и останется», – добавляет Светлана.   Почему ИИ не заменит человека? Возможно, в силу того, что человек так же непредсказуем, как и будущее ИТ. Он может сделать такой «финт ушами», до которого робот никогда не додумается. Зато и результат будет ошеломительным. Вместо финала – еще одна цитата Дениса Степина:  - Я люблю работать в «проектах-камикадзе», потому что именно они ведут к прорыву. Очень рекомендую книгу Эдварда Йордона «Путь камикадзе». Она произвела на меня большое впечатление: я понял, что браться нужно за невыполнимые вещи. Только тогда жизнь в профессии будет иметь смысл». Техноритейлер