Кто такой ABAP-разработчик и почему стоит выбрать это «нишевое» направление
В мире существует множество языков программирования. Одни из них очень популярны и в каком-то смысле стали брендами, о которых знают даже люди, чья работа не связана с IT. К ним можно отнести JavaScript, Java, Python, PHP и иные.
Другие языки малоизвестны, но при этом на них написаны решения, которые служат фундаментом для всемирно известных компаний и мировой экономики в целом. Один из таких языков — ABAP.
Алексей Яременко, директор украинского офиса LeverX Group, свою карьеру в IT начинал, как и многие, с позиции разработчика. В 2012 году перед ним стоял перед выбором: какой язык программирования выбрать? Знакомый посоветовал Алексею пойти на курс по ABAP в LeverX Group. До этого он ничего не слышал об ABAP. Но после поиска информации в интернете Алексей решил, что нужно идти.
Сейчас, спустя почти 10 лет, Алексей рассказывает, почему стоит изучать «нишевые» языки программирования.
ABAP (аббревиатура от Advanced Business Application Programming) — это проприетарный высокоуровневый язык программирования, который был создан компанией SAP еще в начале 80-х и является основным языком разработки «классических» продуктов SAP. O SAP тоже многие могли не слышать. SAP — немецкая компания, лидер на рынке производства программного обеспечения для управления бизнесом и автоматизации бизнес-процессов. Капитализация SAP на данный момент составляет примерно 148 миллиардов евро, а количество сотрудников превышает 103 тысячи человек.
В какой-то степени продукты компании уже стали стандартом благодаря отличной интеграции со сторонними системами, расширяемости и кастомизации стандартных решений.
Решениями SAP сегодня пользуются Apple, Amazon, IBM, Walmart и другие, в том числе многие крупнейшие компании Украины, которые уже автоматизировали бизнес-процессы.
SAP приводит вот такую короткую справку о своих клиентах:
- 92% компаний Forbes Global 2000;
- 98% из 100 самых ценных брендов;
- 97% самых экологичных компаний (Newsweek).
Больше информации о компании можно найти на официальном сайте.
Кто же такие ABAP-разработчики, чем они занимаются и какие у них есть перспективы?
За почти 50 лет в портфеле SAP набралось более 300 продуктов для любой сферы и вида бизнеса. Используются различные технологии как «классические», так и самые передовые: AI, Machine Learning, Predictive Analytics, IoT, Blockchain и другие. Самый главный продукт SAP — ERP-система, последнее поколение которой называется S/4HANA.
Такие продукты являются стандартными решениями, которые легко автоматизируют и оптимизируют рутинные бизнес-процессы. Зачастую у разных клиентов, которые занимаются одним и тем же бизнесом, процессы сильно отличаются. Нужна кастомизация, которой занимаются ABAP-разработчики.
Подавляющее большинство продуктов SAP написаны на ABAP, поэтому он используется для расширения их функционала. Под расширением можно понимать как дополнение стандартного функционала или изменение стандартной логики, так и написание новых решений, которые будут выполняться на сервере приложений SAP (у SAP есть своя платформа SAP NetWeaver, все приложения выполняются на сервере).
Если говорить о классическом ABAP, то взаимодействие пользователей и разработчиков с системой происходит через Web-браузер, специализированные клиентские приложения (SAP GUI и NetWeaver Business Client) или через более известную многим IDE Eclipse. Вести разработку можно через SAP GUI и Eclipse.
А вот как выглядит редактор кода в ABAP Workbench (транзакция для работы с объектами):
ABAP постоянно развивается, в нем есть атрибуты современных языков программирования, а некоторые моменты реализованы даже удобнее, например работа с таблицами.
Задачи, которые решают ABAP-разработчики, очень разные: от простой обработки данных для аналитики до сложных интеграций с различными сервисами. В принципе на ABAP можно написать что угодно, даже игры, но все же назначение у языка другое — решение задач реального бизнеса.
Зарплаты ABAP-разработчиков часто выше зарплат в других «мейнстримовых» языках (к сожалению, зарплатная статистика на DOU не набрала достаточного количества анкет по ABAP, но если посмотреть на Glassdoor и Indeed, то зарплаты ABAP выше, чем во многих других популярных направлениях). Тому есть две причины:
- Заказчики — реальный бизнес, который понимает, что экономить на инвестициях в себя нельзя.
- Специалистов значительно меньше, поэтому это создает свою нишу (как мы знаем, все нишевое — дорогое).
Начать писать код на ABAP легче, чем на других языках программирования. Это позволяет быстрее получить необходимые навыки для работы на проектах.
Дело в том, что система SAP является открытой и разработчик всегда имеет доступ к коду, чтобы посмотреть, как реализованы те или иные функции. Часто задачи на разных проектах схожи, поэтому многое уже написано до вас. Это значительно облегчает разработку.
Клиенты SAP — мировые лидеры, которые стараются внедрять инновационные решения, чтобы увеличить прибыльность своего бизнеса, совершенствуя процессы. На таких проектах, как правило, много различных систем и технологий взаимодействуют друг с другом, что позволяет разработчикам получить новый и интересный опыт. Часто заказчики хотят видеть команду у себя онсайт. Это открывает прекрасную возможность побывать в разных странах и расширить кругозор.
ABAP-разработчики крайне востребованы в развитых странах (Германия, США, Канада и другие). ABAP-специалистов не хватает на IT-рынке, и компании активно привлекают их, не ограничивая офферы географией.
Из недостатков могу выделить только то, что вы как специалист привязываетесь к экосистеме SAP, к определенному комьюнити и корпоративному рынку. Похожее есть и в других областях, например разработчики мобильных приложений очень зависят от экосистем Apple и Google, но мобильному разработчику запустить свой стартап проще, поскольку его клиенты — обычные люди, у каждого из которых есть мобильное устройство, а для разработки нужен только компьютер. С ABAP такой сценарий реализовать сложнее.
Каждый ABAP-разработчик может развивать свою карьеру в следующих направлениях:
- SAP Developer;
- SAP Consultant;
- Solution Architect;
- Enterprise Architect.
Я отметил SAP Developer, а не ABAP Developer, намеренно. Продукты SAP постоянно развиваются, в них появляются новые технологии (AI, ML, Predictive Analytics, IoT), облачные решения, библиотеки и другое. Большое количество продуктов SAP сейчас разрабатываются как Web-приложения. Бэкенд, как правило, пишется на ABAP (но бывают и разработки на Java и Node.js), а фронтенд разрабатывают с использованием фреймворка SAPUI5 (фактически это собственная JavaScript-библиотека пользовательского интерфейса, разработанная и поддерживаемая SAP). Такое «соседство» различных стеков и технологий открывает свободу выбора для освоения новых навыков и наращивания своей экспертизы.
Как я уже говорил, ABAP-разработчики решают задачи бизнеса, поэтому часто погружаются в бизнес-процессы. Огромные возможности продуктов SAP делают их достаточно сложными, они требуют настройки, а также обучения пользователей. Поэтому в мире SAP есть еще одна очень популярная роль — SAP-консультант.
SAP-консультанты должны прекрасно понимать как бизнес-часть, так и продукт SAP, поэтому часто они специализируются на одном из модулей. Чтобы быть консультантом, нужно обладать отличными коммуникационными навыками, любить работать с документацией. Также этим специалистам приходится проводить огромное количество настроек и тестов.
Вы можете стать Solution и Enterprise Architect, если вам нравится решать задачи на высоком уровне и у вас есть большой опыт реализации проектов. Архитекторы разрабатывают архитектуру решений в рамках конкретного модуля или продукта, выстраивают целую IT-инфраструктуру из большого количества систем.
openSAP — бесплатные курсы компании SAP дают общее понимание той или иной темы.
SAP Training — профессиональные курсы компании SAP. Стоят дорого, как правило, их оплачивают компании. По результатам выдаются сертификаты, которые очень котируются на IT-рынке.
SAP ABAP Programming — курсы LeverX Group. Мы более восьми лет проводим бесплатные образовательные курсы, где обучаем всему, что нужно для разработки на ABAP и решения задач, которые встречаются на реальных проектах. Курс длится полтора месяца, и по его итогам мы приглашаем лучших выпускников присоединиться к команде.
Хочу всё знать. Язык ABAP
Мы продолжаем говорить о не самых популярных языках программирования, заслуживающих тем не менее внимания настоящих гиков. В этот раз речь пойдёт о языке ABAP/4 или просто ABAP. О том, что эта самая четвёрка в названии означает, зачем нужен этот язык, а главное где и как ему обучиться – далее.
Краткая справка
ABAP/4 – проприетарный (т.е. не распространяющийся свободно) язык программирования высокого уровня, разработанный немецкой софтверной компанией SAP и предназначенный исключительно для работы с выпускаемым ей ПО. В январском рейтинге популярности языков ABAP/4 занимает 22 место прямо перед Scratch.
Он был разработан в 1983 году для работы с внутренней системой SAP R/2. Цифра 4, которая присутствует в названии, не имеет практического смысла и лишь указывает, что язык относится к 4 поколению. SAP R/2 – это система управления предприятием, предполагающая стандартную связь между клиентской базой и сервером. Позднее была заменена трёхзвенной системой R/3 – клиент, сервер приложений и система управления базами данных.
Синтаксис
Во многих источниках вы можете найти замечание про схожесть синтаксиса ABAP с COBOL. Однако не стоит принимать это за чистую монету, схожесть касается исключительно внешнего вида, в то время как структура и возможности совсем разные. Сравните базовый код любого программиста “Hello World”:
Согласитесь, не так уж много общего. ABAP значительно удобнее, понятнее для программистов, работающих на популярных языках
Область применения
Как уже было сказано, язык ABAP напрямую связан с системами управления предприятиями (ERP-системами), но если быть конкретнее — он позволяет, наравне с Java, создавать приложения для SAP Application Server в составе NetWeaver — популярной платформы для бизнес-приложений.
Что касается конкретных задач, то они тривиальны: отчеты, интерфейсы, обработка данных. То есть рядовому разработчику приложений данный язык знать просто незачем (в случае отдельных заказов изучить тот же Java будет практичнее), но зато для сегодняшних студентов и школьников — это еще одна возможность выбрать достаточно редкую специализацию с высоким порогом входа. Начать стоит с бесплатного интенсива по программированию для чайников.
Работа
Если ABAP не является языком, вечно мелькающим в списке требований работодателей, если его не изучают в университетах, то это совсем не означает, что он не востребован. ABAP имеет свою аудиторию, эко-систему, поэтому требует от соискателей осознанного выбора будущей деятельности. Прямо сейчас на популярном рекрутинговом ресурсе вы можете найти свыше 100 вакансий, причём среди них есть те, где знание продуктов компании SAP и опыт работы с ABAP – едва ли не единственное требование.
Что касается зарплаты, то тут всё сильно зависит от степени интеграции ERP систем в конкретное предприятие. Если это достаточно поверхностный уровень, то даже ведущему ABAP-разработчику в столице трудно рассчитывать на начальную зарплату свыше 80 тысяч рублей. Если же у компании многолетнее и плодотворное сотрудничество с SAP, и от программиста требуется действительно серьезная кропотливая работа, то планку вполне можно поднять до значения 100 тысяч. Без опыта и практики можно рассчитывать в лучшем случае на 35 тысяч, в худшем — за эти деньги на вас повесят еще должность кадровика.
Полезные ссылки
ABAP Community – официальное сообщество разработчиков;
ABAP-blog – один из немногих очень качественных и визуально приятных отечественных ресурсов, где можно почитать про программирование на ABAP;
Habrahabr SAP ERP ABAP – дополнительный набор справочных ресурсов по ABAP и всему, что его касается;
Habrahabr Course Guide – путеводитель по онлайн-курсам ABAP.
Книги
SAP-press — официальная подборка полезной иностранной температуры;
SapLand — интернет-магазин с огромной подборкой книг (и отпугивающими ценниками);
Разработка приложений SAP R/3 на языке АВАР/4 — весьма неплохая книга для новичков в авторстве Кречмера, переведенная на русский язык;
Лучшие практики внедрения SAP (SAP Planning Best Practices in Implementation) — весьма полезная прикладная книга, но будьте осторожны с русской версией — без CD в комплекте теряется весь смысл.