- PVSM.RU - https://www.pvsm.ru -
Привет, меня зовут Дмитрий, и я программист. Прошлым летом я получил приглашение Яндекса и перебрался работать в Москву. Недавно мне исполнилось 35 лет.
В этой статье я хотел бы затронуть вопрос, который не раз обсуждался на Хабре: насколько реально быть программистом в 35–40 лет? Не ведущим архитектором, не тимлидом, не менеджером проекта, а именно программистом?
Я не раз и не два слышал, что программист — профессия для молодых, там нужны молодые
Я слышал несколько объяснений, почему программист — это якобы профессия для молодых. Давайте-ка их подробно рассмотрим.
Нам говорят: «Программирование требует энергии, которая присуща только молодым. В зрелом возрасте на это уже просто не хватает сил».
Программистам как бы делают комплимент, ставя их на одну доску с лётчиками-испытателями и космонавтами. Комплимент сомнительный. Кстати, я не случайно завёл речь именно о лётчиках. Дамы и господа, посмотрите на этого человека:
Это — знаменитый Чесли Салленбергер, который в 58 лет стал героем США, посадив самолёт на Гудзон.
Справедливости ради скажу: в программировании действительно есть сферы, где после сорока сложно, но не потому, что всё слишком заумно и тяжело, а в силу специфики конкретно этих сфер. Например, игровая индустрия, где зачастую бывают кранчи: люди трудятся более 100 часов в неделю. Если в молодости такое ещё можно потянуть, то в 40 лет здоровье уже вряд ли позволит. Однако здесь вопрос скорее к компаниям, которые практикуют кранчи. Программист и в 40 лет может писать игры, просто не в таком изматывающем и вредном режиме.
Нам говорят: «Знания программиста постоянно устаревают, и к 30–35 годам то, что ты учил в вузе, уже может быть никому не нужно, а переучиваться поздно».
Опять же — вроде бы лестно звучит. Профессия такая интеллектуальная и элитарная, что ты постоянно должен быть на острие прогресса.
Но есть и другие профессии, где надо непрерывно учиться. А 40-летних оттуда никто не гонит.
Вспомним юристов. Законодательство постоянно устаревает. Это норма. Более того, у них ситуация даже более жёсткая, чем у программистов. С выходом стандарта C++20 никто не уволит тех, кто писал на предыдущем стандарте, не потребует от них немедленно переучиваться. А у юриста выбора нет: с выходом новой редакции Гражданского кодекса РФ он обязан её прочесть, запомнить и использовать.
То же самое можно сказать о врачах: они вынуждены постоянно обновлять знания. Чтобы было понятно, до какого возраста должен учиться, к примеру, хирург, прочитаем мнение [2] главного кардиохирурга страны Лео Бокерии:
В отношении врачей так было во все времена: люди хотят лечиться у опытного врача. Кардиохирургов, скажем, в Америке к столу допускают только в 37 лет, а состоится он к 40 годам как самостоятельный хирург, это ещё большой вопрос. Это касается врачей, учёных, преподавателей, людей интеллектуального труда, а также рабочих высшей квалификации.
Обратите внимание на «людей интеллектуального труда» — программисты же к ним относятся, я надеюсь? А значит, опыт здесь так же важен, как и в любой другой интеллектуальной отрасли.
Насколько человек вообще может осваивать новое в зрелом возрасте? Я не педагог, не психолог и не нейробиолог, чтобы квалифицированно ответить на этот вопрос. Однако, как показывает практика, такое вполне возможно. Масса людей находится на острие прогресса и после сорока. Если отвлечься от IT-индустрии, можно вспомнить того же Сергея Павловича Королёва. Основные разработки он сделал после сорока пяти — вряд ли чисто на основе тех знаний, что получил до 30 лет.
Также существуют неявные знания. Их невозможно получить в вузе и почерпнуть из литературы. Потребуется проработать не один год (а порой даже не одно десятилетие) в конкретной отрасли. Программист в 40 лет знает, как надо программировать, а ещё (если он участвовал в так называемых безнадёжных проектах) — как не надо программировать и каких ошибок стоит избегать при выборе архитектуры ПО и написании кода.
Нам говорят: «Да, можно быть программистом в 35–40 лет, но ничего серьёзного такой программист уже не сделает».
Тут следует начать с основ — с самого компьютера. Его создали Эккерт и Мокли. Эккерту тогда было 25, а Мокли — как раз 35 лет.
Перейдём к тем, кто создал что-либо серьёзное после 35 лет. Начнём с известного и авторитетного для программистов Дональда Кнута. Первый вариант своей знаменитой системы TeX он разработал в 1978 году — когда ему было 40 лет. Чуть позже, в 1981-м, он создал концепцию грамотного программирования (literate programming).
Перенесёмся в более близкие времена. Мартин Одерски родился в 1958-м и начал создавать язык Scala в 2001-м — после более чем десяти лет работы над языками Pizza и Funnel (и над GJ compiler, который стал прообразом javac).
Вот ещё один пример программиста, который и в молодости был хорош, и в старости таким остался. Андерс Хейлсберг написал первую версию компилятора Pascal в 1981-м, в 21 год. C# он разрабатывал с 2000-го, когда ему было уже как раз под сорок. А в 2012-м (в 62 года) Хейлсберг начал создавать TypeScript. Я для интереса в своё время смотрел репозиторий этого языка — там от Андерса довольно много коммитов.
Более того, есть мнение, что возраст с 40 до 55 лет для специалистов инженерных профессий самый плодотворный, поскольку накопился опыт и ничто уже не отвлекает от работы: семьёй человек обзавёлся, дети успели вырасти…
Кроме того, не стоит забывать, что любой первооткрыватель стоит на плечах не только десятка гигантов, но и массы хороших работников. Они создали массив инфраструктуры, которая сделала возможной работу первооткрывателя. Кто-то пишет драйверы для видеокарт, а без драйверов разработчики игр ничего бы не могли. Кто-то налаживает протоколы сетевого взаимодействия, а без них разработчики мультиплееров опять же вряд ли чего-то бы добились. Всё это огромный труд, который по большей части не является новаторским и зачастую не воспринимается как нечто серьёзное, чем стоит гордиться. Однако без этого труда все гиганты ничего бы не добились.
Нам говорят: «Программист — это всего лишь первая ступенька в карьере. К тридцати, самое позднее к тридцати пяти ты должен выбиться в руководители, если у тебя есть
Это самое оскорбительное объяснение. Мол, программированием можно побаловаться по молодости, но после тридцати надо заниматься чем-то серьёзным.
Легко понять всю абсурдность этой точки зрения, если попробовать приложить её к другим профессиям. Попробуйте сказать 50-летнему юристу: «У тебя всё ещё нет собственной юридической конторы?» Попробуйте сказать 50-летнему хирургу: «Ты всё ещё не заведующий хирургическим отделением?» Попробуйте, наконец, сказать Салленбергеру: «Посадил самолёт на Гудзон в 58 лет? Нормальные люди в твоём возрасте давно уже собственными авиакомпаниями владеют».
Программист и менеджер IT-проекта — это разные профессии, хотя менеджеры зачастую и вырастают из программистов.
Я считаю позицию «Программист — профессия для молодых» весьма вредной, поскольку она существенно снижает мотивацию. Согласитесь, довольно сложно напряжённо учиться пять лет в вузе, если ты полагаешь, что потом пробудешь программистом тоже максимум лет пять. Представьте, что на врача заставляют учиться восемь лет, но при этом заявляют: «Врач — профессия для молодых, после тридцати надо переходить на руководящие должности». Какой смысл тогда учиться напряжённо все эти годы?
В своё время я пытался это выяснить и выделил два источника:
Однако сейчас ситуация изменилась. Этому есть много причин, но самая важная, на мой взгляд, — демографический провал. До Москвы мне довелось и преподавать в провинциальном вузе, и работать в провинциальных IT-конторах. Могу засвидетельствовать лично: в регионах уже в 2010-м дефицит кадров был очень острый. Молодёжи стало гораздо меньше, и вузы банально не могли поставить нужное количество программистов. Может быть, в Москве и Петербурге это не ощущается, но в остальных городах всё обстоит именно так. Всех 30-летних программистов заменять некем. Очевидно, что они не могут уйти на другие должности — кто программировать-то будет?
Демографический провал привёл к тому, что предельный возраст программиста в регионах начал незаметно, но неуклонно увеличиваться. Происходит ли это в столице — вопрос открытый.
Как относиться к своей профессии? Чему учиться, чтобы в тридцать пять не оказаться за бортом и не жалеть о потерянном в вузе времени? Вот мои соображения.
После тридцати пяти вполне реально быть программистом и устроиться на работу — и не только на какой-нибудь завод на поддержку старой системы, но в современные IT-компании. Главное — развиваться, не бояться нового и любить своё дело.
А что думаете вы? Согласны или нет? Какой опыт у вас?
Автор: Шевченко Дмитрий
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/320693
Ссылки в тексте:
[1] мозги: http://www.braintools.ru
[2] прочитаем мнение: https://tass.ru/obschestvo/5370557
[3] Источник: https://habr.com/ru/post/455080/?utm_source=habrahabr&utm_medium=rss&utm_campaign=455080
Нажмите здесь для печати.