Во время своего вступительного выступления на конференции DevSparks Chennai Раджендран Дандапани, директор Zoho Corporation, поднял вопрос, который вызывает беспокойство у разработчиков: если искусственный интеллект все чаще выполняет работу, то какова должна быть роль разработчика?
Под названием «Разработчик мертв. Жив разработчик» Дандапани представил свою точку зрения. Несмотря на тревожный заголовок, его аргументация касалась не исчезновения специалистов, а трансформации характера их деятельности. Он процитировал фразу Стивена Джобса, которая, в свою очередь, была адаптацией высказывания Марка Твена, заявив: «Сообщения о нашей смерти сильно преувеличены».
Он отметил, что волнение вокруг разработки с помощью ИИ не является чем-то совершенно новым. В 1957 году, когда Джон Бэкус представил FORTRAN и компилятор, программисты опасались, что машины создадут неэффективный код, а люди, не разбирающиеся в базовом оборудовании, смогут писать программное обеспечение.
Дандапани подчеркнул, что сегодня звучат схожие опасения. Разработчики утверждают, что код, сгенерированный ИИ, может быть неоптимальным, потреблять дорогие токены и позволить людям без традиционных навыков программирования создавать ПО, что иногда называют «vibecoding».
Однако, по мнению Дандапани, технологическая эффективность не всегда означает уменьшение объема работы. Иногда она делает ранее дорогостоящую деятельность достаточно дешевой, чтобы значительно больше людей начали ею заниматься. Он сослался на парадокс Джевонса, который описывает, как повышение эффективности может привести к увеличению потребления ресурса; например, более эффективные паровые двигатели не устранили необходимость в угле. Аналогично, упрощение создания ПО может расширить круг людей и организаций, занимающихся этим.
«Мы не наблюдаем сокращения числа разработчиков. Мы видим изобилие, кембрийский взрыв. Теперь почти каждый хочет создать приложение», — заявил он. Дандапани считает, что более важный вопрос заключается в том, что произойдет, когда написание кода перестанет быть основным узким местом.
Он описал это как очередной этап эволюции роли разработчика. Поскольку ИИ способен генерировать программное обеспечение, разработчики могут перейти от роли основных авторов кода к роли редакторов, директоров и оценщиков того, что создано машинами. «Если сегодня можно построить все, вам не нужно беспокоиться о том, как строить, а о том, что строить. Вот в чем вопрос», — сказал он.
Это ставит высокую ценность на то, чего ИИ не предоставляет автоматически: вкус. Дандапани использовал понятие «разрыв во вкусе» для описания дистанции между тем, что человек создает, и тем, что он знает как хорошее. Традиционно разработчики развивают технические навыки и суждение параллельно, годами учась отличать качественное ПО от низкокачественного. ИИ может нарушить этот процесс, выдавая впечатляющие результаты до того, как пользователь успеет развить суждение для их надлежащей оценки.
«Проблема ИИ в том, что он дал нам великолепие, но не дал нам вкус», — заключил Дандапани. Его рекомендация заключалась в том, чтобы использовать время, сэкономленное благодаря ИИ, иначе. Если разработчик может выполнить задачу в 10 раз быстрее, дополнительное время следует тратить не просто на генерацию в 10 раз большего количества кода, а на понимание, оценку, улучшение того, что создал ИИ.
Он посоветовал: «Если ИИ выполняет вашу работу в 10 раз быстрее, потратьте девять десятых времени на понимание, оценку, редактирование, распознавание и открытие». Существует еще один эффект этого сдвига, с которым придется столкнуться компаниям. Если ИИ возьмет на себя большую часть работы, традиционно поручаемой младшим разработчикам, организации могут нанимать меньше инженеров начального уровня. Однако это также может ослабить поток, который формирует опытных разработчиков завтра.
Дандапани подчеркнул важность обучения через взаимодействие с клиентами, корпоративную культуру и конкретные проблемы, которые пытается решить организация, отметив: «Старший — это тот, кто боролся как младший». Он заверил аудиторию, что разработчик, возможно, не исчезает, а скорее продвигается вверх по стеку. Меньше времени будет уходить на преобразование инструкций в код, а больше — на определение того, что стоит строить, руководство системами ИИ и определение того, стоит ли выпускать их результаты.
