Обесценивает ли AI ваш опыт?
В начале года я стал активно использовать AI-агентов и в какой-то момент даже загрустил. Я подумал, что все проекты, которые сделал за последние 20 лет, сейчас мог бы написать ну максимум за два года. А программировать я начал ещё в школе, лет в 15.
2 года вместо 20 лет! Ещё раз: два года вместо двадцати лет!
А сколько нового я бы смог сделать за оставшиеся 18 лет? За этот неполный год я уже запустил с нуля несколько проектов с лендингами, собрал сайт-портфолио и ещё приложение под iOS.
На этом фоне казалось, будто все предыдущие годы я потратил впустую.
Но потом я понял, что неправильно так обесценивать свой труд. Во-первых, многие проекты я оцениваю уже в их законченном виде. А чтобы к нему прийти, потребовалось много итераций: выяснить, что в итоге нужно заказчику, определиться с функциональностью, продумать удобство для пользователей.
Да и за плечами у меня теперь двадцать лет опыта. Мысленно считаю, сколько времени занял бы код, хотя тогда мне ещё предстояло разобраться, как всё это устроить.
Во-вторых, когда я начинал, не было многих привычных сегодня инструментов. И я даже не про AI. Ни Docker-контейнеров, ни React. Я успел поработать с jQuery, Backbone и Knockout. За это время в разработке сменилось несколько поколений технологий.
Но самое главное, из-за чего я недавно подумал «слава богу, всё сложилось именно так», связано с доступностью информации. Тогда её было куда сложнее найти. Даже Stack Overflow ещё только развивался и был довольно пустым.
Свой первый заказ я нашёл через «Из рук в руки». Сейчас даже не все знают, что это. Я поступил на первый курс ИТМО и сразу подал объявление о разработке сайтов, хотя к тому моменту знал только Delphi, Pascal и ActionScript. Кто-нибудь ещё помнит интерактивные Flash-виджеты, которые можно было встраивать на сайты? С ними я уже возился, но хотелось полноценно заняться вебом и тренироваться на реальных задачах.
К своему удивлению, уже через пару дней я договорился сделать интернет-магазин. Пошёл в книжный, купил толстенную книгу по PHP, Ajax и MySQL и сел за работу. Было тяжело. Иногда я буквально бился головой об стену, потому что сроки поджимали, а некоторые вещи не получались. Спросить было некого, где искать ответ, тоже неясно. Пишешь код, а страница выдаёт ошибку, и сидишь днями, пытаясь понять, что не так.
Помню, взял хостинг на Selectel, залил туда код по FTP, а сайт не работал. Сам разобраться не смог, поэтому захватил ноут и поехал к ним в офис. Это сейчас Selectel — огромный облачный провайдер с большим штатом и дата-центрами, а тогда они размещались в небольшом помещении, и всё было по-простому. Меня встретила девушка и отвела прямо к рабочему месту сисадмина. Я сел рядом, открыл ноут, объяснил проблему. Он покопался в моих конфигах, подкрутил кеширование, и всё заработало. Я поблагодарил его и отправился домой. Мог бы я сейчас к ним так приехать? Сомнительно.
Теперь я вижу, сколько всего мне дали такие истории. Приходилось самому искать причину, пробовать разные решения и разбираться, почему одно работает, а другое нет. Вот это и отложилось на подкорке.
Знаете, как у меня сейчас проходят собесы с кандидатами?
— Ты знаешь PHP?
— Нет, но у меня есть AI, и я смогу написать или подправить, если что-то нужно будет.
— Ты знаешь SQL?
— Нет, но я спрошу ChatGPT и разберусь.
И сам по себе такой ответ меня не смущает. Если мне понадобится приложение под Android, я тоже не буду сначала изучать Kotlin, а сразу начну собирать его с помощью AI.
Поэтому на собесе мне интереснее понять, сможет ли человек потом объяснить, что получилось, проверить результат и разобраться, если всё сломается. По одному незнанию PHP или SQL этого не определишь.
Мне здесь помогает накопленная база. Я знаю, как связаны между собой разные технологии, где какой паттерн лучше применить. Могу оценить, удобно ли пользоваться интерфейсом и соответствует ли результат ожиданиям заказчика.
Например, на старте нового проекта AI часто предлагает сразу какое-то сложное enterprise-решение. А мне пока нужно собрать MVP и проверить идею. Опыт позволяет выбрать стек и архитектуру так, чтобы упростить запуск и оставить возможность масштабироваться дальше. Я могу отделить то, что понадобится сейчас, от того, с чем можно подождать, и задать агенту эти ограничения ещё до написания кода.
Так у меня получается доводить проекты до продакшена и реальных пользователей. Но вокруг я вижу и другую картину: человек берётся за свою идею с AI, поначалу всё идёт хорошо, а потом код начинает рассыпаться. Агент чинит одно, но ломает другое, и работа встаёт.
Или получается «программистский интерфейс»: на экране куча кнопок, разбросанных где попало, и непонятно, что с ними делать. Бывает и так, что внешне всё выглядит нормально, но куда ни нажмёшь, везде ошибки.
Поэтому я благодарен, что начинал без AI. Не знаю, как бы иначе заставил себя во всём этом разобраться. Смог бы удержаться от соблазна сразу поручить всё агенту и пользоваться им как обезьяна с гранатой, без понимания, что я делаю и зачем?Теперь мне уже не кажется, что я потратил эти двадцать лет впустую. Именно с этим опытом я и могу сегодня делать столько всего с помощью AI.
Я рад, что застал расцвет AI, когда уже был к этому готов, и надеюсь, что дальше ещё успею сделать много нового и классного.