AI заменит программистов?

AI заменит программистов?

Часто вы слышите данную фразу в форме утверждения? Я в последнее время начал слышать её часто. И чаще это звучит без аргументации, категорически и, что больше всего удивляет, от людей, которые далеки от понимания нейросетей и программирования и просто занимаются ретрансляцией тезисов из новостей без собственного глубокого осмысления. Поэтому в данном посте хочу поделиться взглядом на данный вопрос через личный опыт взаимодействия с нейросетями на работе и наблюдения за этим процессом у джунов.

В 2018 году у меня возникла потребность, чтобы информацию было проще искать. Мне не нравилось, что для ответов на вопросы в ходе разработки, например, стоит ли передавать в конкретную функцию объект или отдельные переменные, нужно было искать похожий кейс на форумах, разбираясь, какой из комментариев содержит правильный ответ. Подобные вопросы у меня возникали часто, так как я уделял отдельное внимание правильному написанию кода. Тогда я был знаком с нейросетями только на уровне знаний о перцептроне с его математическими формулами, но не мог предполагать, что именно этот инструмент в будущем станет решением моей боли. Нейросеть сейчас может дать ответ почти на любой вопрос, тем самым сократив время и усилия на поиск информации вручную. Данную функцию я считаю самой часто используемой среди программистов, и даже новички часто говорят мне, что обучаются с помощью ИИ.

В 2023 году я начал использовать ChatGPT в офисе и до сих пор помню своё изумление, когда он впервые сгенерировал для меня одну запутанную функцию на языке JS, которая сработала без ошибок с первого раза. Тогда это была версия 3.5, и в основном я использовал её для ответов на вопросы и генерации mock-данных. На этом месте работы мои знания росли быстро, но обученность ChatGPT возрастала ещё стремительнее. Версии сменялись одна за другой, и уже в последний год работы у меня была подписка Plus, а ChatGPT чаще других программ занимал один из двух мониторов для генерации кода — уже без ошибок и на более высоком уровне. Во времена выгорания и усталости я закрывал тот же объём задач, так как переходил в режим автопилота и генерировал большую часть кода с помощью ИИ. Мне оставалось лишь проверять корректность, тестировать и собирать куски генераций в общую реализацию задачи.

Это сформировало во мне ещё одну потребность — некое ощущение, что чем дольше я нахожусь в роли разработчика, тем больше занимаюсь генерацией кода. А на протяжении всего своего пути до этого я всегда стремился к новым знаниям: когда охотно брался за каждую задачу на фрилансе на незнакомом мне стеке; когда, будучи джуном, единственным в команде согласился часть времени уделять написанию скриптов на Python для Jenkins, хоть этот язык программирования и направление DevOps не были для меня основными; когда постепенно перешёл с бэкенд-разработки на фронтенд и в итоге пришёл к фуллстеку. Мне всегда хотелось знать систему целиком и не стремиться развивать профессионализм только в одном определённом направлении. На тот момент я уже получил опыт и знания полного цикла разработки, начиная от конструирования баз данных и бэкенда до создания интерфейса и деплоя всего проекта. Поэтому ощущение, что я просиживаю место в роли кодера, всё-таки заставило меня оставить работу и до сих пор является причиной, почему я не ищу место в найме. Нейросети оказали значительное влияние на это решение.

На том же последнем месте работы я встретил и джуна, который узнал о программировании в тот же год, когда устроился на работу. Занимался он с наставником и, будучи не силён даже в синтаксисе, смог за год вырасти вместе со мной и ChatGPT, ведь пробелы в своих знаниях закрывал с нашей помощью. На вопросы про код, которые он мог сформулировать письменно, ему отвечал ИИ, а проблемы, которые он мог показать на экране только интуитивно, помогал решать я. Он старался писать свой код вручную, но усилил себя инструментом и прошёл путь джуна гораздо быстрее, чем мог бы. По поводу наставничества стоит упомянуть, что сейчас данный метод обучения становится ещё более востребованным, ведь сам процесс написания кода резко подешевел. Акценты со знания синтаксиса сместились на понимание макропроцессов, что может дать наставник через собственный опыт, а не преподаватель, который умеет только писать код.

Нейросети я считаю отличным инструментом, который взял на себя рутину, усилил разработчиков и закрыл пробелы для тех, кто начал им пользоваться. Я часто встречал людей, которые знали только фронтенд, но смогли создать собственные продукты, делегировав бэкенд ИИ. Пропадут ли джуны? Конечно, нет, ведь это естественный начальный шаг, через который проходит каждый новый специалист, а старые — не вечны. Но само понятие джуна изменится, как и остальные грейды, и IT-отдел в целом. Если раньше на собеседованиях могли мучить вопросами про замыкания в JS, теперь релевантнее будут вопросы об опыте взаимодействия с нейросетью в компаниях и генерации кода.

Программисты многих направлений без использования ИИ будут проигрывать в конкуренции тем, кто его использует — то же самое касается и компаний в целом. А вот сокращения являются логичной ситуацией на примере, когда можно вместо трёх джунов оставить одного более профессионально подкованного специалиста с нейросетью, если остальные двое умеют только кодить. Но и создать компанию можно небольшим числом не самых квалифицированных айтишников, которые делегируют написание проекта ИИ, а сами займутся продажами и маркетингом. Поэтому в ситуации, если IT-команды из нескольких бэкендеров и фронтендеров сократятся до одного-двух фуллстеков, попавшие под сокращение разработчики смогут спокойно создать свой проект. На своём личном примере знаю, как сейчас это стало быстрее и легче.

Пропадут ли программисты? Нет, но профессия изменится: раньше разработчики занимались написанием кода, сейчас — управлением генерацией кода и конструированием системы в целом. Написание кода не является творческим процессом, и у него есть конечное число корректных состояний, достижение которых и является правильным результатом. А те, кто будет работать с ИИ, начнут выигрывать в конкуренции у тех, кто его игнорирует — как на уровне отдельного разработчика, так и на уровне компаний.

Спасибо за внимание, не стесняйтесь участвовать в обсуждении в комментариях или в Telegram.

Начать дискуссию