Професія 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-спеціаліста — і стати розробником широкого профілю.
А ще — будьте активними і цілеспрямованими. Не бійтеся сказати, що у вас щось не виходить, звертайтеся по допомогу до більш досвідчених спеціалістів. При цьому спочатку спробуйте самостійно знайти відповідь, розвивайте логічне мислення, кидайте виклик самому собі. Якщо після кількох спроб розумієте, що заплуталися — відверто скажіть про це колегам. Упевнений, разом вам вдасться знайти вихід із будь-якої ситуації.
Підпишись на наш телеграм канал, щоб бути у курсі подій
Також читай новини на наших сторінках в соціальних мережах: