Как я стал Senior-разработчиком благодаря ИИ
Если коротко — ИИ сделал меня программистом уровня senior.
Но сначала немного контекста. Я системный программист с двадцатилетним стажем. Работал с 3D-графикой, вычислениями и низкоуровневым кодом. По уровню написания кода долгое время был middle-разработчиком, работал архитектором. Затем начал активно использовать ИИ.
Что люди не понимают про ИИ
Большинство обсуждений ИИ в программировании звучат примерно так:
— он иногда помогает;
— иногда пишет ерунду;
— иногда ускоряет работу.
На самом деле всё намного интереснее. ИИ умеет писать очень хороший код. Иногда — неожиданно хороший. Не идеальный, но часто — уровня сильного senior. Проблема не в ИИ. Проблема в том, как люди его используют.
Мой способ работы с ИИ
Большинство делают так: «Напиши мне программу X». Это почти гарантированный способ получить плохой результат.
Я делаю иначе. Я разбиваю программу на маленькие функции и отдаю их ИИ на анализ.
Процесс выглядит так:
1. пишу функцию;
2. отправляю её ИИ;
3. получаю улучшения;
4. правлю код;
5. снова отправляю.
Иногда так проходит 5–10 итераций. ИИ умеет улучшать код практически бесконечно. Но важный навык — вовремя остановиться.
Почему бесплатный ИИ кажется «тупым»
Ещё один момент, который многие не понимают: бесплатные версии ИИ сильно ограничены по ресурсам. Поэтому ответы часто укорочены, упрощены и иногда пропускают важные детали. В результате создаётся впечатление, что ИИ пишет посредственный код. Но если разбирать задачу на части — качество резко растёт.
Где ИИ реально усиливает разработчика
За последний год я чаще всего использовал ИИ для оптимизации алгоритмов, анализа архитектуры, рефакторинга, поиска ошибок и улучшения читаемости кода.
Иногда ИИ предлагает решения, до которых я бы сам дошёл… но через несколько часов. Или вообще не дошёл бы.
Некоторые пишут, что ИИ ускоряет человека всего на несколько часов — это глупость. Он может одним ответом выдать код, на написание которого у человека ушёл бы месяц работы.
Что происходит с программистами прямо сейчас
Мы находимся в странном моменте истории. С одной стороны, любой человек теперь может сгенерировать программу, не зная языка. С другой стороны — настоящий хороший код всё ещё требует опыта.
Разница примерно такая же, как между
«я собрал машину из деталей» и
«я выиграл гонку Формулы-1».
ИИ может дать вам детали. Но выиграть гонку всё равно должен человек.
Самый важный вывод
ИИ не заменяет разработчиков. Он делает сильных разработчиков намного сильнее. А вот слабых — почти не усиливает.
И именно поэтому многие сейчас недооценивают происходящее. Они используют ИИ как игрушку. Хотя на самом деле это самый мощный инструмент разработки за последние 30 лет.
PS. Честно признаюсь: эту статью я тоже улучшал с помощью ИИ. Он немного исказил моё изначальное содержание, потому что посчитал его слишком агрессивным. Но основной посыл всё-таки оставил.
Если хотите узнать мое мнение без ИИ фильтра — задавайте вопросы в комментариях. Постараюсь на всё ответить.
1. Можете назвать тройку лучших ИИ для программирования?
Я кой-чего в них уже понимаю, но ваш опыт однозначно больше моего.
Да и оценка программиста в этом деле круче моей ламерской )
2. Как относитесь к ИИ с встроенными редакторами кода.
Есть ли у них реальные плюсы, кроме сомнительного редактора?
Я у вас в ЧС. так что отвечу вот так.
1) Я использую чат gpt и больше ничего, Системный код уровня senior+. Я не пишу на высокоуровневых языках, мне это не нужно.
2) Если вы не опытный программист — то лучше не писать вообще ничего. Возможно высокоуровневый код не создает дыры в безопасности, но ситемный только так. Бесплатная версия экономит ресурсы, он фокусируется на самом последнем запросе, поэтому для экономии, очищает код от лишнего.Я никому не рекомендую писать на системном уровне не имея 10+ лет разработки хотя бы среднего уровня.
Встроенным ИИ не пользуюсь.