Low-code: компетенции разработчика

Low-code: компетенции разработчика

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

Что такое Low-code

Термином Low-code обозначается подход к созданию приложений, при котором его разработчик производит минимальное количество действий, связанных с программированием, написанием кода. Основной объем своих действий разработчик при этом осуществляет с помощью различных инструментов визуального моделирования либо готовых участков кода — скриптов (которые при необходимости редактируются, но, как правило, не создаются с нуля). В рамках подхода Low-code также выделяется подход No-code, предполагающий создание приложений без программирования со стороны разработчика в принципе.

Практические действия разработчика по использованию той или иной схемы Low-code будут осуществляться в специальной среде разработки — на Low-code платформе.

Что такое Low-code платформы

Назначение таких платформ — в предоставлении разработчику инструментария, позволяющего без программирования (как в случае с No-code) или с минимальным программированием (при прочих вариантах Low-code) создавать полноценные приложения. При этом готовые приложения не уступают тем, которые создавались бы профессиональным программистом в специальной среде разработки ПО.

Потребность в Low-code платформах появилась у бизнеса, прежде всего, по причине хронического недостатка квалифицированных кадров в сфере IT. Кроме того, услуги программистов необходимого уровня квалификации стали крайне дорогими.  Уменьшать издержки на поиск и оплату труда персонала при необходимости создать то или иное корпоративное решение компании пытались по-разному. Например — внедряя коробочные решения (не всегда адаптированные к бизнес-модели) или же обучая навыкам программирования штатных специалистов иного профиля (часто безуспешно и с дополнительным риском перехода обученного человека на сторону).

Появление Low-code платформ — результат реакции рынка на проблемы, возникающие при практическом поиске бизнесом альтернатив дорогим услугам программистов. Современная Low-code платформа — это, с одной стороны, среда разработки решений, адаптируемых к потребностям конкретного бизнеса (и при этом не уступающих коробочным по функционалу), с другой — приспособленная к использованию специалистами, не являющимися программистами.

Каковы особенности использования Low-code платформ?

На текущем этапе развития IT-рынка у российских и мировых разработчиков уже есть достаточный опыт применения рассматриваемых платформ, и он показал, что с помощью таких платформ можно создавать самые сложные приложения для практически любой отрасли. Правомерно говорить о ряде доказанных преимуществ использования Low-code платформ. В их числе:

  • Приспособленность к созданию устойчивых приложений.

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

  •  Приспособленность к эксплуатации в системах с высокой нагрузкой.

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

  • Скорость разработки приложений.

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

Кроме того, в части применения модулей визуализации современные Low-code платформы обычно имеют дружественный, легко осваиваемый интерфейс, что также способствует увеличению скорости выполнения действий разработчиком.

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

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

Сложность (и, соответственно, скорость) освоения навыков пользования указанными средствами (скриптами) очевидным образом зависит от конкретного типа платформы. Есть платформы начального уровня типа Scratch, рассчитанные на освоение детьми школьного возраста. А есть профессиональные узкоспециализированные решения — предназначенные для разработки финансовых или промышленных приложений, определенно требующие времени на освоение Low-code инструментария, пусть и не предполагающего наличия профессиональных навыков программирования.

Вместе с тем количество требуемого для изучения Low-code платформы времени будет несопоставимо меньше, чем при классической разработке приложения, аналогичного по функционалу тому, что возможно создать в Low-code системе. Типовая длительность обучающего курса для разработчика Low-code сейчас не превышает 3-4 недель. По факту его прохождения человек будет обладать даже не минимальным, а самым оптимальным набором компетенций для разработки, а также адаптированным к конкретному направлению разработки, которым он будет заниматься.

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

При этом, безотносительно способа приобретения навыков освоения ключевых модулей визуализации и иных базовых компонентов Low-code платформ — будь то освоение на курсах или самостоятельно, практическое пользование такими платформами потребует от разработчика ряда сопутствующих компетенций.

 

Какими обязательными навыками должен обладать разработчик?

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

  • Навыки определения архитектуры, взаимосвязей между различными объектами (элементами приложений).

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

  • Умение видеть в разработке не просто приложение, а проект, предназначенный для решения тех или иных бизнес-задач.

Соответствующая компетенция, носящая определенно технологический характер, может дополняться soft skills — навыком выявления потребностей, в данном случае — во взаимодействии с заказчиком. Разработчик, без глубокого знания программирования, но умеющий понимать потребности заказчика, с помощью Low-code платформы создаст отличный продукт.

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

  • Понимание того, как именно реализовать потребности заказчика (руководителя, работодателя) с помощью Low-code платформы.

Соответствующая компетенция позволяет понять, какие инструменты Low-code лучше подойдут для решения той или иной задачи заказчика. Данное умение изучается на старте Low-code разработки и нарабатывается в процессе получения опыта.

  • Базовые знания в области программирования (заключающиеся, к примеру, в знании работы с алгоритмами, псевдокодом, циклами, функциями).

В случае с разработками на Low-code платформах может пригодиться знание таких распространенных языков как JavaScript, C#, Python.

  • Знание специализированных языков для интеграции разрабатываемых приложений с различными сторонними модулями.

Так, может пригодиться знание SQL — языка запроса к базам данных, который используется практически в каждом проекте.

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

Когда в Low-code не обойтись без программирования?

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

Без программирования не обойтись, если при разработке требуется решение сложных аналитических задач (например, при применении поисковых выборок со сложной логикой и агрегирующими функциями). Или же, например, если появляется потребность в добавлении в интерфейс системы элементов, не предусмотренных стандартными средствами визуализации Low-code платформы.

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

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

FIS Platform как среда no-code разработки: преимущества

Мы, как разработчики универсального no-code конструктора корпоративных информационных систем FIS Platform, постоянно работаем над повышением эффективности применения средств визуализации и типовых алгоритмов, доступных для пользователей наших продуктов. Благодаря наличию визуального конструктора, пользователи уже имеют практическую возможность создавать и настраивать разрабатываемые приложения без программирования, либо, при наличии потребности в нем, в пределах концепта 90/10, при котором 90% трудозатрат разработчика приходится на настройку и только 10% — на программирование.

Создание приложения на FIS Platform состоит из 4 базовых этапов:

  • создания модели данных;
  • построения бизнес-процессов;
  • проектирования интерфейсов;
  • настройки интеграции.

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

Эффективность применения модулей алгоритмизации на FIS Platform позволяет реализовать полноценный проект при участии 3-5 таких специалистов. Вероятность кадрового дефицита при формировании такой команды будет сведена к минимуму: требованиям для Citizen Developer на рынке труда соответствует большинство выпускников технических факультетов даже без опыта, не говоря о действующих аналитиках в IT или финансовой сфере.

Благодаря универсальности платформы, наши клиенты имеют возможность создавать приложения любого профиля и назначения. Мы также стремимся обеспечивать высокую скорость разработки требуемых продуктов. В нашем маркетплейсе есть порядка 30 готовых решений на базе FIS Platform, которые можно быстро внедрять в организации финансового и нефинансового рынка.

Каждый из таких продуктов приспособлен к быстрой кастомизации с учетом особенностей задач клиента. Например, ожидаемый срок внедрения CRM-системы на базе FIS Platform занимает не более 6 месяцев, что значительно ниже средних показателей по отрасли.

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

Крайне значимый аспект в Low-code разработке на момент ее начала — наличие положительного опыта внедрения аналогичных решений в отрасли. За 18 лет работы на рынке автоматизации наша компания готова передавать такой опыт заказчикам в рамках любого совместного проекта.