Блог инженера

History is written by its contributors

Зачем писать код, если это лучше делает AI

2026-05-05 время чтения 5 мин Career Ilya Brin

Вопрос, который всё чаще звучит на собеседованиях, в чатах и в голове у разработчиков: зачем вообще писать код, если AI-агент делает это быстрее, без усталости и не просит повышения зарплаты?

Это не риторический вопрос. Это честный вопрос, на который нужен честный ответ.

Сначала признаем очевидное

AI-агенты уже сейчас пишут код лучше среднего разработчика в типовых задачах. Бойлерплейт, CRUD, юнит-тесты, миграции базы данных, REST-обёртки - всё это генерируется за секунды и в большинстве случаев работает с первого раза.

Если ваша работа состоит только из этого - проблема реальна.

Но вот в чём парадокс: компании, которые начали заменять разработчиков AI-агентами, столкнулись с тем, что агенты отлично пишут код, но плохо понимают, зачем его писать. И ещё хуже - когда не надо.

Что на самом деле делает разработчик

Код - это не продукт работы разработчика. Код - это побочный эффект.

Продукт - это решение проблемы. А между “проблемой” и “кодом” стоит огромная работа, которую AI пока делает плохо:

  • Формулировка задачи. “Нам нужна кнопка регистрации” - это не задача. Задача - понять, почему пользователи не регистрируются, и выяснить, решит ли кнопка эту проблему вообще.
  • Выбор, что не строить. Лучшее решение часто - не писать код совсем. Купить SaaS, использовать существующий инструмент, изменить процесс. AI не предложит “не делать это”.
  • Понимание контекста системы. Агент не знает, что этот модуль трогали шесть команд за три года, что в нём есть скрытые инварианты, которые нигде не задокументированы, и что последний раз, когда кто-то “просто добавил поле”, упал продакшен.
  • Принятие ответственности за решение. Агент может сгенерировать три архитектурных варианта. Кто-то должен выбрать один и объяснить, почему - совету директоров, команде, будущему себе.

Опытный разработчик: сместите фокус

Если у вас за плечами 5+ лет опыта, ваш главный актив - не умение писать код. Это умение читать ситуацию.

Что становится важнее

Навык постановки задачи агенту. Качество выходного кода AI прямо пропорционально качеству входного контекста. “Напиши сервис аутентификации” и “Напиши сервис аутентификации для B2B SaaS с поддержкой SAML SSO, где тенант может иметь несколько доменов и настраивать политики сессий” - это разные задачи, и разница в выходе колоссальная.

Навык ревью AI-кода. Агент пишет уверенно, даже когда ошибается. Он не скажет “я не уверен” - он напишет код, который выглядит правильно, но содержит race condition, который проявится под нагрузкой. Умение это найти - человеческий навык.

// AI сгенерировал. Выглядит нормально.
func (s *Service) GetUser(id string) (*User, error) {
    if cached, ok := s.cache[id]; ok {
        return cached, nil
    }
    user, err := s.db.Find(id)
    if err != nil {
        return nil, err
    }
    s.cache[id] = user
    return user, nil
}

// Проблема: map без мьютекса в конкурентном коде.
// AI не знал, что этот метод вызывается из горутин.
// Вы должны были это знать.

Системное мышление. Агент видит функцию. Вы должны видеть систему: как эта функция ведёт себя под нагрузкой в 100x, что происходит при частичном сбое, как её будут дебажить в 3 часа ночи.

Управление техдолгом AI. AI-код накапливается быстро. Без архитектурного надзора через полгода получается свалка, где каждый модуль написан “в своём стиле”, нет единой модели данных, и никто не понимает, как это всё связано.

На что тратить время меньше

  • Написание бойлерплейта вручную
  • Запоминание синтаксиса и API (пусть агент смотрит в документацию)
  • Ручное написание юнит-тестов для тривиальных случаев

Новый разработчик: не пропустите фундамент

Здесь я скажу непопулярную вещь.

Если вы пришли в разработку недавно и сразу делегируете написание кода AI - вы строите карьеру на песке. Не потому что “нужно страдать и писать всё вручную”. А потому что нельзя проверить то, чего не понимаешь.

Агент напишет вам код. Вы запустите его. Он будет работать. А потом перестанет - под нагрузкой, при определённых входных данных, после обновления зависимости. И вот тут вам нужно будет отладить код, который вы не писали и не понимаете.

Что нужно знать “руками”

Не всё. Но некоторые вещи нужно именно прожить, а не прочитать:

  • Отладка. Умение читать стектрейс, ставить breakpoint, строить гипотезы о причине бага. Это мышца, которая развивается только практикой.
  • Работа с памятью и производительностью. Хотя бы однажды написать код с утечкой памяти и найти её. Хотя бы однажды сделать N+1 запрос и понять, почему страница грузится 10 секунд.
  • Понимание асинхронности. Дедлоки, гонки данных, проблемы с порядком событий - их нужно хотя бы раз поймать и починить самостоятельно.
  • Чтение чужого кода. Самый недооценённый навык. AI генерирует код, но индустрия живёт на чтении и понимании существующего.

Как использовать AI правильно

Используйте агента как строгого преподавателя, а не как решебник.

Плохо: "Напиши мне функцию сортировки"
Хорошо: "Я написал эту функцию сортировки, найди в ней проблемы"

Плохо: "Объясни мне, как работает HTTP"
Хорошо: "Я думаю, что HTTP - это X. Где я ошибаюсь?"

Плохо: "Напиши тест для этого кода"
Хорошо: "Я написал тест. Какие edge-кейсы я пропустил?"

Разница: в первом случае вы получаете ответ. Во втором - понимание.

Навыки, которые не устаревают

Есть вещи, которые AI не заменит в обозримом будущем - не потому что они “слишком сложные”, а потому что они требуют контекста, который живёт в людях и организациях:

  • Политика и коммуникация. Убедить команду принять архитектурное решение, договориться с бизнесом о компромиссе, объяснить технический долг CFO - это переговоры, а не задача для агента.
  • Этика и ответственность. Кто принимает решение о том, как система обрабатывает персональные данные? Кто несёт ответственность за ошибку алгоритма? Агент - нет.
  • Доверие и репутация. Команды работают с людьми, которым доверяют. Доверие строится годами и не передаётся по API.
  • Навык задавать правильные вопросы. “А зачем мы это вообще делаем?” - самый ценный вопрос в разработке. И самый редкий.

Что произойдёт с рынком

Честный прогноз: количество разработчиков, которые занимаются написанием типового кода, сократится. Количество людей, которые умеют управлять AI-системами, проверять их output и принимать архитектурные решения - вырастет.

Это не конец профессии. Это смена её содержания - примерно как появление IDE не убило программистов, а калькуляторы не убили математиков. Но те, кто не адаптировался, действительно оказались невостребованы.

Практические выводы

Если вы опытный разработчик:

  • Инвестируйте время в навык работы с AI-агентами как инструментом, а не противником
  • Развивайте архитектурное мышление и навык ревью
  • Станьте человеком, который понимает, когда AI-решение неприемлемо

Если вы начинающий разработчик:

  • Не делегируйте понимание, только рутину
  • Используйте AI для объяснений и проверки своего кода, а не для замены его написания
  • Сфокусируйтесь на отладке, чтении кода и понимании систем - этому AI пока не научит

Код - это язык, на котором вы общаетесь с машиной. AI стал хорошим переводчиком. Но переводчик не заменяет человека, который знает, что сказать.

comments powered by Disqus