Привет, Хабр !

Возраст дерева можно определить по количеству колец на срезе дерева. Сколько колец столько и лет. А как определить “профессиональный возраст” программиста ?

Есть мысль, что количество эволюционных скачков программиста, которые я достаточно вольно назвал возрастом можно определить по количеству кардинальных смен стека. Например переход в другой ЯП считается за “кольцо на срезе”, изучение новой парадигмы программирования тоже считается за кольцо. Изучение ФП после ООП - считается, изучение фронтенда, если вы бекенд - да, добавили опыт в devops - да и тд и тп.

Почему я считаю, что именно кардинальная смена стека\парадигмы или ЯП делают значительно мудрее? Каждый язык имеет свою философию и формирует у человека специфичный взгляд на решение технических задач. Его можно сравнить в какой то степени с научной школой: проблемы решаемые общие, а способы различаются. Изучая разные “научные школы” вы расширяете кругозор и вбираете в себя частичку их “силы”.

Например Java часто выбирается на больших энтерпрайз проектах и такие проекты закладывают специфичный способ мышления: строгая типизация, много абстракций, паттернов, слоев архитектуры. Зачастую конструкции могут быть сильно избыточными или перегруженными, особенно например на взгляд python программистов.

Тут я выражу свой взгляд и свою проекцию происходящего. Python в моих глазах более легковесный язык, который в свою очередь и формирует другой стиль решения технических проблем. Хотя возможно моя выборка python программистов была не репрезентативна и именно их личные качества, а не общие свойства ЯП навели меня на вывод об общих свойствах философии этого ЯП. Философия Python в моей проекции действительности соотносится со словами “хакнуть”, “найти быстрое неочевидное обходное решение”, “скорость создания ПО” и при этом зачастую не хватает “мощности”, чтобы вытащить айсберг из болота, что по моему мнению присуще строго типизированным например jvm языкам.

Также можно упомянуть например разные фронтенд стеки, специфика задач которых невольно тяготеет к прекрасному: визуал, стили, мокапы и тд и тоже накладывает отпечаток на “личность программиста”.

На своем древе я насчитал следующие кольца:

  1. linux+администрирование

  2. java

  3. sql

  4. js, vuejs, react

  5. android

  6. управление командой - отдельный стек когда надо говорить с живыми людьми вместо того чтобы бить пальцами по клавиатуре

  7. scala + ФП

  8. стартаперы\бизнес

  9. llm\agents

Часть колец уже “потускнели” со временем, но оставили неизгладимый след в весах глубоких слоев моей внутренней llm.

А какие кольца и слои есть у Вас ? Пишите в комментариях, что больше всего на вас повлияло!

Также интересен взгляд старожилов одного стека и ЯП: что придает вам “профессиональную силу” и мудрость ?

Это пятнично-субботняя статья-мнение на вольяжно-философскую тему приглашающая к общению, поэтому не стреляйте сильно в пианиста, а просто поделитесь мнением :)

Всем хороших выходных и безопасных релизов !

Комментарии (27)


  1. TheHost
    07.08.2026 21:38

    по фронтенд части, если 15+, примерно такие - delphi, win forms, silverlight, php, java, jquery, backbone, react, typescript, микрофронты, react hooks, vue, alpine.


    1. rurikovich Автор
      07.08.2026 21:38

      Так то я тоже лихо стартанул с линукса и совсе забыл про университетские паскаль (делфи напомнило про него) и лисп :)

      Лисп - точно как говорят психологи, моя психика вытесняла как могла.


    1. gtwenty
      07.08.2026 21:38

      Выглядит как резюме джуна до эпохи llm.


      1. rurikovich Автор
        07.08.2026 21:38

        Видите как интересно эпоха llm искажает реальность.


        1. rurikovich Автор
          07.08.2026 21:38

          Поделитесь своими слоями ?


          1. gtwenty
            07.08.2026 21:38

            1. Linux, администрирование, шелл-скрипты

            2. PHP, HTML, CSS, MySQL (ещё в школе, уровень соответствующий) + сайты на всяких там CMS.

            3. PHP, Backbone.js, jQuery, MySQL - первый опыт коммерческой разработки.

            4. Python / Tornado + PostgreSQL, тогда же начал использовать системы контроля версий (Mercurial, Subversion, чуть позже git)

            5. PHP+Yii2, Docker, CI (GitLab)

            Чуть позже допишу дальше


          1. gtwenty
            07.08.2026 21:38

            Дописываю (считать с 6)

            1. О6лака (aws), Python / Flask, NoSQL-СУБД, первые удачные интеграции ML-пайплайнов.

            2. Руководство небольшой командой разработчиков и датасатанистов

            3. Облака, микросервисы и.т.д. (сейчас нахожусь здесь)


  1. Dhwtj
    07.08.2026 21:38

    Хорошо, что проекты со статической типизацией и с функциональным программированием были у меня до проектов, растущих из PHP 5 (брезгливость), а хорошо продуманные раньше плохо продуманных. Теперь я могу вытаскивать плохие до хорошего уровня, а не наоборот


    1. rurikovich Автор
      07.08.2026 21:38

      Чтобы тащить хорошие проекты до плохого уровня надо тоже уметь :)) не так то просто обойти все архитектурные барьеры, патерны и настоятельные рекомендации коллег и руководства :))


      1. Dhwtj
        07.08.2026 21:38

        Архитектурные барьеры как крепость: если активно не защищать крепость в итоге взломают


  1. FixicusMaximus
    07.08.2026 21:38

    Нее, не то. Чем сложнее предметная область и выше ответственность, тем круче уровень. Все ваши свистоперделки это мишура.


    1. rurikovich Автор
      07.08.2026 21:38

      Частично могу согласиться, что предметная область если сложная это стимул к развитию , ответственность тоже. В том плане что ответственность означает высокую цену ошибки и более того что человек ошибался и платил из "своего кармана"( временем, усилиями, нервами) эту цену за свои ошибки.

      Но все таки если я вижу резюме где человек 10 лет на одном стеке и в одном проекте пусть и очень сложно , то у меня закрадываются сильные сомнения, например что он безынициативный, не интересуется развитием технологий и сложно представить что ни разу не пришлось коснуться смежных областей и технологий.


      1. FixicusMaximus
        07.08.2026 21:38

        Не, ну мы же с деревом сравниваем: сердцевина - это образование (не только высшее, лучше со школьного аттестата смотреть), потом каждое новое кольцо это новая предметная область, "интереснее" предыдущей, а также более солидная должность, стэк может оставаться прежним, но не обязательно. Это с одной стороны. С другой никто вас в сложную предметную область просто так не возьмет и не посадит на ответсвенное место, дураки есть, но их мало. Короче дорасти надо. А если вы 10 лет сисадмините в "рогах и копытах", то с вами и так все ясно.


        1. rurikovich Автор
          07.08.2026 21:38

          В такой более полной формулировке соглашусь.


        1. werevolff
          07.08.2026 21:38

          Я думаю, вы просто смешали в статье технологический стек, знание ЯП и предметные области в одну кучу.


          1. rurikovich Автор
            07.08.2026 21:38

            У этой статьи не было цели их четко разделять, поэтому в какой то степени вы правы. Но может вы подробнее свою мысль раскроете ?



      1. pon007
        07.08.2026 21:38

        Ну вот я весь свой трудовой путь сисадмин. И (почти) всегда был сисадмин и остаюсь им. Но это совсем не значит, что я не интересуюсь технологиями и смежными областями - нормальный сисадмин как минимум должен уметь в пару скриптовых языков (bash, python, powershell).

        Пришлось мне за свою карьеру ЧПУ-станки и ip камеры чинить и местами паять, видеонаблюдение и скуд настраивать, сайты на laravel и на django писать (и битрикс обслуживать, чтоб его черти драли)... да много-много еще чем приходилось заниматься.

        Сейчас больше ушел в докер, кубернетес, airflow и разворачивание/обслуживание кластера greenplum с базой на 5+ Тб.

        При этом все мои должности в трудовой - "системный администратор", пусть и в разных компаниях.

        Мне давным-давно не приходилось искать работу, но если по-честному резюме писать, я могу написать "знаю" разве что про докер и с натяжкой про линукс, остальное - "трогал и что то умею". Так что по резюме так и получится, что я безинициативный и ничем не интересуюсь, хотя по факту это далеко не так.


        1. rurikovich Автор
          07.08.2026 21:38

          Если по факту не так значит дело просто в том что в резюме не упомянуты важные факты и детали. Ну и линукс большой и докер и тд тоже много разного интересного.

          А так да резюме зачастую очень смутное представление о человеке передает. По факту может быть все по другому при чем в обе стороны


          1. pon007
            07.08.2026 21:38

            Написал что знаю докер, потому что изучил его архитектуру и принцип работы и применил на практике.

            На практике это не просто написание Dockerfile, docker-compose.yml, сборка образов и docker-compose up -d (это как раз - "трогал и умею"). Я по примеру "слоёв" файловой системы docker сделал систему разворачивания linux из "слоёв"-архивов на железо по pxe и собственно алгоритм создания таких слоёв с нужным ПО (больше всего гемора с базовым слоем - чтобы загрузчик прописывался bios/uefi и вообще система стартовала).

            Соответственно смогу с чистой совестью сказать, что знаю линукс, когда на практике придётся куда-нибудь кастомное самосборное ядро заливать. теоретически могу и пробовал, но на практике я с такой задачи слился - надо было сделать чтобы старые тонкие клиенты dell wyse стали поддерживать новые протоколы rdp. У них x86(не 64) проц и памяти с гулькин нос - ничего стандартного не влезает. Я сказал, что овчинка выделки не стоит. И так то прав, но было бы на это время, с удовольствием оживил бы эту древность.

            Ну а про резюме... кто ж его сейчас честно пишет то и не преувеличивает свои знания-умения...


  1. FixicusMaximus
    07.08.2026 21:38

    Опять с кнопочкой промазнулся, сорян, ответил на https://habr.com/ru/articles/1066816/#comment_30314650

    Ну, во-первых, я не автор статьи. Во-вторых

    А как определить “профессиональный возраст” программиста ?

    Автор упирает на инструментарий, которым решает, задачи

    А какие кольца и слои есть у Вас ? Пишите в комментариях, что больше всего на вас повлияло!

    Я свои 3 копейки добавляю, что важно не только инструментами хорошо пользоваться, но и сложные задачи ими уметь выполнять, если таких задач много и они разные, то профессионализм выше.

    Я думаю, вы просто смешали в статье технологический стек, знание ЯП и предметные области в одну кучу

    Короче, одно другому не мешает


  1. hyragano
    07.08.2026 21:38

    Пересчитывал свои кольца несколько раз, сбивался, зацикливался, галюцинировал. Плюнул, посмотрел в зеркало, посчитал количество морщин на мешках под глазами, добавил диаметр живота, площадь облысения на голове, длину бороды и количество выпавших геморроидальных узлов... Число комплексное получилось... Узнал у Клода как трактовать всё, что я почитал для понимания своего опыта, он ответил: тебя заменим первым


    1. rurikovich Автор
      07.08.2026 21:38

      Ну тоже метрика :) может она и будет работать лучше научно обоснованных ))

      Я бы не стал на слово верить клоду, мы еще повоюем ))


  1. herzenstube
    07.08.2026 21:38

    1. Язык программирования Python

    2. Компьютерные сети и протоколы (Модель OSI и прикладные протоколы)

    3. Алгоритмы и структуры данных

    4. Язык программирования C++

    5. Паттерны программирования (Observer, Singleton, Interpreter)

    6. x86_64 и ARM ассемблер, стек, соглашение о вызовах

    7. Реверс инжиниринг, отладка дизассемблер

    8. Операционные системы (PE/ELF форматы, страничная организация памяти итд)

    9. Разработка ядра Windows, mini filter drivers, отладка в Windbg

    10. Написание компиляторов, и интерпретаторов, виртуализация