Блог itMegastar

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

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

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

Давайте поймём суть явления. Не так давно начали массово развиваться онлайн платформы No-Code и Low-Code. Заявляется, что в качестве реакции на возрастающую сложность и многообразие средств разработки ПО. Целью ставится упрощение, автоматизация, частичный отказ от профессиональных разработчиков и расширение количества людей, которые могли бы создавать собственный продукт, при этом абсолютно не разбираясь в программировании. Разница между 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 онлайн-платформы. Ну, мы рады. Что-то ещё надо сказать?


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


Помните слова о программистах про «Долго, дорого и не то»? Вот именно это беспокоит бизнесмена. И рассмотреть вопрос придётся с забытых «Программист за 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, то лучше не стоит. В этой области вы должны уметь нести ценность бизнесу как-то иначе, чем написанием программного кода.