Как визуальные платформы ломают культуру разработки и зачем нам нужен контроль над кодом

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

Так вот, теперь наш CEO влюбился попал под очарование Lovable и хочет, чтобы мы начали использовать его или Base44 для ускорения разработки и быстрого внедрения новых фич. По его задумке, дизайнер "набрасывает интерфейс" (в этих визуальных платформах для сборки UI/UX дизайнером), а мы "допиливаем чуть-чуть на бэке" (через API, Карл!), и всё - фича в проде. Time-to-Market стремительно сокращается, мир спасён, а мы свободны от "лишней инженерии".

Я против. Категорически. И да, это война.

Мне есть что терять - но я не буду "вайб-кодить"

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

Что удивительно - многие в команде согласны со мной. Но вслух этого не скажут: боятся идти против начальства, выглядеть "староверами", или просто "не быть командным игроком".

Я не боюсь. Потому что я уже видел, как заканчиваются такие истории.

Как работает Lovable - и почему это боль

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

Lovable - это low-code/no-code инструмент. Что-то между Figma, Retool и Wix на стероидах. Ориентирован на дизайнеров: рисуешь блоки, задаёшь поведения, подключаешь условные данные. Далее - разработчики якобы подключают API, и всё "работает". При первом знакомстве с ним - он просто гипнотизирует, особенно тех, кто никогда серьёзно не программировал.  

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

Но только в теории.

На практике:

  • У нас одна часть проекта на PHP, другая на FastAPI (Python), фронт на VueJS.

  • Lovable использует React, а у нас он применяется всего в одном небольшом подпроекте. Интеграция его в основной стек вызывает вопросы даже на уровне сборки и CI/CD.

  • У Lovable своя логика, свой способ работы с событиями и данными.

  • Стыковка с нашим API - постоянная борьба. То CORS не так, то структура не та, то Lovable кэширует ответы.

  • Тестировать это через CI? Удачи.

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

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

Отдельная боль - это стыковка разных технологий внутри одного продукта. Когда в одном флоу у тебя PHP-сервис, Python-бэкенд, фронт на Vue, а теперь ещё и на React от Lovable с непредсказуемыми зависимостями, ты теряешь управляемость. Это не гибкость - это хаос.

Вот только несколько реальных проблем, с которыми мы уже столкнулись:

  • При обновлении Lovable нарушаются зависимости с Python-сервисом: авторизация по токену ломается из-за несовпадения форматов в кэшах.

  • Из-за того что часть написанная на Lovable запускается в отдельном контейнере, приходится городить отдельные правила для CORS. Всё это ломается при каждом редеплое.

  • Общая сборка требует как минимум трёх разных пайплайнов: один для PHP, второй Python + Vue, ещё одни - для Lovable. Общие тесты невозможны без костылей.

  • Логирование разнесено: что-то в Sentry, что-то Kibana, что-то в stdout внутри Lovable - где искать ошибку, решает удача.

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

На проде это особенно болезненно.

Ещё больше примеров боли

SPECS больше не нужны — ведь всё уже "набрано"
Один из самых опасных эффектов: продакт менеджер перестаёт писать внятные требования. Зачем описывать бизнес-логику, предусматривать сценарии, если визуальный интерфейс уже "готов"? Теперь у нас исчезают product-specs и нормальные требования, потому что всё делается "по ходу" в Lovable. А потом мы неделями разбираем поведение, которое никто не документировал, либо это поведение "красиво написано" при помощи GPT.

Firefox не отображает форму
Причина - кастомный шрифт через их CDN. Почему не грузится? Нигде не написано. В логах - тишина. Надо фиксить.

События обрабатываются на стороне клиента
Отладить невозможно. Иногда форма говорит "успешно отправлено", а запрос не ушёл. Где баг? Гадать - не перегадать, будем фиксить.

Поддержка - ад на земле
Ты не знаешь, где логика: в Lovable или в твоём коде. Что-то ломается - дебажишь всё подряд. Плюс - надо разобраться в коде, который "наREACTил" наш любимый (уж простите за тавтологию) Lovable.

Контраргументы руководства - и почему они не работают

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

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

"Это современный подход!"
Современный - не значит зрелый. Быть в тренде - не цель разработки. Цель - рабочий, масштабируемый, поддерживаемый продукт. Моя жена — любит следовать моде и быть “в тренде”, но она - женщина и ей это идёт (более того, она знает в этом толк), но мужчина ответственный за стабильность продукта - не может себе такого позволить (простите меня, дамы - не хочу никого обидеть).

"Другие компании так делают"
Мы - не стартап из презентации на Product Hunt. У нас не одноразовый лендинг, а зрелая система. И blind copying - худшее, что можно сделать.

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

"Это быстрее!"
Только если это прототип и в первый раз. А потом - борьба с ограничениями.

"Дизайнеры смогут сами делать интерфейсы"
Они сделают то, что выглядит как интерфейс. Но это не UI с UX, логикой и адаптивностью. Это макет.

Где граница допустимого?

No-code не зло. Но у него есть пределы применения, и за ними начинается вред:

  • Когда заменяет документацию. Нельзя строить интерфейс без четких требований и продуктовых ожиданий.

  • Когда отрезают от CI/CD. Если инструмент нельзя протестировать и включить в pipeline - он вне production-стека.

  • Когда нарушает границы ответственности. Дизайнер - не backend-инженер. Frontend - не бизнес-логика. Продакт-менеджер - ни б-г, ни царь и не герой. Путаница здесь приводит к катастрофам.

  • Когда ограничивают масштабируемость. Вырасти на no-code можно, но упереться в потолок - очень быстро и больно.

Я не против no-code как класса:

  • Для прототипов - окей.

  • Для MVP - с натяжкой, но возможно.

  • Для продакшена, где важна масштабируемость и надёжность? Нет.

Особенно пугают попытки завернуть всё это в обёртку "универсального решения". Посмотрите, например, на Base44 - визуальный пайплайн, который обещает объединить UX, API и бизнес-логику в одном потоке. Звучит круто, пока не окажется, что он закрыт, недоступен для отладки и зависим от десятков "магических" связей внутри платформы. Сложность уходит с экрана - но не из системы. Она просто становится невидимой.

А что вместо этого? 

Итак, no-code это не зло - но и не серебряная пуля. Если хочется ускорения и гибкости без потери контроля, есть зрелые альтернативы: 

Figma + Storybook - дизайнер создает UI-макет, а разработчик превращает его в живой компонент с контролем над логикой, состоянием и тестами.

Code-first, UI-assisted инструменты — вроде Plasmic, которые позволяют начать визуально, но всегда с возможностью контроля через код.

Я хочу, чтобы мы серьёзно задумались о том, где мы и что мы. Давайте честно:

  • Любой серьёзный продукт требует контроля над кодом.

  • Прозрачность, тестируемость, архитектура - это не побочный эффект, это основа.

  • Разработчик - не обслуживающий персонал.

  • Строить архитектуру из блоков без понимания её жизни через 6 месяцев - опасно.

Заключение

Наш начальник хочет no-code. Я - нет. И я готов уйти, если мы всерьёз не свернём с этой дороги. Потому что подмена инженерной культуры удобством - это путь к краху.

Я не ретроград. Я не против новых инструментов. Я - за вменяемость. Если вы, как и я, устали "допиливать чуть-чуть" после визуальных экспериментов - знайте: вы не одиноки.

Мы на фронте. И пока - не сдались. Спасибо, что дочитали до конца.


P.S. Наверное вышло слишко эмоционально, просто наболело и захотелось выплеснуть это всё на бумагу HTML.

P.P.S. Если вам тоже приходится объяснять, почему визуальные платформы - это не silver bullet, поделитесь статьёй с менеджером. Или распечатайте и положите на стол.

P.P.S. Чтобы не показаться предвзятым. В данный момент я разрабатываю прототип для одной NLP идеи, при этом вполне себе использую и Сlaude и Windsurf для ускорения работы - разумеется под моим строгим контролем.

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


  1. tsbt
    06.06.2025 13:20

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

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


    1. spirit1984
      06.06.2025 13:20

      А может и не формальный, а засланный конкурентами. Мне кажется, что сейчас самый простой способ в IT-компаниях избавиться от конкурента - это через засланного казачка убедить руководство конкурента оседлать хайп AI и перейти на nocode/lowcode/vibe.


      1. dyadyaSerezha
        06.06.2025 13:20

        Это же классика - как MS заслал казачка а Нокию. И всё. Нокии не стало.


        1. Maccimo
          06.06.2025 13:20

          И всё. Нокии не стало.

          А Нокия-то и не в курсе. Продала отдел мобильных телефонов и дальше себе работает.


          1. dyadyaSerezha
            06.06.2025 13:20

            Если вы про тот микропрыщик, который остался от всемирного гиганта, то да, работает себе.


            1. Maccimo
              06.06.2025 13:20

              Revenue €19.22 billion (2024)

              Вы правы, микропрыщик.


              1. BugM
                06.06.2025 13:20

                Падение с 70 в 2007 до 20 в 2025. При инфляции доллара 50 процентов.

                Всего-то в 5 раз упали.


                1. Astroscope
                  06.06.2025 13:20

                  Всего-то в 5 раз упали.

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


                  1. BugM
                    06.06.2025 13:20

                    Точно бессмысленного? Нокия была царем и богом на рынке телефонов. Рынок телефонов в тех пор вырос на порядки. И этот рост уже тогда ожидался.

                    Я бы тоже отдавал все чтобы остаться царем и богом на рынке телефонов. Это же буквально половина всех денег мира.

                    А то что спасли какую-то мелочь не стоящую внимания. Почему это кому-то может быть интересно? Это небольшой ни на что не влияющий в мире бизнес. Пусть живет. Или пусть умрет. Кому какое дело?


                    1. vanxant
                      06.06.2025 13:20

                      "Нокия была царем и богом на рынке телефонов"

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


                      1. BugM
                        06.06.2025 13:20

                        Это говорит о том что те кто не выжил плохо работали. Или не туда работали. И еще всяких ошибок понаделали. Но не о том что правильно было еще тогда складывать лапки и отдавать гигантский растущий рынок.


                      1. R0bur
                        06.06.2025 13:20

                        Недавно прочитал версию о том, что Nokia уступила в конкурентной борьбе с Apple, потому что её руководство верило в традиционные кнопочные телефоны и не верило в сенсорные экраны. Выходит, что они работали «не туда».


                    1. hochbar
                      06.06.2025 13:20

                      А 2к лет назад Римская империя не знала себе равных.

                      Просто пришли два короля- Apple и Google и порвали всех в клочья, в том числе Блэкбери. У Нокии был единственный вариант если клепать андроид смартфоны. Но тогда он был бы один из многих. Будь там Элоп, не будь там Элопа- все одно, поезд уехал.


                      1. BugM
                        06.06.2025 13:20

                        Вы же слышали про Самсунг? Они совсем не "одни из". Они держат огромный сегмент телефонов. И хорошо на этом зарабатывают.

                        Оправдания вида "да все равно ничего нельзя было сделать, рынок так изменился" для слабых. Проиграли рынок значит проиграли. Другим стоит учиться на их ошибках.


                  1. Wesha
                    06.06.2025 13:20

                    Хорошая книжка в тему


                1. hochbar
                  06.06.2025 13:20

                  Элоп пришел в 2010, Нокиа тогда уже упала до 56, если посмотреть график видно, что падение началось до Элопа.

                  А теперь погуглите в каком году айфон появился.


                  1. BugM
                    06.06.2025 13:20

                    А теперь напишите к чему вы это? И как это связано с сообщением на которое вы отвечаете?


              1. dyadyaSerezha
                06.06.2025 13:20

                Хорошо, я имел ввиду их телефонный бизнес, который сошёл на нет и который, да, они продали. На телефонный бизнес и нацеливалась MS.


        1. D_Dementy
          06.06.2025 13:20

          утверждать, что Noikia == телефончики - это такое... как Smasung == телевизоры


          1. dyadyaSerezha
            06.06.2025 13:20

            Второй раз, имелся ввиду именно телефонный бизнес Нокии.

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


          1. kalitkinvlad
            06.06.2025 13:20

            В нулевых Нокиа только на телефонах и поднялись.


            1. BorisTheAnimal
              06.06.2025 13:20

              Это было бы не точное определение. Нокиа это компания со более чем 100 летней историей. В нулевых она просто приобрела большую известность среди обычных потребителей, за счет производства мобильных. Что в свою очередь стало возможным за счет того, что они сосредоточились на радиосвязи, начиная с 60х годов. И до бума потребительской мобильной связи они активно поставляли решения как для военных, так и для бизнес потребителей. Включая первый базовые станции для мобильной связи. Да и сами мобильные они с 80х производят.


              1. kalitkinvlad
                06.06.2025 13:20

                Легко не ищется, но бОльшая часть дохода у них была от продаж мобильных телефонов.


        1. past
          06.06.2025 13:20

          Казачок из MS пришел в Нокию уже на пожар. На тот момент, она со своим maemo уже проиграла Apple с Айфоном и Google с андроидом


        1. Astroscope
          06.06.2025 13:20

          Это же классика - как MS заслал казачка а Нокию. И всё. Нокии не стало.

          В тред вызывается Ведущий Мобильный Аналитик. А пока, давайте, попробуем вспомнить, в каком состоянии были Nokia на тот момент, когда начали искать спасение в сотрудничестве с Microsoft. Состояние было, иносказательно, таким: неуправляемое пике из экзосферы - поначалу запас высоты был настолько огромен, что курс на практически неизбежную коллизию почти никто не мог и точно никто не хотел видеть, а значит продолжали радостно держать штурвал от себя, по некоторым вполне объективным метрикам видя, что высота все еще огромна, и беспокоиться на перспективу ближайшего десятилетия вроде как не о чем. Второй момент заключается в том, что Microsoft искали аппаратного производителя носителей собственной (уже тогда очевидно провальной) операционной системы, к которой никто из крупных вендоров, включая значимых и успешных в свое время производителей устройств под WinMobile, интереса не проявил, а значит Microsoft точно не были заинтересованы в утоплении Nokia. Тем не менее, на тот момент Nokia уже были в тупике, глупо пропустив очевидную тогда тенденцию перехода на смартфоны - они не смогли своевременно предложить вменяемые аппараты с сенсорным экраном, а историческая завязка на Symbian, который совершенно уже не соответствовал изменившимся обстоятельствам, так и не дала возможности включиться в смартфонную гонку на равных с аппаратами на Android, который тогда тоже не сказать, что был отполирован до идеального блеска, а значит не оставлял шансов другим игрокам не просто вклиниться, а серьезно откусить долю рынка. Но этот тупик еще не был так явно заметен со стороны, да и выйти из него гигантской Nokia ресурсов хватило бы не на одну попытку. Занимательное в этой истории не то, как она закончилась, а то, как невероятно быстро она закончилась. Too big to fail Nokia по самым пессимистичным сценариям должны были упасть на дно, но оставаться в категории "другие" еще многие годы, как это было с куда как менее значимыми для рынка телефонов Sony, например.


          1. dyadyaSerezha
            06.06.2025 13:20

            Интересно, этот текст написан на телефоне или компе? Думаю, что на компе)

            По сути же, вроде всё верно, но. Если держать всё время руль от себя, то теоретически сделаешь мертвую петлю, только головой вовне. Но казачок, навязав свою мертворожденную ОС и упорно не меняя её, поставил руль прямо точно в момент полностью вертикального падения и так его и держал всю дорогу до матушки, понимаешь, земли.


    1. Shaman_RSHU
      06.06.2025 13:20

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


      1. ED-209
        06.06.2025 13:20

        Согласен. Вся фундаментальная проблема в том, что бизнес в использовании ИИ-помощников видит не увеличение доходов (вау, эта фича при текущих показателях даст нам буст 1000%), а видит как исключительно уменьшение, сокращение расходов. Концептуально. Базово. Это уже на костном уровне, в мозге. Не помощник, а дешевая замена. Основа всего получается в итоге: на этом можно сэкономить. Т.е. давайте сократим 10 программистов и заменим их на ИИ-подписку за 20$/мес. Как по мне, сколько ни встречал схожих подобных ситуаций, где начинали "резать, кроить и пороть", в большинстве случаев означался приход "эффективных менеджеров".


        1. Shaman_RSHU
          06.06.2025 13:20

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


          1. ED-209
            06.06.2025 13:20

            Да, но в данном случае у автора мир кардинально перевернулся с вайб-кодингом и с требованиями руководства:

            Как виделось future в голове у автора: программист пишет код, затем скидывает в ИИ "проверь на ошибки, плиз".

            Как вышло на самом деле: ИИ пишет код, скидывают программисту "проверь на ошибки, плиз"


            1. Shaman_RSHU
              06.06.2025 13:20

              Но всё таки ИИ можно доверить писать не код "под ключ". Принимать архитектурные решения он не должен, иначе будет SkyNet :)


              1. ED-209
                06.06.2025 13:20

                Косяк в том, что то самое "решение" о запуске SkyNet будут принимать люди максимально диаметрально противоположные от ИТ.


                1. RichardMerlock
                  06.06.2025 13:20

                  Всегда так было. Инженеры в ящике пилят царь-бомбу. Кнопку жмет генерал.


  1. Rob1nZon
    06.06.2025 13:20

    очередное нытье деда с завышенным ЧСВ с супепупер по его мнению важным продуктом.


    1. Wesha
      06.06.2025 13:20

      Обитатели плато Крюгера приветствуют отважного покорителя пика Даннинга!


      1. Drucocu
        06.06.2025 13:20

        Сие заповедные места никогда не опустеют.


    1. Arioch
      06.06.2025 13:20

      Вам же остаётся чуть-чуть допилить

      А вы это раньше никогда не слышали, если про дедов рассуждаете?

      Фразочка-то сама с длинной бородой.

      Вариант её, который мне лично сильнее всего запомнился:

      - а вот я хочу работать с RedMine, мы в банке с ним работали, я к нему привыкла. Уберите ваш сервер и поставьте RedMine
      - это, наверное, хорошая программа, но она использует Linux, PostregSQL, Ruby и Ruby-on-Rails. Это, наверное, хорошие программы, но каждая из них очень сложная, а я на профессиональном уровне не знаю ни одной из них, и при возникновении любых проблем не только не смогу за конкретный срок их решить, но даже не смогу понять в какой их них четырёх эта проблема случилась.
      - глупости вы говорите, у нас никогда в банке проблем с ним не было! Но если вы такой неуверенный, я приглашу мужа. Он хороший специалист, он вам на сервере всё поставит, а вы просто будете ни за что получать деньги
      - у вас просто отличный муж. А ещё у вас замечательная семья. Давайте так и сделаем, но ещё мы устроим вашего мужа на четверть ставки - на обслуживание этого сервера, он будет ничего не делать и ваша семья будет ни за что получать деньги!
      - вы совершенно испорченный человек, с вами невозможно работать!!!

      Дальнейшее было тоже забавно. Она всё же нашла, где поставить свой Redmine, и кто будет за него номинально отвечать (аутсорсник. То есть вопросы типа "не работает! все отделы стоят! Исправить за 5 минут!!!" будут равнодушно покрываться договором с "3 дня на реакцию". именно на реакцию, а не на исправление. Там тоже умеют писать договора).

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


      1. randomsimplenumber
        06.06.2025 13:20

        Плакали всей маршруткой ;)

        Так в результате контора закрылась то? Если нет - начальница все правильно сделала. Как удобно ей.


        1. Arioch
          06.06.2025 13:20

          начальница все правильно сделала. Как удобно ей.

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

          А я все ждал, что она вспомнит, что такое быть честным человеком, подойдет и просто скажет: "увольняйся, у меня есть человек на твое место и я тебе все равно съем". Я бы уволился, не то место было, чтобы держаться вопреки замдиру. Мы оба бы съэкономили кучу времени и усилий!

          Но видимо в банке людям действительно удаляют мозг и вместо него вставляют слизня...

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

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

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

          контора закрылась то?

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

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

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

          Что проект живым-то держали для того, чтобы я там оставался полу-программистом БД и десктопов, полу-админом, полу-веб-сайтером, полу-поддержкой. Когда вроде каждый отдельный пункт недостаточно большой, чтобы целого человека на него ставить. Закрыть этот ненавистный (якобы) проект, выгнав последнего человека из его команды, было бы самым логичным шагом, и я этого ждал. Его наработки, возможно, можно было бы раздербанить на несколько специализированных программ с одной простой функцией и системой монетизации "за каждый документ", а не "за месяц/год/бессрочно". Потому что такое уже начиналось, и вопреки моему скепсису показало себя неплохо. Логично бы было пройти эту дорогу до конца.

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

          Ещё через год был релиз, в котором, я подозреваю, была наконец сделана видимой функция, которая там была уже лет 5 (поддержка Libre/Open Office), но которую запрещали делать видимой, чтоб не пугать и не путать пользователей. Хотел скачать и посмотреть по обоим пунктам, но обнаружил, что начисто забыл внутренние пути WWW-сервера, по которым всегда можно было скачать релиз "без СМС и регистрации", а имевшиеся у меня материалы компании я на самом деле стёр в день увольнения. Так и осталась эта небольшая загадка навечно неразгаданной.

          Последнее, что я слышал - ещё раз, это всё про проект, который "даже тебя одного не окупает, в убыток работаем"! - звонок с просьбой подсказать, как его собрать без HASP-защиты, чтобы продавать для Линукса. Не думаю, что у них это получится, но если им не жаль пытаться - мне тоже не жаль.


          1. randomsimplenumber
            06.06.2025 13:20

            Специфика жанра .. Всё огорожено, никаких новых конкурентов. Ваши фичи начальству не нужны, им и так есть что на крутон намазать.


            1. Arioch
              06.06.2025 13:20

              вою, рыдаю, огорчаюсь, смиряюсь... И все равно не понимаю.

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

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

              Нет, опыт по своему интересный был, и пару анекдотов утащил для маршрутки. Но - не понимаю :-) "Зачем делать сложно то, что проще простого?" :-)


              1. kalitkinvlad
                06.06.2025 13:20

                подлости-то зачем делать и людей подставлять?

                Потому что удовольствие от таких действий ни за какие деньги не купишь.


                1. randomsimplenumber
                  06.06.2025 13:20

                  Потому что могут, и умеют.


              1. Rive
                06.06.2025 13:20

                Не стоит пытаться найти сложный план в рефлексах балансирования на клоунском колесе в The Clown World.

                Делают, потому что могут.


    1. denitka
      06.06.2025 13:20

      Рукавлицо


  1. Kwisatz
    06.06.2025 13:20

    Нельзя строить интерфейс без четких требований и продуктовых ожиданий.

    можно, четкие требования это миф. Это перекладывание ответственности и работы UX архитектора на другую сторону


    1. janvarev
      06.06.2025 13:20

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


      1. Kwisatz
        06.06.2025 13:20

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


        1. janvarev
          06.06.2025 13:20

          Давайте так - иногда так делать можно. У меня комментарий чуть ниже, я сам честно признаюсь, что, например, внутренние админские интерфейсы сплавляю делать нейронке.

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


          1. Kwisatz
            06.06.2025 13:20

            Я докопался именно до формулировки. Делать UI нейронкой - полный бред. Но вот ставить во главу угла UX - нормально, даже UI пойдет, хотя тут я бы поправил, потому что с оговоркой на наличие проработанной модели.


        1. anshdo
          06.06.2025 13:20

          Ага, наша команда тоже часто так и делает, но почти всегда потом получает по лбу этими граблями: "ок, реализовано то у нас вот так, а как надо было?"


          1. Kwisatz
            06.06.2025 13:20

            Ну дык начните работать со своим продуктом, развивайте навык, чтобы представлять себя на месте оператора и вопросов таких не будет


      1. hphphp
        06.06.2025 13:20

        Вы работали с АСУ ТП системами? После них дизайн любой дичи вам покажется милым зоопарком.)

        ...про хайп, что бы довести до абсурда нужно вайбкодинг внедрить на каких-нибудь чувствительных АСУ ТП, АЭС например - мигом поубавится рвения для внедрения "новых фич" с конкретной фамилий автора-руководителя)


  1. Wesha
    06.06.2025 13:20

    Вот вам карта, Билли!


    1. Maccimo
      06.06.2025 13:20

      Судя по цвету, Сокольническая линия.


      1. AlexanderS
        06.06.2025 13:20

        В пространстве и времени?


      1. Arioch
        06.06.2025 13:20

        она же вроде первой была, да? То есть вполне себе стартап


      1. Rive
        06.06.2025 13:20

        Кировско-Выборгская.


    1. FluffyFeline
      06.06.2025 13:20

      Если это про нейронки, то скорее в конце 3-го этапа или выше. Всё остальное уже было


  1. janvarev
    06.06.2025 13:20

    Очень печально.

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

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


    1. Shaman_RSHU
      06.06.2025 13:20

      Можно программировать на прод, используя LLM, только соблюда гигиену. Только придерживаться парадигмам тестирования и использовать контуры DEV -> TEST -> PREPROD -> PROD. Но менеджеры всё время гонят, гонят time2market и некоторые этим принебрегают.


      1. janvarev
        06.06.2025 13:20

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


        1. Artyomcool
          06.06.2025 13:20

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

          Ещё у меня коллега мой код ревьюит в т.ч. с помощью chat gpt. И я вам скажу, выходит неожиданно круто.


  1. AlexeyK77
    06.06.2025 13:20

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

    Поэтому у вашего босса есть кредит доверия, что бы проталкивать эту фигню. К сожалению это неизбежный этап и вероятно они своего добьются. Так что...


    1. xSVPx
      06.06.2025 13:20

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

      Но да, резюме пора обновлять. Хуже не будет...


  1. verasokolovaip
    06.06.2025 13:20

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

    И потом вот:

    У нас одна часть проекта на PHP, другая на FastAPI (Python), фронт на VueJS.

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


    1. samako Автор
      06.06.2025 13:20

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

      А насчёт бабы-яги, то да - против. А что, всёгда нужно "за", если бизнес так решил?


    1. flancer
      06.06.2025 13:20

      Монолит по определению не может быть одновременно и на PHP, и на Python ¯\_(ツ)_/¯

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

      Да и вообще, если вдруг бизнес решил самовыпилиться таким экзотическим способом - флаг ему в руки!! Я бы уже начал искать другой аэродром, а ТС, вон, старый ещё пытается спасти.


      1. samako Автор
        06.06.2025 13:20

        Я не сказал, что у нас монолит и на PHP и на Python одновременно. У нас ядро на PHP (это монолит, да, но разбит на модули), а на Python основной отдельно стоящий сервис. Взаимодействие между ними через API. Плюс, есть микросервисы для высоконагруженного кода. Я не считаю такой "зоопарк" чем-то необычным - продукту уже 13 лет.

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

        Но Вы правы - запретить бизнесу самовыпилиться - никто не может. Я уже начал обновлять резюме.


        1. edogs
          06.06.2025 13:20

          Я не считаю такой "зоопарк" чем-то необычным

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


          1. samako Автор
            06.06.2025 13:20

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

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


            1. Arioch
              06.06.2025 13:20

              "бэби" это хорошо, тут почему-то ютюб про "самого говорливого кота" вспомнился. Но это еще и ловушка, после такого ОЧЕНЬ трудно отрываться от самого проектf и от людей, от команды, даже если верхушка конторы начинает делать дикие глупости и/или подлости. Боль почти физическая.


              1. Rive
                06.06.2025 13:20

                Поэтому в пет-проектах есть определённый смысл.

                Отобрать их значительно сложнее, и даже если они не приносят прибыли, владеть ими гораздо приятнее.


        1. playnet
          06.06.2025 13:20

          Я не считаю такой "зоопарк" чем-то необычным - продукту уже 13 лет.

          Вот и ответ, "почему монолит". Тем более, "созревший". И тут надо смотреть на стоимость переделки (новые хотелки, новые законы итд) и стоимость просто поддержания работы при росте нагрузки. Представь, что каждый месяц клиентов х2 (для понимания, это прогрессивная шкала). Через сколько кончится ваш сервер с монолитом? Через сколько кончится "топовая" железка? И что дальше? У меня такой опыт есть. (веб, фронт+бэк в одном). Где был 1 сервер с монолитом, их уже 20, раскидывание по ендпоинтам "этот набор запросов сюда, этот туда", через nginx, апстримы - минимум по 2 сервера, за счёт одного кода можно балансировать (что-то у нас этот блок перегружен, докинь сюда пару серверов незагруженного блока)

          Живём? Нет, самое слабое место уже давно стала БД. Добавляем proxysql, все запросы на чтение без предварительной записи кидаются на слейвы, их можно поднять хоть 100, но мастер тоже не бесконечен. Плюс нужен dba, контролирующий запросы, индексы итд.

          Но проблема понятна была уже 2 года назад, и идёт постепенный распил на микросервисы, часть уже вынесена, что позволило чуть меньше беспокоиться. Правда, база по прежнему одна, но и в этом направлении продавливаю изменения.


          1. samako Автор
            06.06.2025 13:20

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


    1. izibrizi2
      06.06.2025 13:20

      Чел, ты немного устарел. Монолиты снова в моде, так как с микросервисами наигрались ;)


      1. Q3_Results
        06.06.2025 13:20

        Где пишут про это?


    1. Drucocu
      06.06.2025 13:20

      Перевожу: "вы все дураки и не лечитесь, а я одна умная, в белом пальто стою красивая".


      1. kalitkinvlad
        06.06.2025 13:20

        Немного утрированно, но так жизнь и устроена...


  1. Pusk1
    06.06.2025 13:20

    Может пора менять работу? Продукт есть и стабильно развивается. Зоопарк тот ещё. Найдя новый проект принесёшь больше пользы и научишься чему-то новому.
    Команда большая, стоите дорого, фичи пилите медленно.


    1. samako Автор
      06.06.2025 13:20

      Да, отгонял эту мысль долго, но похоже нужно начинать готовить почву для следующей станции


      1. un1t
        06.06.2025 13:20

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



        1. samako Автор
          06.06.2025 13:20

          Я не написал это в статье, но я пытался это сделать: и объяснял и уговаривал и приводил доказательства. Увы, тяжело логикой переформатировать головы людей, влюблённых в вайб-кодинг. Да им и всё-равно - я уйду, а они останутся.


          1. un1t
            06.06.2025 13:20

            Да я сам влюблен в вайб кодинг. Но одно дело это прототип или пет проект, а другое дело большой стабильный проект,

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

            У вас же есть техдир или это вы и есть? Техдир должен принимать это решение а не CEO.


  1. gsaw
    06.06.2025 13:20

    Хоть и избито уже, но добавлю. По приданию, во времена золотой лихорадке больше все обогатились производители лопат.

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

    Про блокчейны и ICO так вообще добавить нечего. Смартконтракты и прозрачность должны были решить вообще все проблемы в мире. От учета монеток, до владельцев произведенных банок сгущенки.

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

    Сейчас вот ИИ способное по запросу выдать код змейки или даже крестики нолики. И это будет даже работать. Имхо, почему бы в git-e не хранить историю запросов и сидов, в место кода. Экономия места же! :) Причем, через год обновили модель, она на тот же самый запрос выдаст более оптимальный и более безбажный код, с современным интерфейсом. Не надо ничего переписывать, не надо оптимизировать. Код и продукт эволюционируют со временем. Это же вообще сказка :)

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


    1. xSVPx
      06.06.2025 13:20

      Не подсказывайте им...


    1. bak
      06.06.2025 13:20

      Имхо, почему бы в git-e не хранить историю запросов и сидов, в место кода.

      Потому что промпты сами по себе не описывают состояние, а описывают запросы на изменение.
      Возможно скоро появятся какие-то промпто-подобные способы описания текущего состояния приложения. Чтобы из набора фраз "А теперь добавь кнопку!" "А теперь перекрась её в зеленый" генерировалось состояние "Зеленая кнопка слева по центру", из которого уже потом будет генерироваться полное приложение.


      1. TemaAE
        06.06.2025 13:20

        Ну так конечное "скопмилированное" состояние всех запросов - это текущее состояние кода.
        Только нужно грамотно его интерпретировать назад в прикладные смыслы и формулировки.


    1. edogs
      06.06.2025 13:20

      По приданию, во времена золотой лихорадке больше все обогатились производители лопат.

      По "преданию".

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

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


    1. Rive
      06.06.2025 13:20

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

      В итоге блюпринты стали вполне нишевой штукой в дизайне и геймдеве, почему бы и нет? Мне (и многим другим) удобнее собрать воркфлоу из нод в ComfyUI, чем писать такой же код на питоне и потом постоянно рыться в папках, пытаясь найти что в итоге сгенерилось.


  1. Dhwtj
    06.06.2025 13:20

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

    А теперь пусть выкидывает

    Если ведёт себя как джун, пусть получает критику как джун

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


    1. Dhwtj
      06.06.2025 13:20

      Ну или пусть доделывает до прода и замеряет качество и трудоемкость хотя бы год.


  1. mixsture
    06.06.2025 13:20

    Как по мне, у nocode подхода слабая проработка. Он может и займет свое место когда-то, но пока:

    1. Удобная отладка и отладчик. В обычном подходе это решено, в nocode в зачаточном состоянии чаще всего. Условный возврат к отладке принтами и бесконечным логом.

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

    3. Инструменты снижения ошибок. В nocode чаще всего отсутствуют области видимости переменных - т.е. будто все переменные глобальные - и ведь когда-то так было и в обычных ЯП, но ушли, уж очень много неявных ошибок это порождает.

    4. Инструменты управления сложностью кода и навигацией. Для обычного подхода придумали разделение на модули/пространства имен/классы с очень быстрыми переходами. Придумали разделение MVC. В nocode же часто - это бесконечных размеров блок-схема. Встречал блок-схему в 6 экранов в ширину и 10 в высоту - и вот кликаешь на ней "развернуть условный переход" - а потом минуты ищешь, куда-же от него ветки развернулись.

    5. Контроль роста потребления ресурсов. Для обычного подхода есть много раз разобранные структуры данных с быстрым поиском/вставкой, разобранные практики, как плохо. Без этого nocode решения часто притягиваются к алгоритмам O(n^2) и поэтому при выходе из прототипа, когда n вырастает в сотни-тысячи раз - это проще выкинуть и переписать.

    6. Системы контроля версий. Они все разрабатывались для текстов. Сравнить 2 участка кода и показать изменения - не проблема, трехстороннее сравнение - не проблема, а вот сравнить 2 блок-схемы и как-то показать это для выбора разработчику - проблема.

    Без этих инструментов проблематично удержать сложность сколь-нибудь большого проекта.


    1. Anton-V-K
      06.06.2025 13:20

      сравнить 2 блок-схемы и как-то показать это для выбора разработчику - проблема

      припоминаю в эпоху популярности WYSIWIG-редакторов UML-диаграм (типа Rational Rose и проч.) похожая проблемка всплывала - только часть из них умела сохраняться в струкрутированный текстовый формат (обычно самодельный), но и в нём были автогенерируемые служебные идентификаторы (типа GUID'ов), которые обновлялись при каждом чихе, так что diff между соседними версиями выглядел "полосатым" на весь экран.

      По идее nocode-диаграма тоже может в текстовый файл сохраняться, наработки есть же. Правда, разницу глазами в таком формате может быть неудобно смотреть.


    1. TemaAE
      06.06.2025 13:20

      Все эти визуальные игры заканчиваются тем, что визуал - обычно плоские схемы, а структура ПО минимум трехмерная по ощущениями, а то и 10^n-мерная по своим вложенностям.


    1. playnet
      06.06.2025 13:20

      а вот сравнить 2 блок-схемы и как-то показать это для выбора разработчику - проблема.

      Идея для стартапа! )

      А что за "нажал и оно развернулось"? Мне такое очень нужно


  1. StasTukalo
    06.06.2025 13:20

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

    В общем- всё печально, сочуствую.


  1. Dhwtj
    06.06.2025 13:20

    Low code для коротко живущих ad-hoc фич и точно не для core, только стандартные решения (кастомизация это очень дорого) и без возможности сопровождения или развития (проще сделать заново).

    Если начальник понимает это, то ок.

    Я навидался low code систем разных поколений. Всё одно и то же.


    1. CrushBy
      06.06.2025 13:20

      Low code для коротко живущих ad-hoc фич и точно не для core, только стандартные решения (кастомизация это очень дорого) и без возможности сопровождения или развития (проще сделать заново).

      Ну мы на low-code делаем ERP-системы на lsFusion для розничной торговли (вот демка). Уже 10 лет. И прекрасно все кастомизируем под разных клиентов, имея при этом базовую версию. У самых крупных клиентов 2000 одновременно работающих пользователей, миллиарды записей и базы под 10ТБ. Что мы делаем не так ?


      1. Dhwtj
        06.06.2025 13:20

        Путь 1С и вообще коробочных решений скоро закончится

        Заказчикам одна морока


  1. VitalyZaborov
    06.06.2025 13:20

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

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

    Но если Вас всё же готовы слушать - имеет смысл доносить в терминах бизнеса: да, мы снижаем ttm, но бэкенд становится дороже вдвое, а стабильность падает, дорожает QA. Если бизнес вдруг и такое устраивает - жмём друг другу руки, нанимаем 2-3 новых отдела и с готовностью принимаем "новые вызовы".


    1. Dhwtj
      06.06.2025 13:20

      Видимо, для ad-hoc аналитики, 342й формы отчётности или 191го способа расчета скидки на акции low code годен. Но только там. При грамотном расчёте это всё видно (не прогнозе, а разборе результатов за год)


    1. Arioch
      06.06.2025 13:20

      нанимаем 2-3 новых отдела

      Вы все перепутали. Не нанимаем два отдела, а увольняем половину отдела.

      Вам же Главный Начальник сказал: "Вам же остаётся чуть-чуть допилить"
      А если вы сделаете вид, что с этим не справились, то значит вы не профессионал, а луддит и саботажник. У каждой проблемы должно быть приятное и удобное имя и фамилия, они ваши


      1. VitalyZaborov
        06.06.2025 13:20

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


        1. Arioch
          06.06.2025 13:20

          Нужен отдел допивания.

          Вот с этим, ик, полностью согласен!!!


  1. sanyvaa
    06.06.2025 13:20

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

    и вот хоть убей не представляю как на таком проекте можно использовать ИИ.

    главное препятствие - для любого изменения нужно понимать архитектуру и код проекта, как это скормить ИИ?

    разработка новой фичи - надо знать как заюзать существующий код, чтобы не изобретать велосипед и не копипастить.

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

    ИИ должен стать архитектором и техлидом на проекте, чтобы эффективно работать. пока же нейронки явно не готовы для этого.


    1. bak
      06.06.2025 13:20

      и вот хоть убей не представляю как на таком проекте можно использовать ИИ.

      для любого изменения нужно понимать архитектуру и код проекта

      Не надо делегировать LLM архитектуру. Для архитектуры есть собственная живая нейросеть, обычно неплохо работает.
      LLM нужно конкретно писать что конкретно ей сделать так как будто это тупой джуниор только что пришедший на проект. Типо "добавь в файл abc класс Abc, в нем сделай методы которые делают то и то, затем используй этот класс там и там. И добавь юнит тест который проверит такой и такой кейсы."

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

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

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

      3. Повторить пункт два до тех пор пока LLM и ты сам не поймешь и не убедишься в чем баг

      4. Дальше просишь LLM сгенерировать фикс, можно для верности уточнить какой фикс ты хочешь

      5. Профит.



      1. sanyvaa
        06.06.2025 13:20

        LLM нужно конкретно писать что конкретно ей сделать так как будто это тупой джуниор только что пришедший на проект. Типо "добавь в файл abc класс Abc, в нем сделай методы которые делают то и то, затем используй этот класс там и там. И добавь юнит тест который проверит такой и такой кейсы."

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

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

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

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

        например если это креш изза доступа по null reference, недостаточно поставить проверку на null, я такой фикс обычно не пропускаю, надо понять почему раньше работало, а сейчас появился этот null.


        1. Wesha
          06.06.2025 13:20

          типо "добавь в файл abc класс Abc, в нем сделай методы которые делают то и то, затем используй этот класс там и там.

          У меня эта картинка уже на макросе


        1. bak
          06.06.2025 13:20

          пример который Вы привели - это не уровень даже джуна, это секретарша, или кодогенератор

          Это рутина, зачем набирать код самому если это может делать LLM. Просто из за хейта LLM? Меня на 90% устраивает кодярник от LLM, я 50 строк кода набираю медленней чем несколько фраз.

          это нафиг не надо, это времени не занимает

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

          в фиксе бага главное анализ истории изменений

          Чтобы не нужно было делать "анализ истории изменений" люди пишут юнит тесты. Которые отломаются если вы сломаете полезный функционал. И не зачем руками историю поднимать и думать "ой зачем же он так сделал".


          1. Maccimo
            06.06.2025 13:20

            Это рутина, зачем набирать код самому если это может делать LLM.

            Чтобы не превратиться из человека в безмозглый придаток БЯМ, например. Кончится инторнет и всё, вайб-кодер превратился в тыкву.

            И не зачем руками историю поднимать и думать "ой зачем же он так сделал".

            Действительно, зачем думать?


            1. Wesha
              06.06.2025 13:20

              Действительно, зачем думать?

              «Не надо думать — с нами тот, кто всё за нас решит!» ©


              1. vkni
                06.06.2025 13:20

                «Весёлые, не хмурые, вернёмся по домам!
                Невесты белокурые в награду будут нам!»

                Хороший план, надёжный как швейцарские часы!


            1. Rive
              06.06.2025 13:20

              Чтобы не превратиться из человека в безмозглый придаток БЯМ, например. Кончится инторнет и всё, вайб-кодер превратился в тыкву.

              А против этого сценария надо присматривать локально развёрнутые LLM и видеокарту помощнее.


              1. Wesha
                06.06.2025 13:20

                А потом карта — сгорела, а импорт — не заместили.


                1. Rive
                  06.06.2025 13:20

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


          1. BorisTheAnimal
            06.06.2025 13:20

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


            1. bak
              06.06.2025 13:20

              Интересно, как же их держат на работе если они "деградировали и не могут решить задачу"?

              И насколько вы сами деградировали после того как не пишите код на ассемблере, а пользуетесь одними компиляторами?


              1. BorisTheAnimal
                06.06.2025 13:20

                 как не пишите код на ассемблере, а пользуетесь одними компиляторами?

                переход на компиляторы не забрал алгоритмические задачи с разработчика. Да и и с переходом на компиляторы и сам вектор того же дебага поменялся. Редко когда вы одновременно использовали компилятор, но возвращались в ассемблер для дебага и т.п.. То есть, ваш пример будет работать, когда разработчики смогут 100% переключится в AI как среду для разработки / отладки. Тогда сменится и парадигма самой работы и мышления под эту работу.

                Интересно, как же их держат на работе если они "деградировали и не могут решить задачу"?

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

                В результате код, который при хорошем подходе мог бы служить основой 10–15 лет, устаревает уже через 3–4 года. Просто из-за решения менеджмента сэкономить и использовать дешёвые ресурсы — будь то недорогие индусы или, как сейчас, AI. Потому что большинство менеджеров в современном мире ориентируются на годовые результаты: сэкономили в этом году миллион — отлично.

                Они не думают(ну или все же думают - но такие уж правила игры) о том, что через два года из-за этого решения операционные издержки вырастут на тот же миллион в год, а через пять лет придётся вложить 2–3 миллиона в полное обновление. Это уже будет “проект”, на который выделят деньги, и никто даже не задумается, что никакого проекта не потребовалось бы, если бы изначально не пытались сэкономить.

                Это комплексная проблема. Я сейчас смотрю на AI как на замену индусам для MVP. Видел это ещё в конце нулевых и в десятых: клиенты нанимали индусов, те быстро набрасывали хоть как-то работающий продукт, а потом, если бизнес выстреливал и требовал масштабирования, наступал затык. Индусы исчезали, а разработка отдавалась западным разработчикам, которые всё переписывали с нуля.

                Есть у меня и примеры, когда код изначально писался по всем правильным принципам, но потом передавался в поддержку дешёвым командам — и за 1–2 года код просто убивался в ноль.

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


                1. bak
                  06.06.2025 13:20

                  переход на компиляторы не забрал алгоритмические задачи с разработчика. Да и и с переходом на компиляторы и сам вектор того же дебага поменялся.

                  1. Переход с ассмеблера на высокоуровневые языки забрал с разработчика необходимость знать архитектуру процессора, конвенции вызовов, целую кучу разных оптимизацией и целую кучу специализированных алгоритмов.

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

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

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

                  Я сейчас смотрю на AI как на замену индусам для MVP.

                  Не правильно смотрите. Генератор MVP это лишь одно из применений. Другое применение - это инструмент для разработчиков ускоряющий написание кода.

                  все, кто сейчас бездумно перекладывает всю разработку на AI, постепенно превратятся в те самые дешёвые индусские команды, пишущие код за копейки

                  У вас очень странное представление об LLM. В вашем мире есть две крайности. Крайность 1 - я луддит разраб и всё пишу руками. Крайность 2 - я тупой менеджер и отдал разработку некоему "AI".

                  По 1-му пункту - ну ок каждый пишет как он хочет но зачем? LLM тупо экономят время, писать те-же тесты руками - зачем, карл, зачем???

                  По 2-му, сейчас нету полноценных "AI" которым можно "отдать разработку". Ну ок тебе пообещали что некий "AI" заменит всю команду - ну уволь свою команду и купи мега-про-подписку, но нет, начинается какая-то х*ня описанная в статье когда "AI всё сделал надо только пофиксить мелкую багу"


                  1. Arioch
                    06.06.2025 13:20

                    конвенции вызовов,

                    Смеюсь. Как раз потребовал знать.

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

                    Тот же COM/Automation, ошибки в вызове какой-нибудь функции Excel можно искать весьма долго, если не знать, как оно должно работать "внизу".

                    Нет, конечно в Hello World всего этого не нужно. Но для того оно и в ассемблере не нужно. Один макро-вызов и всё.

                    ...и это я еще не сказал про ошибки в библиотеках и самих компиляторах. Вот их без "CPU panel" отловить иногда на порядки сложнее, чем сверить команды процессора с тем, какие должны были быть.

                    архитектуру процессора

                    Из недавнего. Комитет C++ исключил из стандарта слово volatile и потребовал от комитета C сделать то же самое (иначе обратная совместимость нарушится). Программисты всяких embedded-железяк на Cи взвыли - у них там половины программа на этом слове держатся. В ответ на что им сказали, что слово это было временной заплаткой и кое-как работало на тупых компиляторах и тупом железе 1980-х, а сейчас и то и другое стало умным, и это слово перестало по факту работать. На что эмбедщики сказали, что с железяками работают они, и если бы прямо вообще все сломано, то они первые бы заметили.

                    На самом деле весьма интересная дискуссия, стоит чтения просто из общего интереса. Как раз и про компиляторы и про архитектуры.

                    А ещё есть всякий там gamedev с его упарыванием по cache locality...

                    Ну и еще можно вспомнить про возврат значения из функции, через return (в C и более поздних) или привоения функции (Фортран, а из него Бейсик и Алгол-Паскаль). Казалось бы, чистой воды абстракция и вкусовщина, а на само деле прямое отражение архитектур тогдашних компьютеров. Впрочем, практической пользы такая археология, в самом деле, наверное не несёт.

                    целую кучу разных оптимизацией

                    ...убило развитие процессоров: теневые регистры, суперскалярность и внеочередность и прочее обумнение когда-то простых железок. Так что старые оптимизации внезапно стали затормаживать программы, хотя лет 30 назад ускоряли.

                    и целую кучу специализированных алгоритмов.

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


                    1. bak
                      06.06.2025 13:20

                      Вот в ассемблере их знать не надо. Как хочешь - так и делаешь.

                      Ага, а расскажите пожалуйста как это самое "как хочешь" будет потом работать при линковке с другим бинарем написанным другим разрабом который тоже делал "как хочешь". Сейчас вы можете extern C написать и ни о чем не думать. И это еще без учета разных архитектур где вообще всё по разному, сейчас вам ваш тулчен соберет что под x86 что под arm, а раньше это всё руками приходилось переписывать.

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

                      Зачем ходить глубоко? Возьмите те-же inline, rvo (nvro), оптимизация хвостовой рекурсии, сейчас это всё компилятор делает. Раньше вы сами это были вынуждены делать руками. Если вы написали функцию в которую вы идете через call никакой ассемблер вам её автоматом на инлайн не подменял.


                      1. Arioch
                        06.06.2025 13:20

                        Сейчас вы можете extern C написать и ни о чем не думать

                        какая милая добрая уверенность...

                        если не ошибаюсь, zlib под win32 (или ssleay, или еще кто, не помню) собирается в трёх не совместимых по ABI вариантах, и все они типа extern "C"

                        Как раз extern "C" вот вообще ничего про конвенции не говорит, а только отсутствие name mangling

                        Так-то во всех стоящиx рассмотрения макроассемблерах есть аналоги extern "C". Более того, есть даже макросы для ООП-вызовов. Любители под win32 графические программы на таких пишут, по сути такая ассемблерная программа почти не отличается от старого способа написания Win32/C++, где разбор сообщений делался мега-switch'ем на препроцессорных макросах.

                        при линковке с другим бинарем написанным другим разрабом

                        да как и со своими функциями - берем ассемблерный исходник этого другого бинаря, смотрим по каким регистрам и адресам памяти он распихал параметры, и повторяем в точке вызова

                        или вы хотите сказать, что тот другой бинарь писался не на ассемблере? но тогда это как раз мой пойнт! именно появление компиляторов (в той другой либе) вместо асма заставило вас учить конвенции выхзова

                        Раньше вы сами это были вынуждены делать руками.

                        Да, но я не считаю, что это "убило оптимизацию", я считаю ровно наоборот.

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

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

                        Все просто и определённо, или я написал цикл, или нет.

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

                        В зависимости от левой пятки компилятора у меня теперь - именно теперь, а не на асме - может получиться 2^N разных программ из одних и тех же исходников.

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

                        Как раз на асме всего этого нет. Там правда и много чего другого нет. Поэтому в целом компиляторы выгоднее, само собой. Но эта выгодность имеет цену. И одна из частей этой цены, что теперь сборка программы стала случайным процессом, и чтобы контролировать эту случайность надо учить типы оптимизаций вообще и конкретно под использованный компилятор.


                      1. bak
                        06.06.2025 13:20

                        если не ошибаюсь, zlib под win32 (или ssleay, или еще кто, не помню) собирается в трёх не совместимых по ABI вариантах, и все они типа extern "C"

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


                      1. playnet
                        06.06.2025 13:20

                        какое счастье, что в большинстве языков это всё знать не нужно..


                      1. randomsimplenumber
                        06.06.2025 13:20

                        Ну да, в других языках сжатие делается с помощью магии.


                      1. Wesha
                        06.06.2025 13:20

                        в большинстве языков это всё знать не нужно..

                        «В наше время этим не гордились!» ©


                  1. Maccimo
                    06.06.2025 13:20

                    Переход с ассмеблера на высокоуровневые языки забрал с разработчика необходимость знать архитектуру процессора, конвенции вызовов

                    Вы, очевидно, не понимаете что пишете. Ассемблер если и видели, то на картинках. Возможно даже, что и на компилируемых языках никогда не разрабатывали.

                    целую кучу разных оптимизацией и целую кучу специализированных алгоритмов.

                    Перечислить эту кучу вы, естественно, не сможете.


                    1. bak
                      06.06.2025 13:20

                      Вы, очевидно, не понимаете что пишете.

                      Вы очевидно вообще не понимаете что такое ассемблер и что такое архитектура процессора. На лицо абсолютная деградация. x86 и ARM совершенно разные! Чтобы printf позвать надо сискол сделать на x86 это int 80 или syscall на арм это svc.

                      Перечислить эту кучу вы, естественно, не сможете.

                      Вот вам несколько примеров:

                      1. Ручное управление регистрами

                      2. Ручно разворачивание циклов (чтобы избежать лишних cmp jmp на коротких циклах)

                      3. Замена медленного деления на эквивалент

                      4. Ветвление без условий через setcc, cmov, and, xor

                      5. Ручной prefetch данных

                      6. Ручное выравнивание кода и данных

                      7. Оптимизация под конкретные CPU

                      Очевидно вы ничего из этого не знаете и даже не подозреваете о существовании. Теперь расскажите, мешает ли вам ваша деградация работать разработчиком или нет.


                      1. Maccimo
                        06.06.2025 13:20

                        Вы очевидно вообще не понимаете что такое ассемблер и что такое архитектура процессора.

                        Вы абсолютно правы.
                        Для того, чтобы убедиться в полной моей некомпетентности достаточно прочитать мою последнюю статью :)

                        Вот вам несколько примеров:

                        Хоть бы автовекторизацию вспомнили для приличия, а то «замена медленного деления на эквивалент» в 2025 году. Словно у LLM спрашивали.

                        Что из перечисленного «специализированные алгоритмы»?
                        То, что оптимизирующий компилятор пытается оптимизировать это секрет Полишинеля. Когда производительность действительно важна, приходится по-старинке делать всё самому. Так же, как и 30 лет назад.


                      1. bak
                        06.06.2025 13:20

                        Когда производительность действительно важна, приходится по-старинке делать всё самому.

                        Это 0.01% случаев. Большинство разработчиков в ассемблер залазит примерно 0 раз за всю карьеру. Это не означает что они деградировавшие идиоты. Это означает что для большинства задач это не нужно.


                      1. Wesha
                        06.06.2025 13:20

                        > Когда производительность действительно важна, приходится по-старинке делать всё самому.

                        Это 0.01% случаев.

                        Ну то есть Кармак прав.


                      1. vkni
                        06.06.2025 13:20

                        Ну конечно прав. Об этом говорит распространённость Питона (это сразу минус десятичный порядок от производительности), например. И многое другое.

                        То есть, пресловутый военный Эльбрус 300МГц вполне себе должен пойти в качестве офисной машинки/домашнего кинотеатра.


                      1. bak
                        06.06.2025 13:20

                        Что из перечисленного «специализированные алгоритмы»?

                        Прочитайте определние порятия "алгоритм". Что из вышеперечисленного не подходит под "алгоритм"? Или по вашему алгоритм это только quicksort или A* а остальное это не алгоритм?

                        Те же вопросы на манипуляции битами вообще раньше на собесах спрашивали, сейчас это уже почти нигде не надо.


                      1. Maccimo
                        06.06.2025 13:20

                        Что из вышеперечисленного не подходит под "алгоритм"?

                        С точки зрения программы на ассемблере не подходит абсолютно всё.
                        Пункты 2 - 7 это рефакторинг и/или оптимизации, которые погромисты делают ручками во время разработки. Довольно базовые, к слову. 1 — декларации переменных в ЯВУ никуда не делись.

                        сейчас это уже почти нигде не надо.

                        Вы не видели, значит не нужно, понял. Потом будете сидеть удивляться что это вам чатгопота какой-то x & -x нагенрировала.


                1. playnet
                  06.06.2025 13:20

                  MVP

                  Индусы исчезали, а разработка отдавалась западным разработчикам, которые всё переписывали с нуля.

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


                1. Rive
                  06.06.2025 13:20

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

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

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

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

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


              1. Wesha
                06.06.2025 13:20

                И насколько вы сами деградировали после того как не пишите код на ассемблере, а пользуетесь одними компиляторами?

                А я теперь пишу дизассемблеры!


          1. sanyvaa
            06.06.2025 13:20

            Это рутина, зачем набирать код самому если это может делать LLM.

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

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


            1. bak
              06.06.2025 13:20

              1 процент времени - это значит вы за 8-ми часовй день набираете код меньше 5 минут. Верю, я поверил.