Мне несказанно повезло, что я успел получить высшее образование до наступления бума ChatGPT.
Я окончил Университет Карнеги-Меллона по направлению «программная инженерия» в 2021 году. LinkedIn уже тогда был завален корпоративным слопом для вовлечения пользователей. Но этот слоп, хотя бы, писался людьми, а не LLM.
Эх, были же времена.
Когда я начал изучать рынок труда, оценка навыков джуниора, по сути, сводилась к одному бинарному вопросу: «Умеешь ли ты писать код?»
В то время, если я хотел запустить с нуля приложение, на это требовался минимум месяц усилий. И даже если ты знал, какие и как использовать библиотеки, как настроить аутентификацию, на что обратить внимание, как докеризировать своё приложение и как настроить автодеплой в пайплайне CI/CD, ты всё равно был обречён мучительно и монотонно набирать код, рискуя наплодить ошибок.
Сегодня же вся эта рутина полностью исчезла. Масштабируемые, обслуживаемые и красивые веб-приложения можно деплоить с Macbook Pro на собственном домене, меньше чем за 6 часов. Я знаю это, потому что сам так делал. Неоднократно. Самые ценные навыки молодого разработчика испарились, и мы по этому поводу даже не чешемся.
Мне страшно за будущее джуниор-разработчиков, и в этой статье я расскажу, почему.
Раньше джуниоры рассматривались просто как наборщики кода. В любой компании бигтеха — от мультимиллиардных гигантов вроде Meta (где мой брат-близнец трудится в роли миддла) и до компаний поскромнее вроде Oscar Health — иерархия выглядела так:
Разработчик уровня Senior или Staff составлял диздок. Как вообще этот документ появлялся? Да как угодно. Он мог быть как лихорадочно набран в 3 ночи по срочному запросу, так и просто спущен от руководства продакт-менеджеру. Конечный результат был один — подробный технический документ, зачастую с фрагментами кода, в котором описывалось, что конкретно нужно создать.
Миддл-разработчик распределял изложенные в диздоке задачи между собой, джуниорами и сеньором, который заканчивал свой проект раньше срока.
Джуниоры же выступали наборщиками кода. Ожидалось, что они будут писать код, но на деле им зачастую не удавалось даже наладить IDE или запустить локально модульные тесты.
И когда впервые вышел ChatGPT, эта иерархия дала трещину. Сегодня же, когда у нас есть модели вроде Gemini 3 Pro и Claude Opus 4.5, она разрушилась окончательно. Можно скормить ИИ документ бизнес-требований (BRD), и он за 15 минут реализует поставленную задачу без вмешательства со стороны человека. Начиная с инструкций и заканчивая пул-реквестом — всё на основе одного промпта.
И мне, как сотруднику Coinbase, у которого в команде нет ни единого джуниора, очень интересно…
Что же сегодня делают начинающие разработчики?
Если бы я закончил статью на этом, она бы просто стала очередным слопом вроде тех, какими заполнен LinkedIn.
Но меня беспокоит то, что всему этому есть подтверждения.
Приведу собственный пример. 30 декабря я написал диздок для новой функциональности: полноценной системы обучения в стиле Coursera для моей платформы алготрейдинга. С видео-уроками, контрольными тестами, учебными материалами, практическими заданиями и сертификатами.
Свои диздоки я составляю несколько иначе. Я прошу ИИ создать HTML-документ, в котором будет просто расписан весь user flow. Такой подход полностью заменяет инструменты вроде Figma, позволяя мне непосредственно видеть, как выглядит процесс пошагово.
Потом на основе этого документа я уже составляю на Markdown диздок, описывающий:
модели данных,
контроллеры и любые асинхронные задачи, которые могут потребоваться,
веб-страницы,
компоненты страницы,
окончательный план реализации.
Итак, 31 декабря я реализовал минимально необходимую основу страницы и 1 января её развернул.
И это не лендинг. Это продакшен-система, где присутствует:
35 компонентов React. Видеоплееры, механизм контрольных тестов, трекеры активности, генераторы сертификатов.
Отслеживание прогресса по 6 модулям и 35 урокам с сохранением между сеансами.
Механизм обнаружения полного просмотра видео с помощью YouTube API, который автоматически отмечает прохождение урока после просмотра 75% таймлайна.
Механизм тестовых заданий с перетасовко�� вопросов, их проверкой, возможностью повтора и отслеживанием баллов.
Генератор PDF-сертификатов с кодом верификации при помощи html2canvas и jsPDF.
Интеграция с учётной записью LinkedIn. Можно добавить сертификат в свой профиль буквально одним кликом.
Система ревью с оценками в виде звёзд, статистикой и функцией редактирования.
Ограниченные по времени промо-акции с таймерами отсчёта и купонами.
Платёжная система: Stripe Checkout, Apple Pay, Google Pay.
Обучающая система, показывающая пользователям, как с нуля выстраивать стратегию алготрейдинга, тестировать её на исторических данных и запускать на платформе NexusTrade.
Код получился весьма неплох. Я помню время, когда писал подобный сам. Тогда у тебя был VSCode, YouTube и Stack Overflow. Кофе лилось рекой, и кружка из-под него могла не мыться неделю. Не буду кривить душой, код не идеален. Но он хорош. Я вполне могу разобрать его логику, и это отчасти внушает уверенность, что в ближайшие месяцы проблем с его обслуживанием не возникнет.
Но даже с учётом возможных трудностей при обслуживании общая математика всё равно изменилась. Одни выходные и последующие попутные правки — это явно быстрее, чем несколько месяцев разработки.
Но эта интеграция в основном опирается на уже реализованную инфраструктуру. Такие компоненты, как платежи и встроенные обучающие материалы, были уже созданы. А вот механизм тестов и управление обучением… всё это полностью новый код.
Два года назад для этого проекта потребовалось бы три разработчика и три месяца реализации, а то и дольше. Я это знаю, потому что сам участвовал в таких проектах. В них старший разработчик занимается архитектурой, миддл — реализует основную функциональность, а джуниор штампует компоненты, пишет тесты, правит граничные случаи.
Тогда работа джуниора состояла в следующем:
на основе предоставленного дизайна создать 35 компонентов UI,
реализовать логику контрольного теста и механизм его проверки,
наладить отслеживание прогресса,
реализовать генерацию сертификатов в PDF,
написать конечные точки API,
исправить сотни мелких попутно возникающих багов.
Вся эта работа — именно реализация — и перекочевала к ИИ.
Я не писал эти 35 компонентов вручную. Я объяснил ИИ, что мне нужно, и проверил выданный результат. Во многих случаях Opus 4.5 генерировал корректный код с первой попытки. Я же лишь принимал решения в духе: Что эта система должна делать? Как должны быть связаны эти части? Каким должен быть пользовательский опыт?
Джуниор выступал эдаким слоем реализации между мыслительным процессом сеньора и рабочим ПО. Сегодня же этот слой почти растворился.
И здесь возникает неудобный вопрос, на который у меня нет ответа: «Если джуниоры не будут пропускать через себя всю эту реализацию, как они выработают чутьё, чтобы стать сеньором? Тем, кто проектирует системы и может отличить дельную выдачу ИИ от мусора.»
Я знаю, что код в порядке, так как имею весь этот опыт. Тот опыт, когда любая идея воплощалась ценой значительных усилий. Сегодня это уже не так — вне зависимости от того, называем мы результат «слопом» или нет.
Я не отношусь к сторонникам мрачных прогнозов в отношении ИИ. И я даже написал вирусную статью на тему хайпа вокруг ИИ, где изложил свой взгляд на вещи.
Но я и не слепой.
На моей первой работе в Oscar Health меня считали прекрасным инженером из-за «выдающейся способности к исполнению». За что? За то, что я умел быстро писать рабочий и качественный код.
А если бы я устроился на ту работу в 2026? Меня что, сочли бы посредственным?
И да, со временем я освоил проектирование систем и научился писать хороший, обслуживаемый код, который люди не боятся брать в ревью. Да, все эти навыки пригодились. Но, знаете, что стало самым полезным (как минимум в моей бывшей рабочей среде)?
Способность быстро выполнять черновую работу.
Сегодня же этого временного барьера просто…нет. ИИ может писать качественный код за считанные часы при минимальном содействии со стороны человека. И если бы это было пределом его возможностей, то вся моя тирада утратила бы смысл. Но ChatGPT вышел 30 ноября 2022 года. То есть прошло всего три года. А что будет ещё через три?
Но я не думаю, что профессия разработчика обречена на корню. Я не верю, что ИИ заберёт всю работу, и что студенты факультетов компьютерных наук сегодня получают бессмысленное образование.
Однако я не могу отвергнуть очевидные вещи.
Роль джуниора существовала, потому что реализация была сложной. Перевод диздока в рабочий код требовал времени, навыков и терпения. Все эти препятствия оправдывали целый уровень в инженерной иерархии.
Теперь же этих препятствий нет.
И что делают джуны сегодня? Возможно, вместо написания кода, они стали делать его ревью — проверять выдачу ИИ, высматривать галлюцинации, вникать в системы достаточно глубоко, чтобы уловить ошибку машины.
Возможно, их роль свелась к чему-то вроде джуниор-архитектора, который уже на ранних этапах карьеры осваивает проектирование систем. А может, эта роль просто исчезнет, и мы придумаем полностью новую модель наставничества? Или же эти специалисты станут переоценёнными ревьюерами кода, от которых не следует ожидать глубокого понимания его работы.
Признаюсь, меня это несколько пугает.
У меня есть совет начинающим разработчикам, и я понимаю, как он прозвучит.
Потратьте год на создание чего-нибудь с нуля. Без Cursor. Без Claude. Без Copilot. И даже без копирования сообщений об ошибках в ChatGPT.
Создайте реальную систему с аутентификацией, базами данных, API и фронтендом на React. Разверните её в облаке, используя только документацию, Stack Overflow и собственное терпение.
Сделайте это, прежде чем идти в реальный мир на свою первую стажировку программистом.
Ощутите всю тягость неудачных абстракций, когда их приходится рефакторить вручную. Испытайте ту боль, когда схема базы данных, которую вы криво спроектировали на втором месяце, начинает давать сбой на восьмом. Почувствуйте, к чему может привести «короткий путь», когда ваша страница начинает грузиться по одиннадцать секунд, и вам приходится выискивать причину, перебирая строки одну за другой.
Это может прозвучать как дедовщина в духе «я же через это прошёл». Как некое отпугивание со стороны того, кто успел забраться наверх, пока не убрали лестницу.
Может, так и есть.
Но вот вам факты: я понимаю, что ИИ сгенерировал хороший код только потому, что сам годами писал плохой. Я улавливаю галлюцинации, потому что тоже совершал такие ошибки. Я доверяю только собственному видению, так как выработал его постепенно. Но и даже теперь я всё равно иногда ошибаюсь.
Как можно выработать чутьё, ни разу не почувствовав провал?
Думаю, никак.
Джуниоры, которые минуют этап всей этой боли, не станут сеньорами. Они станут операторами ИИ — теми людьми, которые могут создавать код, но не умеют его оценивать. Теми, кто может запросто интегрировать губительный пул-реквест, роняющий весь продакшен — просто потому что ИИ был убедителен, а у них не хватило опыта, чтобы увидеть ошибку.
Да, я понимаю, почему мой совет звучит жестоко. Зачем намеренно выбирать трудный путь, когда есть простой? Зачем ограничивать себя, когда другие такие же джуны с помощью ИИ клепают код в 10 раз быстрее?
А затем, что у быстрого пути есть предел. К 2030-му году сеньорами станут не те, кто ставил рекорды по вайбкодингу в 2025. Это будут те, кто умеет отлаживать сгенерированный код, когда он ломается так, что ИИ не может его починить. Те, кто может взглянуть на систему и почувствовать неладное ещё до её оценки по метрикам.
Нельзя выработать это чутьё, просто наблюдая за работой ИИ.
Поэтому, да: пройдите тяжёлым путём. Хотя бы раз. Создайте что-то реальное без костылей. Прочувствуйте последствия каждой оплошности. Наработайте часы. Накопите знания.
Тогда, и только тогда вы сможете браться за инструменты ИИ с пониманием того, что они вам предлагают.
В противном случае нас ждёт поколение разработчиков, которые не смогу разрабатывать без ИИ. И когда ИИ ошибётся — а он будет ошибаться — не останется никого, кто бы знал, как это исправить.
И меня бесит само осознание того факта, что сейчас мы как раз к этому и идём.