Для тех, кто "чуть постарше" термин "индусский кодинг" (оно же "индусский код", "спагетти код") знаком не понаслышке. Штука как "мемная", так и настолько же вызывающая гнев/подгорание/ругань (выбрать по вкусу) при встрече в исходниках.

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

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

В глазах "эффективных менеджеров" программист "тут" ничем не отличался от программиста "там" - кроме того что "специалист там" - был подешевле. Квалификацию и качество результата, конечно же, никто особо не проверял, ведь там было дешевле.

Не находите, что это все очень напоминает "что-то" происходящее вокруг вас, буквально сейчас? Вам уже говорили, что вайбкодер и ии-агент заменят вам программиста, и смогут "сэкономить много-много-денежек"?

Если вы мечтаете о вайбкодинге, или, тем более, "менеджер увлеченный идеями замены программистов" - прошу сначала ознакомиться со статьей под "катом".

Прошлое

История "индусского кода" и "желания сэкономить" в IT - достаточно древняя. Буквально идут рука-об-руку. Запутанный, лапшеобразный, непонятно как работающий, "крайне трудно поддерживаемый", без комментариев и пометок код встречался всегда. Как правило, это были исходники "написанные студентами и школьниками" - "человеками с большими перспективами и надеждами", но в силу объективных причин - в подавляющем числе случаев, увы, с низкой квалификацией (кхм...."пока ещё недостаточной для полноценного решения большей части задач проекта - с учетом как контекста и деталей проекта, так и перспектив долгосрочной поддержки и развития системы").

Периодически то тут то там появлялся какой-нибудь "эффективный управленец", который приводил в компанию или на предприятие "молодого бойкого студента" готового писать "что угодно, как угодно, быстро и за полкопейки" (и оно даже будет работать, вроде бы ) и передавал ему (или пытался передать) разработку в той или иной части. Ну дешевле же, быстрее... Вы знаете, какой исходник генерировал такой бойкий специалист, и что было дальше (через месяц, полгода, год).

Но именно "индусским" такой код стал около 2005-2010 года (примерно) - когда, как я упомянул выше, началось массовый аутсоринг разработки ПО в страны Азии.

Тогда, помнится, многие опасались, что программисты в исходных компаниях останутся "не у дел" - их всех вытеснят дешевые программисты из Азии.

Аналогично и бездумному использованию студентов, использование низкоквалифицированных, хотя и очень дешевых индийский специалистов "в погоне за экономией бюджета" - тоже аукнулось. "Мы все это помним" - от новых "багов", до проблем с технической поддержкой, когда вас и понимают-то весьма с трудом.

По итогу этих событий, термин "индусский код" впечатался в историю IT.

Настоящее

Сегодня нас захлестнула новая "волна погони за экономией", которая "звучит другими буквами", но обладает многими признаками того, что было 15 лет назад по части аутсорсинга.

Адепты нейросетей (и, конечно же, инфоцыгане) добрались до кодинга и активно продают образ когда "нейросетки и вайбкодеры дадут вам удешевление разработки".

"Вайбкодреы дешевле и могут заменить программиста", "ИИ-бот в чате поддержки способен заменить линию поддержки", "все уже установили и используют нейросети" - ну и т.д.

И точно так-же как и с результатами "индийского аутсорсинга" - при детальном взгляде на творения вайбкодинга (именно взглядом квалифицированного технического специалиста - сильного мидла и "выше") - возникает очень много вопросов.

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

Ближнее будущее? Немного слов для новеньких в it

Аналогия с "индусским кодингом" дает прогноз, что большая часть участников "прыгнувших на очередной хайптрейн" обожгутся, кто-то обанкротится, но все наедятся этого инструмента и, понеся те, или иные затраты, вернутся к классической разработке с отдельными сегментами и нишами, где "вайбкодинг" приживется (там, где смогут "четко ставить задачи" и "кодревьювить" результаты).

Уверен, вы и сами многое из озвученного выше уже понимаете, но я хотел предложить ещё одну, ранее не звучавшую, аналогичную ситуацию из прошлого. Плюс одно доказательство адекватности ваших "подозрений внутри".

История так-же рассказана и для предостережения "молодых", которые хотят "ринуться осваивать деньги" вайбкодингом - стать "новыми индусами", т.е. предлагать задешево генерировать непонятно какой код. ( это вы, конечно, сможете. Но я бы не дал вам много времени - вас быстро раскусят. Хотя стратегия "быстро внедрил и подальше отпрыгнул" - будет работать некоторое время в плане зарабатывания денег. Особенно если вы не будете пересекаться с "технарями").

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

Послесловие 1. Обучение технологии vs инфоцыганство

Анализ уже совершившихся ситуаций, или хотя бы причин провала недавних проектов (обзоры - раз, два, три,.. и пр.) поможет не вляпаться в аналогичные последствия вам.

Особенно, если вы решили учиться на "вайбкодера", "промпт-инженера" и пр.

И да, если вам на вебинаре/конференции/презентации не могут ответить на вопрос "а почему компания XXYYZZ отказалась от ИИ - в чем могут быть причины, по вашему мнению?", или "какие у вас были провальные проекты и каковы были причины этих провалов?" - шлите этих инфоцыган лесом.

Неспособность или отказ ответить на причины неудач - первейший признак что вам впаривают курсы "за скромное вознаграждение", а не говорят об "обучении вас технологии" (вот Яндекс, помнится, на конференциях не стесняется говорить о своих провалах, не сочтите за рекламу).

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

Послесловие 2. Вайбкодинг не для обывателей

Нейросети, а в частности вайбкодинг - не для джунов - это инструмент от мидла и выше.

В том числе и потому что :

(а) вам необходимо уметь формулировать задание, структурированно излагать мысли - причем в письменной речи. Попробуйте, попрактикуйтесь, но если хотите получить результат не для "похвастаться перед френдами", то в первую очередь - вы должны быть хотя бы аналитиком, способным писать технические документы. "без ТЗ - результат %;№" (ну вы знаете), "какой бриф, такой и креатиф", и т.д. .

(б) вы должны уметь оценивать и принимать результаты чужой работы - т.е. в случае вайбкодинга - "заниматься кодревью", а это "сильный мидл и выше", уже имеющий работать с джунами. Хотя бы одним.

Кроме того - если вы собираетесь генерировать не только одноразовые сайты-визитки, то надо упомянуть важное отличие области работы вайбкодера от, скажем, областей где работают художники, переводчики, где применяются чат-боты или обработка текста (области где результаты работы нейросетей "как-то приемлемы"): результат кодинга, как правило, используется не столько конечным потребителем (зачастую не способным оценить адекватно что хорошо, а что плохо), сколько попадает к другим участникам процесса разработки - техническим специалистам.

И тут - чтобы не стать "новым вайбкодер-индусом", генерирующим с помощью нейросети исходники, которые ни вы не понимаете ни другие - и за которые вас потом будут вспоминать не самыми теплыми словами - вам надо сначала самим стать хотя бы "мидлом".

Удачного всем роста "до сильных мидлов плюс" и годного вайбкодинга :-)

Комментарии (9)


  1. Schwarzen
    01.09.2025 11:03

    Хабр, как европейское юрлицо, может себе позволить толику расизма!


    1. dplsoft Автор
      01.09.2025 11:03

      "индусский код" - это не расизм. это явление, мем и термин. увы)


    1. Wesha
      01.09.2025 11:03

      расизма

      Повысьте градус неадеквата — заявите ещё, что называть овно овном — это копрофилия.


    1. olku
      01.09.2025 11:03

      Habr Blockchain Publishing LTD. Diagorou 4, KERMIA BUILDING, 1097 Nicosia, Cyprus.


  1. nv13
    01.09.2025 11:03

    Там проблема не только в коде. Мы как то пытались флажок в конфигурации поменять, смотрим в коде написано, что надо написать 9. Ещё задумались, как это, интересно, сделано.. А оказалось в коде и вправду число 9, а в спецификации бит номер 9 считая с 0. Так потом ещё спорить пришлось что надо ставить 512, а не 256... К счастью число 9 ничего там не портило, но и не работало)

    В этом коде всегда есть место, где живёт Шива. У вайберов, по аналогии, там должен скрываться маленький всем скайфойл)


    1. AppCrafter
      01.09.2025 11:03

      Про Шиву это шедеврально!)) а что за контекст у скайфол?


      1. nv13
        01.09.2025 11:03

        Скайнет+Скайфол и фойл - мешанина какая то сумбурная


  1. avecor
    01.09.2025 11:03

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

    А то пишут пишут "напиши мне программу такую-то" и она выдает одним файлом всю программу. А поддерживать или читать это очень тяжело...

    Еще интересная мысль, что использование LLM очень сильно развращает даже опытных разработчиков. Потом не хочется вручную код писать


  1. Wesha
    01.09.2025 11:03

    Уж сколько раз твердили миру