Все в курсе того, что количество разговоров вокруг ИИ растет с каждым днем. В нашу жизнь вошли такие термины как «вайбкодинг», «промпт-инжиниринг» и другие подобные. Работая в одной из крупнейших ИТ-компаний, я вижу, как в реальности выглядит внедрение ИИ-инструментов для разработчиков. Оно и понятно: эти инструменты обещают кратно увеличить производительность. Но что, по моему мнению, реально будет плотно применяться и являться неким бейзлайном для устройства на работу в ближайшее время?
Во-первых, я не верю в историю "вайб-кодинга", когда человек может вообще ничего не понимать в разработке ПО и пытаться создать какое-то более-менее сложное решение какой-то бизнес-задачи. LLM могут решить задачу, но вопрос качества будет всегда вставать на первое место. Из качества вытекает вопрос безопасности написанного кода. Поэтому мне кажется, что на текущем этапе развития ИИ корпорации не согласятся отказаться от разработчиков. Потенциальные риски принести убытки бизнесу очень велики.
Во-вторых, ИИ ограничивается помещением в контекст определенных участков кода. Это могут быть как небольшие куски кода, когда необходимо поправить ограниченные части функциональности, так и достаточно большие участки. Но тогда LLM сталкивается с тем, что в загруженном контексте достаточно сложно построить правильные связи: между сервисами, брокерами сообщений, базами данных, клиентскими приложениями. На самом деле, это может быть обоюдная вина. Есть легаси, которое никто не поддерживает, а доработки пишут постольку-поскольку или стараются не писать совсем. Есть расхождения между спецификациями — клиентской и серверной (по причине ошибок разработчиков, нежелания или отсутствия процесса актуализации). И всё это породит ещё больший процент ошибок генерации.
Даже если код написан LLM, то будут расхождения в подходах конкретных разработчиков. Эта проблема не решится до тех пор, пока не будет введена единая документация всего проекта, приняты единые стандарты написания спецификаций, кодогенерации на их базе, написания самого кода, обработки клиентских транзакций, работы и запросов к БД, работы с брокерами сообщений. И автотесты, написанные тем же ИИ не решат в полной мере эту проблему.
Как будет выглядеть разработка в ближайшем будущем?
По моему мнению, LLM плотно войдет в жизнь всех разработчиков, которые останутся работать в крупных и не очень ИТ-компаниях. Почему останутся? Потому что обычный день разработчика превратится в бесконечный код-ревью кода, написанного ИИ, а также других разработчиков, которые также отревьювили код из LLM и отправили его коллегам. И джунам как раз будет крайне тяжело в этой парадигме. Иногда говорят: джун с LLM будет выдавать перформанс на уровне мидла, а штат мидлов можно будет сократить и сильно сэкономить. Но проблема как раз в том, что LLM и будет занимать место тех самых джунов. Джуны, ввиду недостаточности опыта, не смогут качественно и оперативно разобраться в том, что генерируется нейросетью, не смогут оценить, насколько хорошо ИИ справилась с поставленной задачей, и скорректировать результат в правильную сторону. Вдобавок, все архитектурные решения принимаются высокогрейдовыми разработчиками.
Сейчас основной «удар» приходится на веб-разработчиков, так как именно в веб-разработке наименьший порог входа, есть устоявшиеся фреймворки и множество готовых решений для реализации задач практически любой сложности. Следом будут другие клиентские платформы. Последними это в полной мере коснется бэкэнд-разработки, так как там всегда повышенные требования к отказоустойчивости, нагрузке, вовлеченность в порой очень сложную и запутанную архитектуру взаимодействий со сторонними сервисами (в широком смысле).
Поэтому я думаю, что крупные ИТ-компании будут концентрировать штат разработки в виде сеньоров, которые умеют работать с ИИ. Сеньоры, которые будут отказываться от использования LLM в повседневной работе, конечно, не будут иметь такого конкурентного преимущества. А компании будут за этим следить.
Соглашаться на найм мидлов компании будут только ввиду недостатка сеньоров на рынке труда, а также для взращивания разработчиков внутри компаний с обязательным прохождением курсов по использованию ИИ в работе. Джунам, которые все же захотят бороться за место в этом новом мире придется работать в маленьких компаниях, максимально быстро набираясь опыта, много учиться в свободное время и развивать свои навыки на пет-проектах.
