Программист о no-code
Всем привет, я работаю разработчиком ПО с 2014 года, хотел бы выразить свое видение концепции no-code. Под этим термином понимают разработку программного обеспечения без написания кода, в основном с помощью графических компонентов. В промежутке между кодированием и no-code лежит low-code.
Когда говорят что программисты скоро станут не нужны, обычно ссылаются на прогресс в развитии no-code решений для разработки ПО. Идея это не новая, еще в Delphi (ныне мало используемый язык) была возможность накидывать компоненты на графическую форму вместо объявления их в коде. Разработка систем автоматики вроде умного дома также может быть выполнена с применением только графических компонентов, без какого либо кодирования.
Основой для no-code является использование унифицированных компонентов, которые легко стыкуются друг с другом и имеют ограниченный набор настроек. На самом деле в этом же направлении идут все инструменты разработки. Я работаю над автоматизацией бизнес процессов в финтехе, где используется в основном java/spring, и стараюсь использовать стандартные решения. Для этого языка есть целая экосистема подключаемых компонентов: для работы с БД, сетью, логгирования, сбора метрик и прочего. Зачастую достаточно добавить пару строк в настройки проекта чтобы начать пользоваться этими благами.
На деле в среднем проекте не всё так гладко. Чаще всего приходится писать код не с нуля, а дорабатывать уже эксплуатируемые приложения. Могут быть специфические требования, например по нагрузке, и тогда стандартные компоненты могут не подходить. Иногда нестандартные компоненты используются просто потому что разработчик хотел потренироваться в их использовании, либо технология уже устарела, а ресурсов переписать нет. Чаще всего в проекте используется избыточное использование похожих технологий, который еще называют зоопарком, что создает дополнительные проблемы.
Однако основной сложностью для применения no-code является сама предметная область. Если вы хотите создать сайт-визитку то предметная область будет включать в основном задачи размещения текста и картинок на экране (примерно как на пикабу при создании поста). Но для автоматизации бизнес процессов предприятия может потребоваться очень сложная модель, и взаимодействие между компонентами тоже будет сложным. Попробуйте описать процесс перевода денег между счетами пользователя в банке, и удивитесь сколько нюансов на разных уровнях придётся учесть. Часть из них можно описать в виде картинки, часть в виде диаграммы.
Но полным описанием процессов будет именно код. Где-то помогут стандартные компоненты, где-то код может быть сгенерирован, но пока что не найдено более компактного и подробного способа описания работы систем. Там, где нужна гибкость и стандартные компоненты не подходят - код это единственный способ выражения замысла разработчика.
Действующим программистам и тем кто хочет войти в it не стоит расслабляться. Всё более простые в использовании компоненты, развитие сред разработки позволяют исключить написание технического кода и больше форусироваться на бизнес разработке. В этом смысле порог входа снижается, уже мало кому требуются глубинные знания регистров процессора или уровней сетевых протоколов. Поэтому чтобы оставаться конкуретноспособными, разработчикам стоит больше внимания уделять пониманию предметной области, умению понять цели бизнеса и эффективному общению. Нравится это или нет, но чтобы быть востребованным специалистом уже не достаточно быть техногиком. Однако и говорить что кодирование это прошлый век, и сейчас эра no-code не приходится. К счастью, разработчики умые ребята и имеют возможность следовать за трендом. Всем удачи в it!

Лига программистов
2.1K постов11.9K подписчика
Правила сообщества
- Будьте взаимовежливы, аргументируйте критику
- Приветствуются любые посты по тематике программирования
- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества