Заметка с охватом 3,4 тыс. читателей на Habr / Карьера снова подняла старый, но болезненно живой вопрос: чем на самом деле измеряется профессиональный возраст программиста. Не количеством лет в резюме и не числом записей в трудовой, а тем, сколько раз разработчик всерьез менял язык, стек или способ мышления.
Поводом для обсуждения, как пишет Habr / Карьера, стала короткая колонка автора под ником rurikovich. Он предлагает простую метафору: если возраст дерева виден по кольцам на срезе, то у разработчика такими кольцами можно считать кардинальные переходы между технологиями. Смена языка программирования, освоение новой парадигмы, выход из бэкенда во фронтенд, заход в DevOps, Android, управление командой или работа с LLM-агентами — все это, по мысли автора, не просто новые строчки в профиле, а отдельные этапы профессионального взросления.
Логика у этой идеи довольно приземленная и потому цепляет. Разные языки и экосистемы правда учат разному. В одном случае разработчик привыкает к строгой типизации, слоям архитектуры, шаблонам и дисциплине больших систем. В другом — к скорости, гибкости и умению быстро собрать рабочее решение без месячной подготовки. В третьем — к визуальному мышлению, если речь о фронтенде, где код постоянно сталкивается с интерфейсом, поведением пользователя и эстетикой. Автор заметки противопоставляет, в частности, Java и Python: первый ассоциируется у него с тяжелой enterprise-логикой и структурностью, второй — с легковесностью, быстрыми обходными решениями и высокой скоростью сборки продукта. Формулировка субъективная, но спорить с главным тезисом сложно: стек действительно влияет на инженерные привычки сильнее, чем принято признавать.
Самое интересное здесь не список технологий, а попытка пересобрать привычную карьерную шкалу. На рынке до сих пор любят считать годы линейно: три года опыта, пять лет опыта, десять лет опыта. Для HR это удобно, для бюджетирования тоже, для внутренних грейдов тем более. Но любой техлид знает, что два разработчика с одинаковыми «семью годами» могут находиться на разных профессиональных орбитах. Один семь лет пишет один и тот же сервис на одном и том же наборе инструментов. Другой за тот же срок успел пройти через Linux и администрирование, Java, SQL, JavaScript, Vue, React, мобильную разработку, управление людьми, функциональное программирование, стартаповую среду и свежий слой вокруг LLM. Формально стаж один, фактически плотность опыта разная.
Именно поэтому идея про профессиональный возраст программиста попадает в нерв отрасли. За последние годы разработка окончательно перестала быть дорогой с одной полосой. Бэкендеру все чаще нужно понимать фронтенд хотя бы на уровне интеграции и UX-ограничений. Фронтендеру полезно думать о производительности, API-контрактах и инфраструктуре. Мобильная разработка давно живет не в вакууме, а в связке с аналитикой, бэкендом и продуктовыми метриками. Поверх всего этого добавились LLM-инструменты, автоматизация через агентов и новый слой задач вокруг промптов, пайплайнов и оценки качества. На таком фоне «просидел восемь лет в одном углу стека» уже не всегда звучит как признак глубины. Иногда это просто аккуратно оформленная инерция.
При этом заметка не скатывается в культ бесконечного переключения контекстов, и это ей в плюс. Автор прямо пишет, что часть старых колец со временем тускнеет, но не исчезает бесследно. Это важная оговорка. Рынок любит качели: то всем срочно нужны узкие специалисты, то внезапно начинают охотиться за «Т-shaped»-профилями, которые понимают соседние зоны. На практике ценность обычно возникает не от самого факта миграции между стеками, а от того, что человек уносит из предыдущего опыта. Бывший админ иначе смотрит на надежность и эксплуатацию. Человек с опытом в строго типизированных языках чаще жестче относится к контрактам и архитектурным границам. Разработчик, который работал с продуктом или стартапом, обычно быстрее связывает код с деньгами, сроками и поведением пользователя. А тот, кто руководил командой, уже не считает коммуникацию досадным приложением к профессии.
Для бизнеса и найма эта дискуссия тоже полезна. Она аккуратно подталкивает пересмотреть фильтры, по которым оценивают кандидатов. Если смотреть только на непрерывность опыта в одном конкретном стеке, можно пропустить людей, у которых сильнее развита переносимость инженерного мышления. Да, такой профиль не всегда идеально закрывает вакансию «под ключ» в первый день. Зато именно он нередко быстрее адаптируется, спокойнее работает на стыке функций и лучше переживает очередную смену технологической моды. Для самих разработчиков вывод еще проще: карьерный рост все хуже описывается словами junior, middle и senior, если за ними не видно реальных переходов через сложные предметные и технические границы.
В сухом остатке идея про профессиональный возраст программиста выглядит не как академическая теория, а как удобный способ проверить себя без лишней романтики. Сколько у вас было настоящих смен оптики, после которых вы начинали решать задачи иначе? Если таких колец мало, это не приговор, но вполне может быть сигналом: опыт идет, а внутренняя сложность профессии давно стоит на месте.