No-Code и Low-Code. Взгляд инженера и бизнесмена

По слухам, в мире набирает обороты движение No-Code и Low-Code, активно обсуждаются плюсы и минусы этих подходов. Иногда некоторые заявляют: «Будущее программирования — вовсе не кодинг». Давайте попробуем разобрать вопрос по-взрослому, как инженер и как бизнесмен.

Меня зовут Константин Митин, я сооснователь и руководитель компании itMegastar/itMegagroup. Когда-то был простым разработчиком, работал в L3, дорос до тим-лида, затем и до руководителя филиала разработки крупной ИТ-компании. Теперь я в itMegastar.

Давайте поймём суть явления. Не так давно начали массово развиваться онлайн платформы No-Code и Low-Code. Заявляется, что в качестве реакции на возрастающую сложность и многообразие средств разработки ПО. Целью ставится упрощение, автоматизация, частичный отказ от профессиональных разработчиков и расширение количества людей, которые могли бы создавать собственный продукт, при этом абсолютно не разбираясь в программировании. Разница между No-Code и Low-Code состоит в том, что в первом можно «вообще» не писать код, а во втором всё же придётся писать немного кода. #nbsp ;

Хорошо, избавиться от профессиональных разработчиков, с которыми постоянно какие-то проблемы и «Долго, дорого и не то».

No-Code и Low-Code. Взгляд инженера и бизнесмена

Что на это нам ответит инженер?

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

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

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

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

И визуальные среды программирования появились ещё в те времена, когда нынешние Solution Architect ещё в школе учились. Delphi, Visual C++, иные среды WYSIWYG (What You See Is What You Get, «что видишь, то и получишь») разработки, их было много на самом деле.

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

Очень быстро стало понятно, что профессиональных разработчиков мало, разработчиков с более низким классом в какой-то момент тоже стало не хватать, к разработке стали привлекать «не разработчиков».

Например, привлекли бизнес-аналитиков, написав им BPMN System. Инженеры сказали, вы же рисуете бизнес-процессы в BPMN? А давайте вы это будете делать в специальной среде, в которой мы ещё позволим писать простенькие условия, например на JS. И тебе хорошо, и у нас автоматически весь work flow разработается?

Если честно, то иногда инженеры заходят совсем далеко. Например, ещё в 0-х годах в консервативной корпоративной среде уже были действующие реализации подхода Composite Application. Пользователям давали обширный набор виджетов, объясняли, что с чем можно «забиндить» мышкой, и говорили, а теперь ты сам себе приложение собираешь.

Что после всех этих экспериментов стало с профессиональными разработчиками? Ничего не стало, как их было недостаточно, так и осталось, как работы было очень много, так и осталось. Почему так?

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

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

На самом деле, в области профессиональной разработки обсуждать вопрос о плюсах и минусах No-Code и Low-Code уже не надо. Максимум, что появилось за последние 10 лет — появились SaaS онлайн-платформы. Ну, мы рады. Что-то ещё надо сказать?

No-Code и Low-Code. Взгляд инженера и бизнесмена

Что нам скажет бизнесмен?

Помните слова о программистах про «Долго, дорого и не то»? Вот именно это беспокоит бизнесмена. И рассмотреть вопрос придётся с забытых «Программист за 1 год» и «Сайт за 5000».

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

Работы было много, высокого профессионализма для её выполнения не требовалось, был дефицит кадров. Многие ВУЗы страны ответили на это программами профессиональной переподготовки типа «Стань web-дизайнером за 1 год». А профессиональное сообщество в это время совершенствовало свои инструменты, выпуская различные CMS (Content management system, система управления контентом). В итоге рынок дошёл до того, что сайт можно было сконфигурировать мышкой, дописать немного вёрстки и логики, после чего сайт был готов.

Логическим концом стало появление онлайн сервисов типа Tilda, позволяющих собрать свой сайт мышкой. Внезапно, ещё лет 20 назад во многом сходным образом сайт можно было сделать в Microsoft Word, если кто не знал.

Сайты стали делать не программисты, а дизайнеры. То есть те люди, которые несут ценность не как ИТ-специалисты, все ИТ оказалось автоматизировано. Это важно.

Нечто аналогичное сейчас происходит с интернет-магазинами и маркетплейсами. Есть готовые платформы, которые после некоторой кастомизации позволяют запустить свой интернет-магазин. Скорее всего, эту нишу займут не онлайн-сервисы типа Tilda, вместо этого придут экосистемы облачной автоматизации малого и среднего бизнеса, типа 1С, СБИС, Контур и других. У вас и так в облаке на стандартном функционале уже есть бухгалтерия, складской учёт и многое другое. Вам просто дадут галочку «Добавить интернет магазин?», «Добавить интеграцию с Wildberries/Ozon?».

"Программист за 1 год"?

Помните про «Программистов за 1 год», кто-нибудь может ответить, а что стало со всеми этими людьми? Как много из них осталось в профессии? Если честно, то очень мало.

Аналогично будет и с «программистами» со Skillbox, SkillFactory и других онлайн-школ. Если бы профессиональным разработчиком можно было бы любому стать за полгода-год, то не было бы такого их дефицита на рынке, и не стоили бы они таких безумных денег.

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

Сейчас появилось много онлайн-сервисов No-Code и Low-Code, например, конструктор приложений Adalo и Airtable (базы данных и таблицы). Вы можете, не являясь программистом, создавать своими руками несложные мобильные приложения.

И знаете что? На рынке большинство мобильных приложений (кроме игровой индустрии) — простые. Их разработка это не «rocket science». No-Code и Low-Code могут покрыть ощутимую долю этого рынка.

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

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

Но No-Code и Low-Code это вообще не про разработчиков и не для разработчиков. Это инструменты для всех тех, кто несёт свою ценность бизнесу, не связанную с написанием программного кода.

Да, бывают сложные приложения и системы, но No-Code и Low-Code позволят позвать программистов не с самого начала, а с середины, либо с конца проекта, дав им в руки работающий прототип и сказав: «Нужно сделать лучше».

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

3232
35 комментариев

Мне кажется, что No-Code и Low-Code нужен для создания фастфуд-приложений и сервисов, чтобы быстро и дешево на коленке протестить какую-нибудь гипотезу, после чего отдать ее в полноценную разработку

5

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

Не весь no-code одинаковый. Мы в AppMaster например генерируем приложения используя языки высокого уровня - Go, JS (Vue3), Swift и Kotlin. Кодогенерация позволяет на выходе получить производительные компилируемые приложения, при этом это уже не уровень MVP. Можно масштабироваться достаточно долго и не факт что когда-нибудь придется переписывать приложения вручную.

4

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

Да, вы можете дать возможность кастомизации, просто в какой-то момент развития окажется, что кастомизировать дороже, чем писать на нативном языке.

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

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

1

Кодогенерация позволяет на выходе получить производительные компилируемые приложения

А как только в сгенерированный код ручками залезли, генераторы уже неприменимы? Дальше только хардкодинг? Или как это работает?

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

Это вопрос без подвоха, интересно ваше мнение. Я сам много лет посвятил BPMS и как инженер и как предприниматель.

2

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

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

Ещё пример. Написать свою BPMS — это сложно и долго. Сконфигурировать нужные процессы в уже готовой BPMS — уже проще.

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

2