Разработчик Илья Белозеров: «Конкурс SAP Кодер стал хорошей мотивацией, чтобы заняться веб-программированием»
Совсем недавно мы объявили о начале второго конкурса SAP Кодер для разработчиков.
В прошлом году победителями стали супруги Илья и Татьяна Белозеровы, разработавшие систему рекомендаций продаж на основе истории покупок клиента.
Мы попросили Илью рассказать о том, почему они решили принять участие в SAP Кодере и как шла работа над проектом.
— Илья, расскажите, как вам пришла идея участвовать в конкурсе SAP Кодер?
— До начала конкурса я уже какое-то время хотел заняться веб-программированием. Я работаю с SAP достаточно давно, но при этом не занимался разработкой front-end сервисов. Однажды мне прислали ссылку на конкурс — и эта идея мне понравилась, стала хорошей мотивацией для обучения.
Еще в январе я начал упорно слушать бесплатные курсы OpenSAP, читать документацию — но без результата. Понимаете, когда нет конкретной задачи, все новшества откладываются в «долгий ящик». Ты прослушал курс, изучил что-то, подумал — но так ничего и не сделал. А конкурс – это прекрасный повод воплотить свои идеи. Поэтому я твердо решил участвовать в SAP Кодере.
— Как давно вы занимаетесь разработкой для SAP? Смогли бы участвовать без этого опыта?
— Я занимаюсь разработкой на SAP ABAP уже более 10 лет. Но очевидно, что переход от ABAP к разработке веб-приложений очень актуален.
После участия в SAP Кодере в прошлом году, я понял, что иметь опыт работы с SAP совершенно не важно. Думаю, что ребята, которые занимаются только web-разработкой, смогли бы решить поставленные задачи быстрее меня. Больше всего пригодилось умение работать с базами данных, а все остальное пришлось изучать самостоятельно.
На фото победители конкурса 2017 года Илья и Татьяна Белозёровы
— Почему вы выбрали именно задачу про продажи и рекомендации?
— Все просто: я работаю в торговой компании, и выбранная задача была связана с темой торговли. Моя супруга – консультант по сбыту, а я – разработчик. Поэтому нам было очевидно, что автоматизированные рекомендации в торговле действительно нужны и полезны. Сейчас мы пытаемся в нашей компании внедрить какие-то системы для повышения продаж, и идея торговых рекомендаций, можно сказать, «витала в воздухе». В этом проекте мне хотелось совместить приятное с полезным.
— Сложно ли было начать? Все-таки веб-разработка была для вас новой темой
— Мне было легко. Дело в том, что у SAP очень много образовательных материалов – практически не было такого, чтобы я впадал в ступор и не понимал, где найти подсказку. Все вопросы, которые возникали, были решаемы. Даже сложные моменты быстро становились понятными.
— А в чем именно были сложности?
— Например, с модулем оценки и построения различных коэффициентов. SAP предлагает использовать его как отдельную библиотеку – можно сказать, что это «черный ящик». Делаешь ему запрос — и он возвращает какой-то результат. Лично я не люблю черные ящики – кто его знает, как там рассчитываются значения и что я получаю в итоге. Поэтому я стал использовать другой вариант – модуль на SQL-скриптах (также доступен в SAP Cloud Platform). При его использовании понятно, что происходит внутри.
Для меня работа с SQL-скриптами была в новинку – пришлось изрядно потрудиться, чтобы разобраться, какие значения и функции лучше использовать при работе с модулем, что и куда нужно подставить, как все это влияет на результат. Также были сложности в создании front-end приложения, пользовательского интерфейса – но только потому, что я не делал этого раньше.
Небольшим челленджем стала загрузка тестовых данных: SAP предоставила нам огромный файл, который был тяжеловат для передачи через web-интерфейс. Я хотел загрузить его через сервер приложений, но в тестовой версии облачной платформы SAP HANA было недостаточно свободного места. Дело в том, что SAP Cloud Platform можно начать использовать бесплатно, но с ограниченным дисковым пространством. Поэтому пришлось поступить достаточно «топорно» – порезать файл на кусочки и загружать в базу по частям.
Также интересно было узнать, что на фреймворке SAPUI5 постоянно что-то меняется, а на новые версии сложно найти документацию. Тут пришлось проявить смекалку – с чем-то удалось разобраться интуитивно, другие вещи уточнял в разных источниках.
— Сколько времени ушло на работу над прототипом проекта?
— У нас было около 2 месяцев на всё. В апреле я полностью погрузился в обучение: слушал курсы, вникал в новую для себя среду разработки, но ничего не делал в плане написания кода. Очень помогло обилие источников. Я нашел много информации, как на русском, так и на английском языках. Полезными оказались ресурсы OpenSAP, паблики на Хабрахабре. Второй месяц я интенсивно работал, и в результате удалось всё закончить достаточно быстро.
— Было ли желание бросить?
— Вы знаете, в какой-то момент действительно возникло такое желание. Это произошло в мае, когда люди на работе стали массово уходить в отпуск, а мне приходилось постоянно заниматься разработкой – то в офисе после работы, то вечерами дома. Но мне очень хотелось завершить начатое, так что я преодолел эту слабость и закончил.
— Если бы весной вы уже знали, как все будет происходить, стали бы участвовать?
— Да, мне очень понравился этот опыт. Я бы поучаствовал снова, поскольку ни организация, ни условия не разочаровали. Все было очень комфортно, а я получил массу опыта и, бесспорно, моральное удовлетворение.
— Сможете ли вы использовать то, что создали в рамках конкурса?
— Думаю, что частично можно использовать. Но целиком – вряд ли. Все-таки задача была выбрана именно для конкурса. Суть решения немного утопична — в зависимости от того, что покупатель кладет в корзину, а также с учетом покупок других людей и покупок в других магазинах система дает рекомендации по дальнейшим предложениям. Это некоторая общая система рекомендаций, которая дает возможность учитывать опыт других компаний, какие-то открытые или общие данные. Мне хотелось предложить идею, что даже новый магазин, который только открылся, может также работать с рекомендациями.
В принципе, мы как раз обсуждаем, что можно сделать в нашей компании по части рекомендаций, так что я надеюсь использовать какие-то элементы разработанного проекта. Мы собираемся предложить руководству определенные идеи, которые можно применить. Увы, в компании мы еще не перешли даже на SAP HANA, не говоря уже о SAP Cloud Platform. Но если они будут внедряться или я окажусь в другой компании, определенно, созданный прототип сможет быть полезен. Впрочем, новый опыт веб-разработки, а также работа с облачной платформой SAP помог мне значительно расширить свой кругозор и, я думаю, вырасти профессионально.