Привет! Меня зовут Александр Пряхин. Я руковожу разработкой в юните Авито Работа. 

В среде IT практически все слышали о No Code, Low Code, нейросетях. И, разумеется, о том, что скоро инженеры станут не нужны.

Я и сам активно пользуюсь всем вышеперечисленным, но решил поразмышлять, а так ли бесперспективно будущее для инженеров из крови и плоти. Заодно поделюсь немного и тем, как инженер может применять No Code и нейросети в работе и жизни.

Возможности No Code

Уже сейчас многие вещи можно сделать вообще без привлечения инженеров разного ненулевого уровня квалификации, а только с помощью инструментов No Code. Кажется, что ещё немного, и всю работу за нас будут выполнять роботы.

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

С помощью No Code можно создавать практически любые системы: веб-приложения, интеграции с разными сервисами, мобильные приложения, базы данных. Например, с помощью Shopify собрать интернет-магазин, а в FlutterFlow — игру на смартфон.

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

Zapier позволяет интегрировать больше 5000 сервисов с помощью простых скриптов — запов. С его помощью можно настроить загрузку данных из одной системы по триггерному событию, рассылку уведомлений, запуск приложений. Например, в считанные секунды собрать скрипт (он тут называется zap), который отправляет уведомление на почту, если, скажем, Илон Маск постит что-то у себя в Твиттере.

Как создается zap
Как создается zap

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

Еще одним примером применения таких систем является автоматизация рутинных события. Скажем, если у Вас в команде есть регулярные события вроде спринт-ревью. К каждому ревью Вам нужно подготовить короткую презентацию по одинаковому шаблону. Конечно, можно изучить API того же Google Drive, получить ключ разработчика, развернуть код в Google App. С другой стороны, достаточно будет набросать простенький «зап»: подключить календарь Google, указать адрес шаблона в drive, скопировать его с нужным именем и прикрутить рассылку в нужный мессенджер. В самом запе прописать инструкцию: каждые две недели создавать шаблон презентации и отправлять на почту.

Основной экран создания zap-а
Основной экран создания zap-а

Логика предельно простая. Инициатором будет Google Календарь. Мы создаём некое событие раз в спринт, по которому в Google Drive будет выполняться действие. Дальше описываем, что конкретно будет происходить. В нашем случае — по старту события будет вызываться копирование файла. Остаётся лишь авторизоваться в Google Calendar и Google Drive. Простейший zap готов. Добавляем нужные действия по вкусу.

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

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

В большом бизнесе No Code используют немного иначе. Например, покупают лицензию на Tilda, чтобы быстро собирать простые промо-лендинги. При этом не нужно привлекать программистов, время которых стоит дороже. Разумеется, как и у любого решения, у такого подхода есть свои риски, о которых поговорим дальше.

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

Наравне с No Code есть Low Code системы. Они отличаются тем, что все же могут потребовать некий уровень программирования внутри себя. В своей практике я работал с такими Low Code решениеями как Talend и Informatice. Это решения для организации ETL (Extract, Transfrom and Load) процессов. Подобные системы используют, когда нужно собрать из разных источников, обработать и загрузить в новое хранилище большой объём данных. И они позволяют в графическом интерфейсе собрать схему такого ETL-процесса: из каких источников берутся данные, как они трансформируются и куда перемещаются. Сами процессы ETL чаще всего встречаются в больших системах DWH (Data Warehouse), которые являются фундаментом для аналитических витрин.

ETL на базе Informatica
ETL на базе Informatica

Риски, которые несёт использование No Code

Конечно, волшебных решений не бывает. Пользователи No Code платформ платят за время и удобство тем, что берут на себя определенные риски.

Вероятность получить vendor lock. Когда мы создаем что-нибудь на Zapier или Tilda, мы размещаем свою интеллектуальную собственность и логику на внешнем ресурсе. Если платформа закрывается или становится недоступной по любой причине, решение блокируется вместе с ней. Вытащить его сложно, а часто невозможно. Даже если будет возможность программно достать содержимое сайта или скрипт, всё равно придётся писать код вокруг No Code. А это повторные инвестиции времени и денег в то, что уже было сделано и пропало.

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

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

Ограниченные возможности. No Code решения создают для массового использования, поэтому на них сложно реализовать высоконагруженную систему или систему со сложной логикой. Бюджетный автомобиль не выдержит ралли. Точно так же приложение на базе No Code не сможет работать с десятками и сотнями тысяч запросов в секунду. 

Технический долг. No Сode — быстрое решение, но с техническими проблемами. Недостаточно просто добавить фичу, нужно ещё и обеспечить стабильность. А проблемы могут возникнуть разные: например, падение скорости загрузки контента или внезапная рассылка системой уведомлений спама клиентам. Лёгкость добавления функциональности может привести к раздуванию и замедлению приложения ещё и из-за этого. Поэтому важно понимать, что при использовании No Code возникает технический долг, который рано или поздно придётся устранять.

Если обкатанный MVP на No Code даёт хороший результат, то нужно начинать эволюционно работать над более серьёзной реализацией продукта. Тогда к моменту, когда ваше приложение или сервис перестанет справляться с нагрузкой из-за ограничений платформы, у вас будет возможность быстро перенести трафик.

Прошлое и будущее No Code

На самом деле No Code появился не сейчас, первые решения в отдельных сферах использовали уже давно.

Например, уже в 1997 году мой папа, который проектирует системы безопасности на АЭС, при помощи Low Code системы симуляции Relap уже создавал модели реакторов. Такие модели тестировали в условиях аварии или отказа одного из компонентов. Конечно, с современными системами No Code/Low Code это сложно сравнить, но все же это одна из тех систем, которая стояла у истоков современных подходов.

А в 2005 году многие пользователи интернета создавали сайты в конструкторах UCoz и narod.yandex.ru. Кто помнит? Привет олдам! Сайт собирали из блоков, без какого-либо кода.

Сейчас популярность No Code растет, решений становится больше, люди активнее их используют в жизни и в работе. Думаю, причина в том, что есть необходимость быстро реагировать на все события. Многие команды работают через A/B-тесты, запуск MVP, проверку гипотез. Их нужно раскатывать быстро, чтобы успеть раньше конкурентов, показывая при этом экономическую эффективность. 

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

Значит ли это, что программисты скоро станут не нужны? Нет. Сами No Code решения тоже кто-то должен разрабатывать, поддерживать и развивать. Возможно, менее востребованными станут начинающие инженеры или инженеры с низкой квалификацией. Бизнес-заказчику легче и дешевле выбрать No Code решение, чем обучать джуниоров.

Думаю, что это приведет к перетоку новичков между инженерными областями. Если в какой-то области задачи будут решать с помощью автоматизации, то порог входа начнет расти. Потому что зачем нанимать человека там, где можно не нанимать? Джунам надо будет дольше готовиться для старта, либо стремиться в области, где No Code еще не развит. Например, в Machine Learning (ML) — разработку и обучение нейросетей. Зайти в неё сложнее, но зато есть место для развития и роста. К ним как раз и перейдём.

Как работают нейросети (и наш мозг)

Как думаете, какую картинку из трёх нарисовал человек?

На самом деле, все три картинки сгенерировала по описанию нейросеть Midjourney. Запросы: иллюстрация к песне «Вдова и Горбун» группы «Король и Шут», «Картина маслом» и «BMW 2er stanced».

Нейросеть — это не программа, которая выполняет императивно заданные инструкции разработчика. Грубо говоря, она имитирует работу человеческого мозга. Когда мы взаимодействуем с чем-либо, органы чувств передают сигналы об этом в мозг. За это отвечают нейроны  — нервные клетки, которые связываются друг с другом, создают сеть и формируют память. Они позволяют нам узнавать, что именно мы видим, слышим, читаем. 

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

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

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

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

Допустим, у нас есть два параметра с дробными значениями от 0 до 1. 

Чем больше значение а, тем больше вероятность, что это покупатель, и наоборот. Например, если нейросеть получает результат а=0,7 и b=0,2, то скорее всего, это покупатель.

Откуда сеть всё это узнает? В принципе, написать самую простую нейросеть легко — достаточно знать программирование на уровне массивов и циклов. Но сеть, которую только что написали, ещё ничего не знает, поэтому ее нужно обучить. 

Как обучают нейросети

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

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

Процесс обучения нейросети называется Machine Learning и требует почти такого же терпения, как обучение ребенка. Разработчик загружает в нейросеть набор похожих данных и ожидаемый результат их обработки. Грубо говоря, показывает много кубиков и объясняет нейросети их отличительные черты. Постепенно нейросети учатся узнавать разные объекты и различать их.

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

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

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

В Авито нейросети обучаются на исторических данных о действиях пользователей. У нас есть несколько моделей, которые работают по разным поведенческим паттернам, анализируют интересы человека и формируют ленту рекомендованных объявлений

Как только нейросеть прошла обучение, она знает распределение весов и может работать.

Как разработчики могут использовать нейросети

Нейросети можно применять не только для создания картинок. С разными задачами помогут разные типы нейросетей: 

  1. Классифицирующие — распознавание и классификация лиц, эмоций и объектов, а также выбор конкретного объекта из набора. Например, чтобы найти на фото кота среди других объектов.

  2. Регрессионные — определение числовых значений, таких как возраст, стоимость имущества, прогнозирование курса акций в моменте.

  3. Прогнозирующие — создание долгосрочных прогнозов на основе изменяющихся данных, например, цен, физических явлений и объёма потребления.

  4. Кластеризационные — изучение и сортировка больших объемов данных без заранее известного числа классов. Эти сети помогут классифицирующим сетям научиться распознавать котов на фото.

  5. Генеративные — знакомые многим ChatGPT, Midjourney и другие. Они призваны создавать контент по описанию.

Подробнее про типы нейросетей и их работу читайте в статье Нейронные сети для начинающих. Решение задачи классификации Ирисов Фишера →

ChatGPT умеет генерировать код по текстовому запросу. Я могу попросить её написать Telegram-бота на языке Go, который будет сравнивать курсы валют для двух пользователей.

Процесс запроса
Процесс запроса
Вот такой код нам сгенерировала ChatGPT
package main

import (
	"fmt"
	"log"
	"strings"

	"github.com/opencurrency/opencurrency"
	"gopkg.in/telegram-bot-api.v4"
)

const (
	botToken = "YOUR_BOT_TOKEN"
)

func main() {
	bot, err := tgbotapi.NewBotAPI(botToken)
	if err != nil {
		log.Panic(err)
	}

	bot.Debug = true

	log.Printf("Authorized on account %s", bot.Self.UserName)

	u := tgbotapi.NewUpdate(0)
	u.Timeout = 60

	updates, err := bot.GetUpdatesChan(u)

	for update := range updates {
		if update.Message == nil {
			continue
		}

		msg := update.Message
		log.Printf("[%s] %s", msg.From.UserName, msg.Text)

		if !strings.HasPrefix(msg.Text, "/convert") {
			continue
		}

		parts := strings.Split(msg.Text, " ")
		if len(parts) != 3 {
			reply := tgbotapi.NewMessage(msg.Chat.ID, "Invalid format. Use /convert [amount] [from_currency] [to_currency]")
			bot.Send(reply)
			continue
		}

		amount := parts[1]
		from := parts[2]
		to := parts[3]

		client := opencurrency.NewClient()
		rate, err := client.Latest(from, to)
		if err != nil {
			reply := tgbotapi.NewMessage(msg.Chat.ID, fmt.Sprintf("Error getting exchange rate: %s", err))
			bot.Send(reply)
			continue
		}

		convertedAmount := rate * amount
		reply := tgbotapi.NewMessage(msg.Chat.ID, fmt.Sprintf("%f %s is equal to %f %s", amount, from, convertedAmount, to))
		bot.Send(reply)
	}
}

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

Конечно, нельзя попросить нейросеть написать целое многослойное приложение, но отдельные куски кода под отдельные задачи она уже может писать. Это как будто джуниор, который пишет за тебя код по конкретной инструкции. Причем делает это очень быстро. На мой взгляд, для разработчика это крутая возможность избавиться от рутины. Тем более, что уже есть встраиваемые решения, такие как Copilot от GitHub или Bard от Google.

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

Пример сопроводительного письма
Пример сопроводительного письма

Заменят ли программистов No Code и нейросети

Подведу итог своим размышлениям.

Пора ли инженерам искать другую работу? Конечно же нет. Чтобы нейросети или No Code приносили пользу, нужно понимать, что ты хочешь получить на выходе. К тому же, результат требует проверки, доработки и уточнения. Для всего этого нужны инженеры, которые, например, будут понимать, что хорошего и плохого есть в коде, который написала нейросеть.

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

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

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

И наконец, кто-то же должен программировать и поддерживать сами No Code решения и нейросети. А для этого ещё долгое время будут нужны опытные инженеры.

Поэтому закончить эту статью я хотел бы, напомнив всем, что компьютер Великий Думатель, спустя 7,5 миллионов лет работы, сообщил всем ответ на Главный Вопрос о Жизни, Вселенной и Всяком Таком, так и не обозначив вопроса :)

Предыдущая статья: «Путь инженера: как эффективно пройти его от джуна до сеньора»

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


  1. Technik12345
    28.06.2023 08:14
    +5

    Как было в одном меме, Самому написать код за 2 часа? Не, попрошу CHATGPT за 20 минут, а потом 20ч буду дебажить.


  1. dprotopopov
    28.06.2023 08:14
    +5

    Писал эту статью ChatGPT?

    Воды много - смысла мало

    Для начала давайте улучшим с chatGPT некоторые алгоритмы скажем, для примеры, задачи линейного программирования, проблемы рюкзака, проблемы коммивояжёра (то что всё-таки должны учить при высшем образовании по программированию), про графы, про автоматы и тд. Докажем ещё раз теорему Ферма (что-то я не просёк доказательство). Прикрутим использование теоремы Шора для квантового превосходства. Улучшим алгоритмы отжига, дискретного решения краевых задач.

    Автора то точно заменить можно - он явно не инженер


  1. ihost
    28.06.2023 08:14
    +6

    Невероятный фейспалм каждый раз, когда термины *искусственный интеллект* (ИИ) и *искусственные нейронные сети* (ИНС) используются как взаимозаменяемые вещи

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

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

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

    Есть много интересных достижений ИИ в этой сфере, которые можно осветить, но информационное поле забито бесполезными ИНСами, генерирующими котиков, или переформулирующими готовые ответы из Google или StackOverflow


    1. el_kex Автор
      28.06.2023 08:14

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


      1. ihost
        28.06.2023 08:14
        +1

        К Вам никаких претензий, извините, если приняли на свой счет :) Это мысль в целом об информационном/новостном пространстве, где рассуждают об ИИ и ИНС


        1. el_kex Автор
          28.06.2023 08:14
          +1

          Без проблем) Я заодно решил сам себя перепроверить в тексте, так как с утверждением о разнице полностью согласен.


  1. AllegroAssai
    28.06.2023 08:14
    +3

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


  1. shasoftX
    28.06.2023 08:14
    +2

    Вот когда в комментариях к такой статье окажется комментарий вида: Я ИИ и я успешно заменил программиста в компании X. Вот тогда можно беспокоится. До тех пор - это всё просто слова.


  1. simenoff
    28.06.2023 08:14
    +1

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

    И напридумывает, например, несуществующих методов


    1. el_kex Автор
      28.06.2023 08:14

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


  1. Zara6502
    28.06.2023 08:14
    +3

    С помощью No Code можно создавать практически любые системы: веб-приложения, интеграции с разными сервисами, мобильные приложения, базы данных. Например, с помощью Shopify собрать интернет-магазин, а в FlutterFlow — игру на смартфон.

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

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


    1. el_kex Автор
      28.06.2023 08:14

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

      Тут проблематика состоит в том, чтобы вовремя уловить момент, при котором нужно перейти от «мышки» к полноценному программированию.


      1. Zara6502
        28.06.2023 08:14

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

        Но есть решения, где дальше «крестиков за ноликом» и не нужно

        то есть в выборе "запрограммировать за 1 час в знакомой среде" или "выучить новую систему no code и запрограммировать за 10 минут" вы предпочитаете второй вариант?

        Но так бывает не всегда

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

        Тут проблематика состоит в том, чтобы вовремя уловить момент, при котором нужно перейти от «мышки» к полноценному программированию

        то есть писать проект пять недель, например, чтобы потом начать с нуля писать на конкретном языке? мне кажется особенность любого ЯП в том что он гибок, вы можете реализовать всё что хотите. Если no code предоставляет всё то же самое, то почему не продолжить всё делать на нём, где тот магический Visual C# в прямом смысле слова, который вытеснил C# и все просто кликая пишут софт?

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


        1. el_kex Автор
          28.06.2023 08:14

          то есть в выборе "запрограммировать за 1 час в знакомой среде" или "выучить новую систему no code и запрограммировать за 10 минут" вы предпочитаете второй вариант?

          Допустим, у Вас есть стартап, которому надо рассылать триггерные письма по своим пользователям. В стартапе есть 1-2 программиста с очередью задач. Благодаря no code можно выделить более дорогостоящий ресурс на более приоритетные задачи, а триггерную рассылку сделать через систему no-code.

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

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

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

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

          Если no code предоставляет всё то же самое

          No code - он как кредит. В определенных условиях он может оказаться выгоден. А иногда - разрушителен для собственного бюджета.

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


          1. Zara6502
            28.06.2023 08:14

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

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

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

            я как-то сел читать squid.org и вроде всё понятно, но сервер с kerberos аутентификацией подниматься не хотел, пока не нашел гайд какого-то человека, который описал всё до уровня no code. прошло больше 20 лет и всегда когда мне говорят, что эта программа/система вся до мозга и костей юзер/админ френдли, то я не верю и пока ни разу не ошибся.

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

            Но все сводится к математике расходов и доходов

            Не уверен что крупная компания в состоянии такое посчитать. Скорее так - уверен что никто ничего считать не станет, просто есть бюджет и его осваивают.

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