AI не заменит программистов. Но джунам от этого не легче
Когда говорят о влиянии AI на разработку, спор обычно быстро сводится к двум крайностям.
Первая:
«Через пару лет программисты будут не нужны».
Вторая:
«AI просто ещё один инструмент, ничего принципиально не изменится».
Мне кажется, обе версии упускают самое интересное.
Сеньоров AI действительно вряд ли массово заменит в ближайшее время.
А вот привычный путь от начинающего разработчика до сеньора он уже начинает ломать.
И это может оказаться гораздо более серьёзным изменением рынка.
Раньше простые задачи кому-то нужно было делать
Почти каждый опытный разработчик когда-то занимался довольно скучными вещами.
Поправить простую форму.
Добавить поле в API.
Написать CRUD.
Сделать миграцию.
Исправить небольшой баг.
Написать тесты.
Разобраться, почему не работает запрос.
Это не самая сложная работа.
Но именно на ней человек учился читать чужой код, ошибаться, пользоваться документацией и постепенно понимать, как устроены реальные проекты.
Компания получала недорогого сотрудника.
Начинающий разработчик получал опыт.
Система была вполне логичной.
А теперь эту работу отлично ест AI
Представим задачу:
> Добавь в профиль пользователя поле timezone, обнови API, миграцию и тесты.
Для опытного разработчика это и раньше не было большой проблемой.
Но теперь значительную часть такой задачи можно отдать AI-агенту.
Он найдёт модель.
Посмотрит существующие миграции.
Изменит API.
Обновит типы.
Добавит тест.
А разработчику останется проверить результат.
И тут возникает неприятный экономический вопрос.
Зачем компании отдавать такую задачу джуну на несколько часов, если сеньор с AI может закрыть её намного быстрее?
Проблема не в том, что AI умнее джуна
Это важное различие.
AI может написать плохой код.
Может неправильно понять архитектуру.
Может сломать соседний сценарий.
Может очень уверенно придумать несуществующий API.
Поэтому человек всё ещё нужен.
Но компании необязательно выбирать между:
AI
и
разработчиком.
Реальный выбор всё чаще выглядит так:
сеньор без AI
или
сеньор с AI
или
сеньор + несколько менее опытных разработчиков.
И если один сильный разработчик с инструментами начинает делать объём работы, для которого раньше требовалось несколько человек, давление возникает прежде всего на нижнюю часть этой цепочки.
Получается парадокс
Чтобы стать хорошим разработчиком, нужен опыт.
Чтобы получить опыт, нужна работа.
Чтобы получить первую работу, нужно быть полезнее альтернатив.
А альтернативой теперь становится не другой начинающий разработчик.
А более опытный разработчик с AI.
И вот это уже довольно высокая планка.
«Зато джуны тоже могут использовать AI»
Конечно.
И используют.
Начинающий разработчик теперь способен делать вещи, которые несколько лет назад потребовали бы гораздо больше знаний.
На первый взгляд это должно решить проблему.
Но появляется другая.
Чем отличается сильный разработчик с AI от слабого?
Не скоростью набора кода.
И даже не умением написать хороший промпт.
Главное отличие — способность понять, когда AI сделал ерунду.
Это навык, который сложно получить без опыта
Представим, агент изменил пять файлов.
Код выглядит аккуратно.
Тесты проходят.
Приложение запускается.
Для начинающего разработчика задача может выглядеть законченной.
Опытный посмотрит и спросит:
Почему эта логика теперь продублирована?
Что произойдёт при двух параллельных запросах?
Почему здесь нет транзакции?
Зачем мы вообще меняем этот слой?
Не сломает ли это обратную совместимость?
Почему тест проверяет реализацию, а не поведение?
AI способен помочь ответить и на эти вопросы.
Но сначала человек должен понимать, какие вопросы вообще стоит задавать.
Раньше плохой код хотя бы приходилось писать самому
Звучит странно, но в этом была польза.
Написал ужасную архитектуру.
Через три месяца пришлось её поддерживать.
Возненавидел собственное решение.
Переписал.
Запомнил.
Большая часть инженерного опыта состоит именно из таких маленьких шрамов.
Теперь есть риск пройти этап написания плохого решения, но не получить полного понимания, почему оно плохое.
Потому что значительную часть пути от задачи до кода прошла модель.
Отказаться от AI — тоже плохой совет
Иногда отсюда делают вывод:
«Новичкам нужно запретить Copilot, Cursor и ChatGPT, пока сами не научатся программировать».
Не думаю, что это сработает.
Это примерно как учить современного разработчика без IDE, потому что раньше люди писали код в более простых редакторах.
Инструменты уже существуют.
На работе ими будут пользоваться.
Умение эффективно работать с AI само становится профессиональным навыком.
Поэтому учиться нужно не без AI.
Нужно учиться так, чтобы AI не забирал сам процесс обучения.
Возможно, изменится само определение джуна
Раньше от начинающего разработчика можно было ожидать:
знает базовый синтаксис;
умеет написать простой API;
может сделать CRUD;
понимает Git;
умеет искать информацию.
Но значительную часть этого теперь очень хорошо автоматизирует AI.
Поэтому входная планка может сместиться выше.
От джуна будут ждать не столько способности написать код с нуля, сколько способности:
- понять существующий проект;
- нормально поставить задачу;
- проверить сгенерированное изменение;
- написать или оценить тесты;
- найти пограничные случаи;
- объяснить собственное решение;
- понимать базовую архитектуру.
Получается немного жестоко.
Инструменты для начинающих стали мощнее.
Но требования к начинающим из-за этого могут стать выше.
И собеседования тоже придётся менять
Задача «развернуть строку» и раньше не слишком хорошо показывала способность работать над продуктом.
В мире AI она выглядит ещё страннее.
Если в реальной работе разработчику разрешено использовать AI, логично проверять не только способность написать алгоритм без подсказок.
Интереснее дать человеку небольшой проект и AI-инструмент.
Поставить задачу.
Посмотреть, как он исследует код.
Что спрашивает у модели.
Какие изменения принимает.
Какие отклоняет.
Замечает ли ошибки.
Может ли объяснить результат.
Такое собеседование потенциально говорит о разработчике гораздо больше.
Но кто тогда будет выращивать сеньоров?
Вот вопрос, на который у меня нет хорошего ответа.
Если компании будут нанимать меньше начинающих специалистов, через несколько лет откуда возьмутся новые мидлы?
А потом новые сеньоры?
Нельзя получить десять лет опыта, просто хорошо пользуясь Cursor.
Кто-то всё равно должен пройти через реальные проекты, production-инциденты, неудачные решения, рефакторинги и последствия собственных ошибок.
Возможно, компании просто будут нанимать меньше джунов, но давать каждому из них более сложную работу раньше.
Возможно, изменится образование.
Возможно, появятся новые промежуточные роли.
А возможно, рынок сначала сократит вход для новичков, а через несколько лет обнаружит дефицит опытных специалистов, которых перестал выращивать.
Поэтому я не очень верю в «AI заменит программистов»
Слишком грубая формулировка.
Гораздо реалистичнее выглядит другое:
> AI заменит часть работы, на которой раньше учились будущие программисты.
И последствия этого могут оказаться интереснее самого вопроса о полной замене профессии.
Сеньор получает инструмент, который делает его продуктивнее.
Бизнес получает возможность делать больше меньшей командой.
А человеку без опыта становится сложнее объяснить, зачем компании нужен именно он.
И вот это уже происходит не когда-нибудь после появления AGI.
Для этого достаточно сегодняшних AI-инструментов.
Как вы думаете: AI в итоге упростит вход в разработку или, наоборот, сделает первую работу самой сложной ступенью карьеры?