Ты в курсе про секретную секту старых джунов в ИТ?
Это особая каста разработчиков, застрявших в профессиональном чистилище. Они уже давно не новички, и внешне — почти сеньоры, но что-то не так. Самое любопытное — многие из них даже не подозревают, что попали в эту ловушку.
Представь: человек годами пишет код, участвует в проектах, но развитие будто поставлено на паузу. Узнаёшь себя или кого-то из коллег? Возможно, ты прямо сейчас работаешь с таким человеком. А может, сам уже несколько лет чувствуешь, что карьера топчется на месте, несмотря на внушительное резюме.
В мире кода есть понятие code smells — признаки плохого кода. Сегодня я расскажу о junior smells — характерных признаках «старого джуна». У каждого из них есть яркие черты, по которым их легко распознать. И, что самое важное, — для каждого из этих признаков я подготовил конкретное решение, которое поможет перейти на следующий уровень.
Семь ключевых признаков, по которым можно безошибочно определить, кто действительно вырос, а кто лишь притворяется.
Признак №1 — Джун в маске сеньора
Этот тип разработчика внешне уже не выглядит новичком. Он легко оперирует модными терминами, посещает метапы и тренинги, но за технической болтовнёй скрывается отсутствие глубинного понимания. Он может эффектно говорить о полиморфизме, асинхронности и инъекциях зависимостей, но сам не до конца понимает, что стоит за этими словами.
На собеседованиях такой разработчик теряется, когда речь заходит о конкретике. Он заменяет реальные примеры расплывчатыми описаниями и отсылается к статьям, которые недавно прочитал. Терминология становится для него щитом, прикрывающим пробелы в знаниях. Со временем он начинает верить в собственную иллюзию компетентности, и это делает ситуацию ещё опаснее.
Как распознать «джуна в маске сеньора»:
-
Его словарный запас внезапно расширяется после конференций и курсов.
-
Он не может объяснить технические концепции простыми словами.
-
При просьбе привести пример реализации уходит в абстрактные рассуждения.
-
Агрессивно реагирует на уточняющие вопросы.
-
Уверенно высказывается о технологиях, с которыми не работал.
Сначала он вводит в заблуждение других, потом — самого себя. Это болото, которое затягивает, если вовремя не остановиться.
Как выбраться из этой ловушки:
Проверка реальности. Возьми несколько часто используемых терминов и попробуй объяснить их человеку без технического фона. Если не получается — это тревожный сигнал.
Честность. Лучше признаться, что ты не эксперт, чем строить из себя того, кем не являешься. Такая открытость вызывает больше доверия и уважения.
Глубина вместо ширины. Вместо того чтобы прыгать по поверхностям десятков технологий, выбери одну и разберись в ней по-настоящему.
Разница между настоящим сеньором и застрявшим джуном часто не в опыте, а в умении признавать свои ограничения. Сеньор не боится сказать «не знаю», потому что знает, как быстро разобраться и выдать качественное решение.
Признак №2 — ИИ-зависимость
Когда-то это был синдром «копипасты» со Stack Overflow. Сегодня — новое поколение зависимости: от нейросетей. Всё начинается с удобства — автодополнение, готовые сниппеты, помощь в дебаге. Но со временем инструменты становятся костылём, без которого разработчик чувствует себя беспомощным.
Без доступа к ИИ сервисам такие разработчики теряются. Задачи, которые казались простыми, зависают. Не хватает уверенности, чтобы написать или оптимизировать код без подсказок. Работа превращается в цепочку запросов и ожидания генерации решений.
Проблема не в самом ИИ — инструменты действительно полезны. Опасность в том, что постоянная опора на них постепенно отучает мыслить самостоятельно. Теряется инженерное
Как распознать ИИ-зависимого:
-
При сбоях в работе ИИ впадает в ступор и откладывает задачи.
-
Не может объяснить логику кода, который сгенерировал.
-
Код полон лишних комментариев, оставленных ИИ.
-
Теряется при необходимости изменить или доработать сгенерированный код.
-
Часто внедряет чрезмерно сложные решения для простых задач.
Становится не программистом, а высокооплачиваемым оператором генерации кода. Это опасный путь, ведущий к профессиональной стагнации.
Как превратить ИИ из хозяина в помощника:
Осознанное ревью. Проверяй код от ИИ строже, чем написанный коллегой. Не доверяй слепо. Разбирайся в логике, проверяй каждую строчку, как будто писал сам.
Думай сам. Перед тем как обращаться к ИИ, набросай структуру решения самостоятельно. Используй нейросеть для усиления своей идеи, а не вместо
Разнообразие источников. Пробуй несколько моделей на одну задачу. Когда увидишь разные варианты, придётся вникать, сравнивать, выбирать. Это развивает критическое
Баланс. Используй ИИ для ускорения рутинных задач и проверки идей. Но архитектурные решения, оптимизация, алгоритмы — оставляй себе. Так ты будешь расти и сохранять интерес к профессии.
Настоящий сеньор не боится ИИ. Он умеет использовать его как инструмент, оставаясь автором решений. Когда ИИ начнёт собеседовать людей — победят те, кто способен мыслить самостоятельно. Потому что даже машине скучно общаться с тем, кто просто жмёт на кнопку «сгенерировать».
Признак №3 — Мастер временных решений
Это один из самых распространённых и опасных признаков старого джуна. В условиях дедлайнов, давления, багов на проде и непрерывного потока задач, он начинает использовать «временные решения» — быстрые костыли, которые якобы потом будут переписаны.
Но «временное» легко становится вечным. Классические следы в коде: // TODO
, // FIXME
, // HACK
, комментарии вроде «переделать позже» или «удалить после релиза 2.1». Эти обещания не исполняются. Так рождается технический долг, который никто не хочет трогать.
Проблема не в том, что временные решения плохи сами по себе. Иногда они действительно необходимы. Проблема в том, что джун никогда к ним не возвращается. Он забывает, игнорирует или считает, что раз код работает — трогать не нужно.
Как распознать мастера временных решений:
-
Его код усеян комментариями с обещаниями «переделать потом».
-
Старейшие из «временных решений» живут в проекте годами.
-
На любые предложения о рефакторинге он отвечает, что сейчас не время.
-
Часто говорит: «Сделаем быстро, а потом нормально» — и забывает.
-
Увеличивает технический долг быстрее, чем растёт его скилл.
Такие костыли превращаются в ловушку для команды. Любое изменение становится опасным, а поддержка — дорогой и нервной.
Как перестать быть мастером временных решений:
Из комментариев — в задачи
Не пиши «TODO» просто в коде. Создавай полноценную задачу в трекере с описанием проблемы и желаемым решением. Так о ней не забудут.
Бюджет на техдолг
Договорись с командой выделять 15–20% времени в спринте на устранение технического долга. Когда это часть процесса, задачи по улучшению не тонут в хаосе.
Сделай проблему видимой
Создай дашборд или отчёт по техдолгу и покажи его команде и менеджерам. Визуализированную проблему игнорировать сложнее.
Объясняй техдолг бизнесу
Используй понятные метафоры. Технический долг — это как процент по кредиту. Сегодня не страшно, завтра становится обременительно, а потом ты банкрот и не можешь внедрять новое.
И главное — помни: твои костыли обязательно вернутся. Может быть, в другом проекте, может, в чужом коде, но с такой же логикой. Это как карма в IT: что посеял — то и пожнёшь.
Признак №4 — Переусложнитель
Переусложнитель — это не обязательно джун. Это скорее переходная форма: разработчик, обладающий уже неплохими знаниями, но не научившийся правильно дозировать их применение. Он знает архитектурные паттерны, умеет строить сложные системы, но не понимает, когда это уместно, а когда — просто избыточно.
Вместо простого фильтра по категориям он проектирует полнотекстовый движок с автодополнением и кэшированием. Вместо простой логики — модуль с тремя слоями абстракций. Всё выглядит «по уму», но на практике такие системы быстро становятся неподдерживаемыми и ненужными.
Как распознать переусложнителя:
-
Применяет сложные архитектурные паттерны без реальной необходимости.
-
Строит решения с прицелом на масштабируемость, которую никто не просил.
-
Создаёт абстракции ради самих абстракций.
-
Гордится тем, что его код сложно понять.
-
Проектирует системы для гипотетических сценариев, которые вряд ли наступят.
Ирония в том, что чем сложнее система — тем больше в ней точек отказа. Переусложнитель хочет сделать её надёжной, а по факту превращает в хрупкую конструкцию.
Как выйти из ловушки переусложнения:
Ревью собственного кода
Возьми своё последнее архитектурное решение и задай себе вопрос: «Смог бы я объяснить это стажёру за пять минут?» Если нет — упрощай.
Фильтр решений.
Перед реализацией задай себе три вопроса:
-
Это реально решает существующую проблему?
-
Можно ли сделать проще?
-
Нужно ли решать гипотетические проблемы прямо сейчас?
Дизайн-ревью до начала кодинга
Обсуждай архитектурные идеи с командой заранее. Совместное обсуждение помогает найти простое и элегантное решение там, где в одиночку рождаются излишние конструкции.
Пиши понятный код
Хороший код — это не тот, что заставляет восхищаться сложностью, а тот, который легко читается и модифицируется. Пиши так, чтобы коллегам не приходилось разбираться часами.
Настоящее мастерство — это не умение всё усложнить, а умение убрать лишнее. Как говорил Экзюпери: совершенство достигается не тогда, когда нечего добавить, а когда нечего убрать.
Признак №5 — Скоростной гонщик
Это разработчик, который поставил скорость выше всего остального. Быстрее закрытые тикеты, больше строк кода, меньше обсуждений. На первый взгляд — мечта менеджера. Но только до тех пор, пока не наступает фаза изменений.
Проблема не в скорости как таковой. Проблема в игнорировании качества. Код гонщика часто не покрыт тестами, написан без оглядки на читаемость и сопровождение, перегружен неочевидной логикой. Изменить такой код через месяц — всё равно что разбирать лабиринт без карты. А через полгода — проще переписать заново.
Как распознать скоростного гонщика:
-
Хвастается количеством закрытых задач, а не качеством решений.
-
Считает линтеры, тесты и ревью — лишней бюрократией.
-
Не любит улучшать рабочий код: «зачем чинить то, что не сломано?»
-
Пишет без оглядки на поддержку и изменения.
-
Сам не может быстро разобраться в собственном коде спустя время.
Скоростной гонщик создаёт иллюзию прогресса. Все радуются количеству задач, пока не приходит пора адаптировать продукт под новую бизнес-логику — и тут начинается настоящий кошмар.
Как преодолеть синдром скоростного гонщика:
Качество как основа
Внедри инструменты контроля качества: линтеры, статический анализ, автоматические проверки. Это не тормоза, а защита от хаоса в будущем.
Измеряй то, что важно
Следи за метриками: цикломатическая и когнитивная сложность, связанность классов, размер модулей. Эти показатели напрямую влияют на удобство сопровождения.
Пиши тесты
Без тестов код — это конструкция без фундамента. Любое изменение может её разрушить. С тестами — у тебя уверенность, а у команды — спокойствие.
Пиши для будущего себя
Пиши код так, чтобы через полгода ты сам поблагодарил себя за ясную структуру, чистоту и предсказуемость. Настоящий сеньор пишет не ради спринта, а ради устойчивости продукта.
В долгосрочной перспективе побеждает не тот, кто пишет быстро, а тот, кто пишет так, чтобы потом было быстро и безопасно менять.
Признак №6 — Архитектор незаменимости
Этот тип разработчика не просто пишет код — он строит лабиринты. Сложные, запутанные, полные нестандартных решений, нестабильных зависимостей и неписаных правил. Не потому что так надо, а потому что это делает его единственным, кто может с этим разобраться.
Его цель — стать незаменимым. Чтобы любая правка, любое изменение в его коде требовало его участия. Это создаёт иллюзию ценности, но на деле — опасную зависимость компании от одного человека.
Как распознать архитектора незаменимости:
-
Использует собственные подходы без объяснения логики.
-
Избегает объяснять свои архитектурные решения другим.
-
Единственный, кто может быстро чинить свой код.
-
Говорит, что объяснить проще «сделать самому».
-
Не делится знаниями, считает это отвлечением от «настоящей работы».
Настоящая проблема — не в сложности, а в закрытости. Вместо того чтобы делать команду сильнее, он сознательно превращает себя в узкое горлышко.
Как выйти из этой роли:
Понимание ценности
Настоящая ценность — не в монополии на знания, а в способности делиться ими. Настоящий профессионал делает команду сильнее, а не зависимой от себя.
Пиши читаемый код
Именуй функции и переменные понятно, структурируй логику так, чтобы её можно было понять без пояснений. Код должен быть самодокументируемым.
Обменивайся знаниями
Вместо редких обучающих сессий — ежедневная практика: парное программирование, открытые обсуждения, документация в процессе. Не бойся вопросов, поощряй их.
Строй репутацию по-другому
Пусть тебя знают как того, кто может разобраться в любой части системы, а не как того, кто единственный понимает модуль X. Это безопаснее для команды и прочнее для твоей карьеры.
Настоящий сеньор пишет так, чтобы его код мог поддерживать любой разработчик. Его цель — усилить команду, а не подменить её.
Признак №7 — Мастер пустых ревью
Самый тихий и коварный из всех. Он не пишет плохой код, не строит сложных систем, не тянет на себе костыли. Он просто не мешает плохому коду попадать в прод. Потому что не делает ревью по-настоящему.
Для него ревью — это формальность. Он просматривает изменения за пару минут, пишет «всё ок» и жмёт одобрить. Почему? Иногда — из-за нехватки времени, иногда — из-за неуверенности в себе, а чаще всего — из-за непонимания, насколько ревью важна.
Ревью — это последний рубеж защиты качества. Когда она формальна — ошибки проникают в прод, баги размножаются, и техдолг растёт. А ещё — теряется шанс для командного роста. Ведь в ревью можно не только проверять, но и учиться.
Как распознать мастера пустых ревью:
-
Тратит подозрительно мало времени на проверку, вне зависимости от сложности.
-
Оставляет шаблонные комментарии вроде «выглядит хорошо».
-
Никогда не задаёт уточняющих вопросов.
-
Пропускает очевидные ошибки и спорные решения.
-
Считает, что ревью — это помеха «реальной» работе.
Он упускает главное: одобряя код, он берёт на себя ответственность за последствия.
Как перестать быть мастером пустых ревью:
Уважай процесс
Ревью — это полноценная часть работы, а не побочная активность. Даже небольшой pull request требует 10–15 минут вдумчивой проверки.
Структурируй подход
Сначала изучи задачу и контекст, потом тесты, затем — архитектуру и код. Обрати внимание на корректность, безопасность, производительность, читаемость.
Не бойся спрашивать
Фраза «я не до конца понимаю, что происходит» — это не слабость, а сила. Она показывает, что ты реально читаешь и вникаешь.
Работай с размером
Поощряй маленькие и фокусные PR. Их легче проверять, проще комментировать и быстрее итеративно улучшать.
Смотри на ревью как на инвестицию
Хорошее ревью — это способ не только предотвратить баги, но и прокачать себя. Разбираясь в чужом коде, ты расширяешь кругозор и развиваешь технический вкус.
Когда ты пишешь «одобряю», ты подписываешься под качеством кода. Настоящий сеньор это понимает и никогда не делает это машинально. Потому что ревью — это уважение: к проекту, к команде и к своей профессии.
Джун — это не статус, а состояние
Мы разобрали семь признаков «старого джуна» — разработчика, который вроде бы давно в профессии, но всё ещё не вышел на уровень настоящего сеньора. Возможно, ты узнал в них себя. Возможно, кого-то из коллег. И если при этом почувствовал неловкость — это нормально. Осознание проблемы всегда сначала неприятно.
Но есть хорошая новость: если ты узнал в себе три или больше признаков — это не приговор. Это точка отсчёта. Возможность. Сигнал, что пора меняться. И у тебя есть чёткий план — шаги, которые мы разобрали для каждого признака.
Сеньор — это не количество лет в профессии и не набор модных технологий в резюме.
Сеньор — это отношение к работе и к себе.
Это человек, который:
-
Пишет код не для галочки, а для команды.
-
Берёт ответственность не только за результат, но и за последствия.
-
Делится знаниями, потому что понимает: сильная команда важнее сильного одиночки.
-
Стремится к простоте, потому что знает — за ней стоит настоящее мастерство.
-
Выбирает качество, даже если это медленнее, потому что это быстрее в итоге.
И вот мой вызов тебе:
Оцени себя честно. Возьми лист бумаги, выпиши все семь признаков и отметь те, которые видишь в себе. Затем выбери один, над которым начнёшь работать уже завтра. Не все сразу. Один. Но — с фокусом.
И, если можешь, передай это дальше. Отправь видео или текст коллеге, который, как тебе кажется, застрял. Возможно, это станет поворотной точкой в его развитии.
Потому что именно осознанность — первый шаг к росту. За 25 лет в разработке я сам ловил себя на этих признаках. И понял одну простую вещь: они всегда рядом. Стоит только немного расслабиться — и ты снова в болоте. Но настоящий сеньор не живёт в иллюзии, что «уже вырос». Он бдителен. Он растёт каждый день.
Помни: в разработке нет потолка. Сегодня ты можешь быть старым джуном, а через полгода — сеньором, на которого смотрят с уважением. Всё начинается с честного взгляда на себя.
Автор: bdmitriipro