
Профессия Magento-разработчика: Игорь Шатило, Lead Backend Developer в NIX
Kharkiv IT Cluster продолжает знакомить вас с разными ІТ-специалистами от наших компаний-мемберов
IT-сфера с каждым днем расширяется, появляются новые направления и профессии. Чтобы оставаться в теме и узнавать все подробности первыми, читайте рубрику от Kharkiv IT Cluster «Профессии в IT».
Сегодня мы хотим познакомить вас с профессией Magento-разработчика. Своим опытом поделился Игорь Шатило, Lead Backend Developer в ІТ-команде NIX. Читайте наш разговор с Игорем, чтобы понять, чем занимается Magento-разработчик и какие навыки нужны для овладения этой профессией.
– Игорь, расскажи, кто такой разработчик на Magento и что это за платформа?
— Если определить профессию в целом, то это специалист, который разбирается в создании интернет-магазинов любого уровня сложности с помощью платформы Magento. Эта CMS предоставляет широкие возможности для разработки и комбинирования функционала онлайн магазина или блога, где пользователь может найти обзор продуктов, ознакомиться с характеристикой товаров и сделать заказ.
Чтобы работать с Magento, разработчику нужно мыслить определенным образом. Для начала – разобраться в необходимости того или иного функционала сайта. Просто продавать товары с помощью интернет-магазина – это одно. Когда же нужно объединить товары на сайте с имеющимися единицами на складе – это уже совсем другой подход к разработке.
– Как работать с Magento?
– Нужно искать пути интегрирования платформы с программным обеспечением определенного состава. Magento отправляют данные на сторонний сервис и будет получать их в обратном направлении. Не менее важно подумать о серверных возможностях, которые вы сможете арендовать у хостинг-провайдера. Нельзя скачать Magento на дешевый хостинг и ждать быстрой работы. Все же платформа нуждается в ресурсах для хранения данных и их обработки. Обычно для своих проектов мы в команде выбираем Amazon. Эта платформа позволяет расширить, позволяет расширить вычислительные возможности сервера, увеличить количество памяти и добавить сервера, например, отдельно для базы данных.
Мне нравится, что у Magento структурированная система, и риск допустить ошибку меньше, чем когда разработчику предоставляют полную свободу действий, например, на PHP-фреймворках и разнообразных CMS-системах вроде WordPress.
Начинающему четко сформированная структура Magento поможет получить правильное представление о разработке проектов в будущем. Овладев платформой на достаточно высоком уровне, со временем вы сможете не только изменять внешний вид интернет-магазинов, но и добавлять кастомизированный функционал для соответствующей аудитории.
— Какие знания и навыки необходимы Magento-разработчику?
— Следует подружиться с главным языком программирования с точки зрения Magento — PHP. Следует хорошо знать синтаксис, разбираться в ООП, функциях для обработки массивов, а также алгоритмах работы с данными. Кроме того, иметь уверенные навыки работы с базой данных MySQL, понимать, как устроена поисковая система ElasticSearch. Эти знания помогут кастомизировать базовый функционал Magento – создать новые модули и работать с существующими.
Для понимания того, как Magento работает изнутри, вам нужно знать, какие существуют паттерны, как происходит генерация кода и формируется запрос от клиента-браузера к самой Magento.
Не бекендом единственным, как говорится. Во фронтенде Magento-разработчику тоже следует разбираться, ведь эти две части сайта постоянно взаимодействуют между собой. К тому же, в сотрудничестве с другими фронтенд-разработчиками, вы сможете объяснить им, как загружать и собирать файлы вместе, чтобы они корректно отобразились на сайте.
Для быстрой и качественной верстки вам понадобится знание HTML. Если хотите научиться создавать большие маркетплейсы, уже сейчас начинайте учить JavaScript. Навыки этого языка помогут вам расширять наполнение интернет-магазина по мере разработки и поддержки ресурса.
Если задачи предусматривают работу с вычислениями и обработкой данных – без математики никак. К тому же эти знания классно тренируют мозг и учат мыслить алгоритмами.
— Расскажи о распространенных задачах Magento-разработчика. Чем ты занимаешься?
– Одна из моих основных задач – кастомизация Magento, то есть разработка функционала под определенные требования проекта. Если команда разрабатывает или получает готовый интернет-магазин, тогда может появиться необходимость создавать интеграции для различных сервисов. Например, существует офлайн-магазин, склад и программа, ведущая учет товаров. Разрабатывая онлайн магазин, мы с командой будем совмещать программное обеспечение склада вместе с Magento. Таким образом, удается настроить процесс обновления товаров и на складе, и в интернет-магазине. Также мы создаем много расширений – модулей на Magento, которые позволяют разнообразить стандартный функционал из «коробки».
— Какое образование нужно на позицию Magento-разработчика?
— На своем примере скажу, что техническое образование действительно служит мягким стартом для овладения этой профессией. Хотя если у вас есть сильная мотивация, любовь к технологиям и программированию, то на этом пути у вас не будет никаких препятствий.
К команде NIX я присоединился на третьем курсе, обучаясь в «Харьковском компьютерно-технологическом колледже НТУ «ХПИ» (специализация — обслуживание программных систем и комплексов). Проще говоря, я техник-программист. В свое время решил попробовать свои силы по отбору на программу обучения по направлению PHP. Так и произошло мое первое знакомство с Magento 2.
После окончания обучения в NIX я попал в команду и с первого дня имел возможность подтвердить полученные знания на реальном проекте. Сначала я выполнял простые задачи – перемещал блоки на сайте, находил баги на бэкенде, исправлял ошибки. Первый коммерческий опыт – это страшно для студента, но и невероятно круто в плане профессионального развития. Я равнялся на своего ментора, консультировался с ним, и понимал, что тоже хочу достичь столь высокого уровня профессионализма.
— А как насчет личных качеств?
— Без сомнения, надо быть терпеливым. Придется уделить много времени на самообучение и постоянно практиковаться. Расти в этом направлении есть куда. Главное – желание. Открытость, коммуникабельность, инициативность и готовность прийти на помощь коллегам – это все залог успеха в эффективной командной работе.
На мой взгляд, для хороших результатов специалист должен быть мотивирован и получать искреннее удовольствие от проекта. Только так у специалиста получится разработать крутой функционал для любого интернет-магазина.
— Что посоветуешь интересующимся разработкой на Magento?
— Просмотрев одно видео с названием «Изучить Magento за неделю», вы не сможете сразу выполнять задания в проекте наравне с другими членами команды. Эти знания будут поверхностными. Советую следовать следующему плану: просматривать видео — читать книги или блоги — закреплять изученное на практике и регулярно повторять материал. Лично я, когда у меня есть свободное время, стараюсь уделить его учению. Захожу на YouTube и просматриваю любимые профильные каналы: IWD Agency, Max Pronko, Laravel Daily, Sergey Nemchinskiy, Traversy Media. Отсюда я узнаю технологии и подходы, которые пытаюсь пробовать в новых проектах.
В качестве практики вы можете разработать свой небольшой проект, создать репозиторий на GitHub и загружать туда результаты своих стараний. Так непрерывно учась и улучшая свои навыки, вы сможете прокачаться до уровня Full Stack-специалиста – и стать разработчиком широкого профиля.
А еще – будьте активными и целеустремленными. Не бойтесь сказать, что у вас что-то не выходит, обращайтесь за помощью к более опытным специалистам. При этом сначала попробуйте самостоятельно найти ответ, развивайте логическое мышление, бросайте вызов самому себе. Если после нескольких попыток понимаете, что запутались, откровенно скажите об этом коллегам. Уверен, что вместе вам удастся найти выход из любой ситуации.
Подпишись на наш телеграм канал, чтобы быть в курсе событий
Также читай новости на наших страничках в социальных сетях: