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

Так что создание программ — это не просто спросить ИИ и опубликовать. Это путь через изучение множества книг, статей, видео, подкастов. Это широкий объём знаний и понимание, что, где и когда стоит примерять, а когда — нет. Это путь, вымощенный множеством ошибок, каждая из которых чему-то научила.
Даже имея все возможные знания по программированию, ИИ не способен сейчас выдавать готовое решение, учитывая все возможные последствия того или иного выбора, подхода.
Можно написать что-то простое, но то, что вы решите предложить множеству пользователей, да ещё и за деньги, с огромной долей вероятности может привести к серьёзному провалу с большими потерями. Ведь хакеры не дремлют и им только дай повод куда-нибудь залезть. ИИ же учится на всей кодовой базе, а не выбирает лучшие практики.
Программирование — это не только написание кода. Оно объединяет в себе разные направления и разные знания. Сейчас почти никогда не достаточно знать один язык программирования. Нужно понимать, что и как тестировать и вообще понимать, что тесты нужны. Программист должен уметь быть хакером для самого себя, чтобы видеть слабые места программы и заранее озаботиться о безопасности. Нужно быть архитектором баз данных, чтобы понимать, где какой тип данных использовать и как сделать её наиболее эффективной. А чем сложнее получается система, тем больше нужно знать, тем дальше придётся погружаться в серверную архитектуру. А ещё помимо прочего надо понимать, какие есть алгоритмы и как они работают, ведь одна и та же функция, написанная по-разному может выполняться от миллисекунд до часа.
Для программистов другими программистами создано множество инструментов, которые помогают в разработке. Одни из них созданы для удобного хранения кода, другие —- для написания, третьи — для тестирования, четвёртые — для публикации, пятые — для хостинга и т.д. Есть и инструменты, которые напрямую используются через код для оптимизации и ускорения работы программы, непонимание разницы между которыми может сделать даже хуже. Уверен, вы уже прочитали много новых слов, а это только вершина айсберга.
Ко всему прочему, это очень динамично развивающаяся область, которая постоянно меняется. Следовательно, нужно постоянно следить за этими изменениями, чтобы оставаться на волне и быть востребованным специалистом.
Чтобы понимать, насколько это важно, приведу пример: один программист показывал свою разработку онлайн и случайно засветил один из секретных ключей, которые никто не должен видеть, которые должны отдельно храниться, желательно в зашифрованном хранилище с ограниченным доступом. Через несколько минут он потерял доступ к своему проекту.
Неэффективная работа с базой данных в облачном хранилище может привести к потере в десятки тысяч долларов за несколько часов работы.
Игнорирование банальных правил безопасности может запросто привести к банкротству стартапа с потерей всей пользовательской базы.
Всё, что описано выше — это примерно уровень новичка. Чтобы начать реально конкурировать на рынке, нужно погрузиться глубже в каждую из тем, быть знакомым с хотя бы одним инструментом из каждой категории, а также понимать, зачем и когда это можно или нужно использовать.
Вот дорожная карта фронтендера (frontend) — программиста, который разрабатывает визуальную часть программы. с которой непосредственно взаимодействует обычный пользователь .Посмотрите. Там описаны минимальные требования.
Кстати, если вы не понимаете, потому что не знаете английского, то ваши возможности будут очень сильно ограничены. Есть язык, где можно и по-русски писать, но он настолько узкоспециализирован, что его изучение даст очень мало для изучения любых других языков.
Тут вам надо знать язык разметки HTML, таблицы стилей CSS, язык JavaScript, язык на его основе TypeScript, хотя бы один из популярных фреймворков, а также отдельные технологии и инструменты.
Вот дорожная карта бэкендера (backend) — программиста "невидимой" части программы. Там надо знать технологии и инструменты, уметь работать с базами данных, сетью, уметь взаимодействовать с другими сервисами, уметь тестировать, проектировать архитектуру приложения и мн. др. Чисто бэкендеров сейчас почти нет, так что надо ещё знать хотя бы четверть от того, что знает и умеет фронтендер.
Для примера, в одном из проектов мне нужно было знать язык программирования C#, язык запросов SQL, уметь использовать связку HTML+CSS+JavaScript, хотя бы поверхностно понимать фреймворк Angular, а также пришлось разобраться со скриптами на PowerShell и Python. И это только языки, не касаясь всего остального.
Глядя на Инстаграм, можно подумать, что надо всего лишь сделать 20 страниц и хранить пользовательские данные — ничего особенного. Но это только видимая часть, за которой скрывается огромная инфраструктура с дата-центрами, серверами, кэшированием, микросервисами, очередями сообщений, базами данных и пр. Снова много незнакомых слов? А за них ещё и разные специалисты отвечают. И всё это нужно систематизировать, всем нужно управлять. Всё это — огромная команда специалистов самых разных профессий, но почти все так или иначе непосредственно пересекающиеся с разработкой.
Именно поэтому нельзя просто взять и скопировать чей-то большой сайт.

Я не пытаюсь вас напугать, а просто показать, что под реальной разработкой скрывается гораздо больше, чем просто строчки кода, которые вам выдаст ИИ при запросе что-то написать.
Однажды вам может повезти и вы решите, что продукт уже достаточно серьёзный и одного ИИ не хватает, чтобы его менять. И вы решите нанять программиста. Я не знаю всех тех слов, которыми он будет называть ваш проект, т.к. не менее важная часть кода — это лёгкость его чтения и понимания другими программистами. Вам повезёт, если, увидев всё это, кто-то согласится остаться и, прежде всего, перепишет всё это в нормальном, читаемом виде.
Для мелких и быстрых решений, проверок гипотез,и создания небольших участков кода в имеющемся проекте или ускорения монотонных процессов ИИ прекрасно подойдёт. Серьёзный большой проект без помощи программиста и других специалистов сделать не получится.
Это одна из причин, почему мы, программисты, радуемся ИИ. Он не заберёт у нас работу (но да, усложнит вход в профессию), а избавит нас от рутины, оставляя больше времени на действительно интересные, сложные задачи, с которыми нам нравится работать.
Новичок (junior) пишет много кода, чтобы решить проблему.
Средний (middle) пишет меньше, но лучше.
Старший (senior) вообще не пишет код — он просто меняет требования.
Утверждения выше шутливые, но когда вы просите ИИ что-то написать, вы получаете активного новичка. Для меня хорошо выполненная задача — это та, в которой было сделано минимум изменений, максимум удалений кода или написанное что-то абсолютно новое. Бывало, что к некоторым задачам я никогда не приступал, потому что мне что-то в них не нравилось. Как правило, такие задачи отменялись на следующий день. Для этого нужно много опыта, которого нет у ИИ и которому я когда-то завидовал, но не понимал, как можно желать писать как можно меньше кода.
Создание простой программы с помощью ИИ не делает вас программистом, также как забивание гвоздя не делает вас строителем, а приготовление яичницы не делает вас шеф-поваром.
В общем, об этом можно ещё много чего написать. Просто знайте, что разработка проекта — это гораздо больше, чем кажется и вам не обойтись хотя бы без советов опытного программиста, если хотите реализовать собственный проект.
Комментарии (26)
JuryPol
09.07.2025 06:05использовать ИИ с умом.
Увы, но пока это практически взаимоисключающие требования.
amazingname
09.07.2025 06:05Все проблемы с безопасностью, оптимальностью алгоритмов, это второстепенно. Первая проблема будет в сложности. Если приложение чуть посложнее обычного crud, AI агент без грамотного контроля быстро запутается в том что он понаписал и увязнет после простейшего POC. Под грамотным контролем опытного программиста над AI создать работающее приложение тоже все ещё не просто.
Xoccta
09.07.2025 06:05Разделяй и властвуй. Разбивая задачу на мелкие кусочки и используя ии, можно добиваться более эффективного результата. Однако все еще не панацея
muhachev
09.07.2025 06:05Мне не нужно быть строителем, чтобы забить гвоздь, и не нужно быть шеф-поваром, чтобы приготовить пожрать. В крайнем случае, спрошу у иишки, чё как забивать и готовить.
С программированием такая же фигня.
Так что не нужно тут жуть нагнетать, а то ещё придется нам молекулярную биологию изучать перед размножением.
Dmitry_604
09.07.2025 06:05Для простейших действий нет, но например условный каркасник не имея опыта в строительстве вы вряд ли с первого раза построите по инструкции. А если повезет даже - ведь иногда его придется еще и "перебирать" потом, если проводить аналогии.
maingame
09.07.2025 06:05Я не строитель, но сам построил свой дом, я не повар, но дома вкусно готовлю, я не механик, но ремонтирую свой мотоцикл и машину сам. И это еще пока не было ИИ.
Сейчас занимаюсь программированием и во всю использую ИИ для обучения, не думаю что она сделает меня тупее, но гораздо ускорит обучение. Интернет превратился в помойку, сейчас тяжело найти полезную информацию, даже на спец форумах, пусть и псевдо ИИ, но часто выручает.
dv0ich
09.07.2025 06:05Так что создание программ — это не просто спросить ИИ и опубликовать. Это путь через изучение множества книг, статей, видео, подкастов.
Зависит от сложности программы. Простейшие аппки или плагины спокойно ваяются с помощью ИИ, даже если человек совсем ничего не понимает в программировании. Я это наблюдал сам.
panzerfaust
09.07.2025 06:05Написал программку - погромист. Приготовил гречку - повар. Посадил картошку - агротехнолог. Погулял по лесу - лесник. Прокатился по лесу на лисапеде - спортсмен. Принес из леса гриб - миколог. Принес из леса красивый камешек - геолог. Брызнул вэдэхой на скрипучую петлю - слесарь-ремонтник.
Какие еще вопросы для дошкольников обсудим?
Rive
09.07.2025 06:05А если он ещё и получил за эти действия деньги, то получает к титулу приставку "профессиональный".
dv0ich
09.07.2025 06:05Хм, а что не так? Программист это человек, пишущий программы. Профессиональный программист - который за это деньги получает.
Всё остальное это субъективщина и лирика.
KivApple
09.07.2025 06:05ИИ способен выдать работающее решение (сразу или после цикла правок, если ему копипастить ошибки и описывать нежелательное поведение программы) в каком-то проценте случаев. В каких-то бенчмарках это 30% для лучших моделей, в каких-то меньше. Соответственно, в 70% случаев он без помощи человека умеющего программировать не справиться (более того, он в процессе может так "не справиться", что придётся откатывать все его правки).
Однако, это не значит, что ИИ может написать 30% приложений. Потому что в каждом проекте десятки и сотни разных задач. И каждый раз, когда ты обращаешься к ИИ, ты играешь в лотерею, сделает он лучше или хуже. Если ты умеешь программировать, то в 30% случаев ты получаешь быстрый результат (хотя немного спорно, потому что иногда ИИ выдает работающий код, но который будет тяжело поддерживать в будущем и человеку, и даже самому ИИ), в 70% случаев делаешь то же, что и раньше до появления ИИ (ну ещё можно попытаться ему помочь, иногда срабатывает). Если ты программировать не умеешь, то и сделать ничего уже не сможешь.
Истории успеха с ИИ это либо очень сильное везение (что-то из разряда историй, где люди во время дачи интервью по поводу выигрыша в лотерею покупали ещё один лотерейный билет и снова выигрывали - это возможно, но не то на что стоит полагаться), либо у человека таки есть навыки программирования (на худой конец он их получил, разбираясь с кодом ИИ, задавая вопросы и т п - но это такой же труд, как и освоение программирования по книгам и курсам, просто другой метод) и он подправлял ИИ где надо.
И это всё касательно самого очевидного - разработки фич, которые видит пользователь. А есть ещё вопрос информационной безопасности, поддерживаемости кода, масштабирования под нагрузкой. Если то что ИИ не справился с фичей видно сразу, то то что проект завтра поломают хакеры человек без глубоких знаний узнает только завтра, когда будет поздно.
bak
09.07.2025 06:05В каких-то бенчмарках это 30% для лучших моделей, в каких-то меньше.
Только вот вы процент перепутали. Сейчас это ±70% решенных и 30% не решенных (SWE benchmark verified).
В остальном в целом всё так. Люди нужны будут пока хотя бы 1% нерешенных есть.
Ну и ещё этот бенч не оценивает добавляемый технический долг, а это тоже проблема - спустя N итераций бесконтрольного использования LLM кода база всё, конец.
PaddingtonBaby
09.07.2025 06:05Слушайте, не удержался в очередной выдаче рекламных статей пройти мимо своего, никому не нужного, комментирования.
Сейчас такой здравый тренд на "разоблачение" разработки с ИИ и наставление разработчиков на путь истинный, что сразу хочется спросить - а вы, авторы, не пользуетесь никаким ИИ продуктом в повседневной жизни? НЕ ПОВЕРЮ. И даже если начнете рассказывать, что пользуюсь автокомплитом для ускорения ручного написания, или использую ИИ только для написания readme в проектах, и это совсем не то же, что пользоваться агентами или спрашивать в чатах - не опровергнете вышесказанное.
Комментарии о том, что ИИ пишет по кодовой базе и она не всегда хороша - тоже некий субъективизм. Будем говорить прежде всего о том, что важно в словах "безопасность" на вашем сайте, какого уровня ваш продукт, претендует ли он на нечто большее, чем базовая работоспособность и прочее, прочее..
А поговорим о том, что даже начинающий разработчик (для которого, как сказано, написана статья), не использующий пресловутые ИИ в работе - "навертит" ещё больше ошибок в области безопасности или о том, что без ИИ он и не знал бы, что, условно, такой метод атак возможен на его сайт или сервер? И даже если гордо напишет сам, то все равно пойдет уточнять в чатике, нормально ли получилось.
Не защищаю такой метод разработки и абсолютно точно соглашусь с утверждением, что использовать ИИ нужно с напутствиями, пониманием, не с голыми запросами: "а давай сделаем нечто..", но даже с абсолютным владением навыка программирования невозможно избежать глупости, производимой умными продуктами.
ProgerMan Автор
09.07.2025 06:05Я активно использую Copilot, ChatGPT, Perplexity, ранее использовал Copilot от Bing для обучения. Недавно использовал Claude для создания за 5 минут шаблона веб-страницы, с которым я провозился бы не менее пары дней (идеальный результат с первой попытки). Но я не делаю это бездумно. Я чётко знаю, что мне нужно и для чего, всегда проверяя предложенный результат, обычно ещё что-то дописывая или меняя в решении. Лучше всего ИИ сейчас заменяют поиск, выдавая пример готового решения, и отлично избавляют от рутины: написание тестов, однотипные изменения в коде, json в класс, xml-документация, перевод из одного языка в другой и т.п. В общем, относительно кода, выполняет роль стажёра или совсем начинающего программиста довольно хорошо.
Forever-young
09.07.2025 06:05Личный опыт из жизни: разрабатывал социальную сеть, похожую на facebook. В какой-то момент, я решил свернуть и начал делегировать все больше и больше задач ИИ-агенту. Все было хорошо в первое время, функционал рос, времени стало больше. Однако, я столкнулся с ошибкой, про которую я нашёл лишь две ссылки: stackoverflow, github issues. ИИ-агент (в моем случае cursor), не мог решить, постоянно по кругу выполнял одни и те-же изменения. Начал лезть в файлы которые прекрасно работали и сломал заодно. Появлялись ошибки связанные с зависимости, приходилось перезапуска проект несколько раз. Позже я потратил весь день чтобы отрефакторить код. Моя мысль заключается в том, что ИИ конечно крут в программировании, но отдавать ему задачи на аутсорс ещё рано. Ему пока не хватает понимание контекста всего проекта чтобы не только добавлять функционал, но и сверять с тем что уже написано
Ogurche
Все смешалось кони, люди....
Чтобы стать программистом не нужно знать архитектурные паттерны, не нужно задумываться о оптимизации БД и расчитывать серверные стойки, даже знание HTML/CSS нужно только на определенных проектах.
Все эти знания могут пригодится если вы уже программист или если вы попали на веселый проект где нужно сделать все за 7 рублей без команды и вчера.
ИИ и правда сейчас работает на уровне интерна, но программистом можно стать и даже можно написать какую‑никакую программу и даже можно сделать эту программу поддерживаемой если использовать ИИ с умом.
Чтобы понимать, насколько это важно, приведу пример: один программист показывал свою разработку онлайн и случайно засветил один из секретных ключей
Ну и не надо быть гением, чтобы не показавать номер и пароль от банковской карты другим людям
JerryI
*При условии, что ЯП: JS, Python, HTML/CSS и еще пару популярных.
MountainGoat
У меня отлично понимает Rust и Powershell.
Xoccta
Ну Powershell/Bash это вообще-то очень популярно, учитывая, что это базовые инструменты Windows/Linux. Про Rust не могу сказать ничего, так как не знаю
IteraTT
https://habr.com/en/articles/925726/
Вот вчерашняя статья про конвертацию кода delphi в zig. Не сказал бы, что ЯП "zig" можно отнести к категории "популярных".
Calculater
После прочтения статьи осталось впечатление, что автор хотел сказать: "есть идея, хотите закодить? Тогда не лезьте в разработку, а лучше сразу наймите толкового программиста с опытом". А ИИ добавил так, для большей популярности. Раньше можно было SO/курсы, с соответствующими корректировками текста, упоминать (как здесь).
ProgerMan Автор
Ничто не мешает сделать с помощью ИИ сайт-визитку, проверить гипотезу, написать небольшую программу для себя. Но если появляется хоть какая-то работа с пользовательскими данными, регистрацией и, тем более, с деньгами, лучше хотя бы консультироваться с опытными программистами, пока не случилось неожиданности, которые знакомы всем не джунам в разработке.
snakes_are_long
тоже осталось такое впечатление.
статью можно было бы озаглавить "хотите попытаться что-то сделать самостоятельно? забудьте. хотите в чем начать разбираться? даже не думайте начинать"
по-моему автор сильно много на себя берёт, не понятно почему статья заплюсована... а, стоп, она же хаит ИИ в разработке, вот почему
Uporoty
Не путайте разработку ПО и программирование