В последнее время популярными стали разговоры о вымирании со временем профессии программиста в связи с переходом на так называемые low-code инструменты. Популярные издания определяют их как «платформы, в которых бизнес-аналитики или выделенные ответственные на стороне клиента (его сотрудники) могут это «почти всё» сделать сами».
Некоторые вендоры CRM такие как Террасофт изначально позиционируют себя как low-code платформы, заявляя что их «подход становится все более популярным в качестве быстрой и более простой альтернативы традиционной разработке программного обеспечения. Как профессиональные разработчики, так и аналитики или бизнес-пользователи (их еще называют «citizen developers») выбирают low-code/no-code технологии для создания систем и приложений различной сложности, чтобы удовлетворять потребности компании в новых ИТ-решениях, автоматизации бизнес-процессов и ускорении цифровой трансформации».
Предлагаю поговорить о low — code по существу:
1) Любая информационная система работает, когда человек включает компьютер, последний пропускает через себя гигантский поток машинных команд, сводящихся в конечном счете к гигантскому массиву ноликов и единичек и в свою очередь тот же человек должен «упаковать» этот поток команд в определенную понятную для окружающих форму. Искусственного интеллекта просто летающего в облаках не существует (если только инопланетяне не посетят однажды нашу Землю).
2) Low — code подразумевает, что для «упаковки» команд не надо выучивать языки программирования, а можно сообщить компьютеру алгоритмы на каком-либо естественном человеческом языке и начав что-то говорить за завтраком к вечеру ты получишь у себя на компьютере свое приложение для доставки любимого меда в любую точку земного шара.
3) Тогда напрашивается вопрос: на каком языке озвучивать команды? Ведь население Земного шара говорит на 7174 языках и бесчисленном множестве диалектов. Английском ответите Вы — ведь это язык международного общения. Тогда получается задача по освоению синтаксиса какого-либо программного языка плавно перетечет для вас в задачу по изучению английского языка на свободном уровне, многие из которых решают ее всю жизнь.
4) Отлично, вы выучили язык, но начав что-то сообщать в микрофон «голосовому помощнику по написанию кода» вы налетите на такую проблему как омографы — слова звучащие и пишущиеся одинаково, но имеющие совершенно разный смысл. Например, приложение I love to run in the park переводится как Я люблю бегать в парке, а в He runs a very successful business речь вообще идет об управлении бизнесом. Run this script для компьютера означает запуск кода, а не необходимость убежать куда-то с папирусом. Не случайно, несмотря на годы стараний на рынке так и не появилось адекватной системы компьютерного перевода и профессия переводчика, тем более переводчика — синхрониста, остается одной из самых востребованных.
5) Но помимо текстов на естественном языке есть другой способ представления алгоритмов — моделирования их в форме бизнес-процессов. И в этой части система Битрикс 24 выгодно отличается от многих конкурирующих продуктов на рынке CRM, предлагая удобный конструктор бизнес-процессов.
6) Хотя конструктор обладает богатыми встроенными возможностями, потребность в программистах он как считаю не убил, а наоборот расширил. Примером может быть рассмотренный в одной из предыдущих статей кейс работы с динамическим списком .
7) Другой кейс, c которым я столкнулся и который не мог быть решен исключительно настройками, был связан с необходимостью обработки поступающих запросов из бот-системы заказчика:
- бот-система отправляла в Битрикс24 сведения о диалоге с потенциальным клиентом;
- битрикс должен был создать лид или сделку в определенном этапе, определить источник лида, и при определенных условиях добавить в нее задачу ответственному менеджеру \ комментарий.
Последние четыре действия могли быть также запрограммированы, но был предложен более компактный вариант, связанный с программным запуском бизнес-процессов на основе созданного лид или сделку через код:
if(Loader::includeModule("bizproc")) { $d = $arDeal['ID']; // код созданной сделки $arWorkflowParameters = array("vkid" => $vkid); // параметры запуска БП $deal = 'DEAL_'.$d; $wfId = \CBPDocument::StartWorkflow( DEAL_COMMENT_BP, // константа шаблона БП array("crm","CCrmDocumentDeal", $deal), $arWorkflowParameters, $arErrorsTmp ); }
Тем самым, при необходимости изменить текст комментария аналитику или заказчику не надо было бы искать программиста. Он мог бы зайти в шаблон бизнес-процесса (см. скриншот выше) и отредактировать соответствующее действие.
Резюме: Битрикс24 уже обладает low-code возможностями в виде конструктора бизнес-процессов, но они не отменяют участие разработчика в сложном проекте, а позволяют действовать по принципу «разделяй и властвуй», делая редактируемыми многочисленные настройки, необходимые для работы программного кода.