Dlaczego Magento?

Dlaczego Magento? – rozmowa z Łukaszem Bajsarowiczem, Developerem Magento w Digital Factory, jednym z pierwszych na świecie programistów z certyfikatem Magento 2 Certified Professional Developer.

CYCLAD: Jak długo zajmujesz się Magento?

ŁB: Jestem programistą PHP od 2010 roku. Pierwszy raz z Magento zetknąłem się w marcu 2016 roku, pracując dla firmy konsultingowej, gdzie zajmowałem się projektami opartymi o Magento Enterprise Edition (sklep z oprogramowaniem oraz outlet sprzętu sieciowego). Styczeń 2017 roku wiązał się z rozpoczęciem współpracy z Warszawską agencją, która dostarczała rozwiązania w oparciu o Magento 2. Nowa wersja Magento przypadła mi do gustu tak bardzo, że zdecydowałem się rozwijać w tym kierunku. Prócz bycia aktywnym uczestnikiem wielu konferencji, od kwietnia 2018 roku jestem jednym z pierwszych na świecie programistów, którzy z pomyślnym rezultatem podeszli do egzaminu Magento 2 Certified Professional Developer. W wolnym czasie wprowadzam również zmiany w kodzie źródłowym Magento oraz jego dokumentacji. W pierwszym kwartale 2018 roku zostałem wyróżniony tytułem jednego z 4 najaktywniejszych redaktorów dokumentacji Magento 2 na świecie.

CYCLAD: Gratulacje! Czy osiągnięcie takiego wyniku wymagało sporych nakładów pracy?

ŁB: Niewątpliwie na przygotowanie się do egzaminu trzeba poświęcić kilka godzin dziennie. Mnie opanowanie całości zajęło około miesiąca codziennej pracy, szczególnie, że w przeciwieństwie do egzaminu związanego z poprzednią wersją aplikacji – w przypadku wersji drugiej – egzamin skupił się na rozwiązywaniu problemów, a nie tylko znajomości kodu źródłowego.

CYCLAD: Jakich kompetencji wymaga Magento, by w pełni móc wykorzystać jego potencjał?

ŁB: Kompetencje… To ciężkie pytanie. Przede wszystkim: samodyscyplina. Praca z rozbudowanymi aplikacjami, w których zmienna logika biznesowa nieustannie przenika się z warstwą aplikacji jest trudna. Elementy są silnie powiązane, a każda milisekunda jest na wagę złota. Wymaga to ustalenia pewnych wspólnych praktyk i upewnienia się, że wszyscy członkowie zespołu je rozumieją i podporządkują się tym zasadom.
Wykorzystanie pełnych możliwości Magento wymaga znajomości narzędzi dostępnych w systemie, umiejętność ich wykorzystania – po co wynajdywać koło na nowo? – jednocześnie świadomość ograniczeń i efektów ubocznych wynikających z użycia wspomnianych narzędzi.
Weźmy za przykład sytuację, gdy zewnętrzna firma przygotowuje integrację z tworzonym systemem e-commerce opartym o Magento 2. Jednym z wymagań jest możliwość pobrania informacji o cenach i dostępności produktów. W oparciu o otrzymane informacje, można złożyć zamówienie. Aby obie strony doskonale rozumiały wzajemne oczekiwania, muszą ustalić format wymiany informacji, a w tym celu konieczna jest dokumentacja do interfejsu API. Magento oferuje nie tylko gotowe narzędzie służące udostępnieniu interfejsu REST lub SOAP, lecz również zróżnicowane mechanizmy autoryzacji, a co najważniejsze – automatycznie generowaną dokumentację dla tworzonych interfejsów. Interfejs API jest gotowy w przeciągu jednego dnia, gdy samodzielne – od projektu, poprzez testowanie, do wdrożenia – na tę samą pracę trzeba by przeznaczyć nawet 10 dni roboczych!
W ostatnim projekcie utworzenie interfejsu API udostępniającego listę sklepów przynależących do sieci naszego klienta zajęła dokładnie godzinę. Wliczając utworzenie dokumentacji i testów automatycznych.
Niezwykle istotne jest nieustanne doskonalenie się. Technologia jest jeszcze „młoda”, więc z wersji na wersję ogromna jego część jest udoskonalana – a ja, jako programista, muszę podążać za zmianami.

CYCLAD: Co, z punktu widzenia programisty, wyróżnia Magento na tle innych technologii?

ŁB: Moim zdaniem – ogromną zaletą jest rozbudowana społeczność. Konferencje na całym świecie (Meet Magento, MageTitans, MageTestFest itd) oraz połączone z nimi wydarzenia (np. Contribution Day) przyciąga tysiące programistów i przedstawicieli biznesu. Będąc programistą można być bardzo blisko osób, które z ramienia firmy Magento rozwijają aplikację – przekazywać swoje uwagi i sugestie oraz zadawać pytania o nurtujące problemy. Programista jest też w stanie wpływać na kształt aplikacji, wprowadzając zmiany w otwartym kodzie źródłowym, dostępnym w serwisie GitHub. Społecznościowo tworzone są także duże projekty – np. Multi-Source Inventory. Właśnie dzięki tej „bliskości” i współodpowiedzialności, w 2017 roku do kodu Magento 2 zmiany wprowadziło najwięcej osób spośród wszystkich projektów open-source utrzymywanych w serwisie GitHub (Magento 2 – 4622 osoby rozwijające aplikację, Laravel – 3897 osób, WooCommerce – 2952 osoby).

CYCLAD: Ile czasu zajmuje bycie tak aktywnym uczestnikiem społeczności Magento?

ŁB: Zdecydowanie wymaga to sporego zaangażowania. Moim celem jest ciągłe doskonalenie i budowanie pozycji eksperckiej wśród społeczności Magento. Realizacje tego celu wymaga regularnego pojawiania się na konferencjach branżowych na całym świecie. Podczas konferencji i Contribution Days często zgłaszam poprawki do kodu źródłowego Magento, co każdorazowo wymaga kilkugodzinnej pracy, analizy i dyskusji z architektami Magento. Są to jednak wspaniałe doświadczenia, podczas których można wymieniać się wiedzą z mentorami i największymi specjalistami Magento. Udział w warsztatach z takimi ekspertami jak Sebastian Bergman – twórca PHPUnit, Mathiasem Verraes’em – ambasador Domain-Driven czy moim branżowym idolem Vinaii Kopp’em daje dostęp do rozbudowanego know-how.
Moja ciężka praca związana z budowaniem swojej pozycji w społeczności Magento daje pierwsze owoce nie tylko w postaci świeżego spojrzenia na rozwiązanie proponowane Klientom, ale także jest moim osobistym sukcesem – fakt, że jestem już rozpoznawalną osobą na wielu konferencjach, daje wielką satysfakcję.

CYCLAD: A co jeśli chodzi o Klientów? Czy projekty e-commerce oparte o Magento czymś się różnią od innych podobnych rozwiązań dostępnych na rynku?

ŁB: Magento jest uważane za aplikację klasy Enterprise – jest to oprogramowanie wysokiej jakości, realizujące kompleksowo szereg zadań z więcej niż jednej dziedziny biznesu. O rozwiązaniach klasy Enterprise mówimy, gdy oprogramowanie jest rozwijane przez zaawansowaną technologicznie firmę, która dba o wydajność i bezpieczeństwo aplikacji. Oprogramowanie takie jest dobrze udokumentowane, zapewnia również wsparcie techniczne ze strony producenta. W tej grupie Magento jest rozwiązaniem tańszym we wdrożeniu i utrzymaniu. Nie wymaga również dedykowanej infrastruktury. Dla małego biznesu wystarczy serwer VPS, duże platformy sprzedażowe mogą korzystać z Amazon, Azure czy własnej kolokacji. Uważam, że Magento jest jedyną aplikacją tej klasy, która może zostać doskonale dopasowana do biznesu. Bez kompromisów, bez ustępstw ze strony biznesu, wedle zasady: „Oprogramowanie jest dla biznesu, nie biznes dla oprogramowania”.


Weźmy za przykład sieć sklepów oferujących podłogi, dla której realizowałem projekt. Zdecydowali się na migrację do Magento 2, gdyż dotychczasowe oprogramowanie nie pozwalało im na zmianę głównych części systemu. Każdorazowo wiązało się to z długim czasem oczekiwania i wysokimi kosztami. Biorąc udział w fazie analityczno – porównawczej widziałem, że w oparciu o Magento, zdecydowana większość potrzebnych im modułów jest możliwa do zrealizowania w krótkim czasie, bez zaangażowania dużego zespołu programistycznego.
Dodatkowo Magento łączy w sobie możliwości B2C oraz B2B – niemal „out of the box”. Dysponując jednym magazynem, jedną bazą produktową możesz w jednej instancji aplikacji uruchomić 2 platformy sprzedażowe – dla klienta biznesowego i klienta detalicznego.

CYCLAD: Jakie są korzyści z wdrożenia rozwiązań opartych o Magento?

ŁB: Wspominałem już o niskiej cenie wdrożenia i utrzymania. Nie jest to jednak kluczowy argument przemawiający za użyciem tej technologii. Najważniejszą zaletą jest nieograniczona elastyczność. Nie ważne jaką branże reprezentuje nasz Klient, Magento spisze się w każdym z tych scenariuszy idealnie. Świetnie się sprawdza nawet w przypadku rezerwacji hotelowych czy biletów lotniczych. Można wykorzystywać istniejące moduły, jak również zlecić utworzenie nowego modułu specjalnie dla Twojej firmy. Inne z korzyści – platforma Magento jest dostosowana do optymalizacji pod kątem wyszukiwarek, pozwala zintegrować się z kluczowymi usługami dla e-commerce w zaledwie kilku kliknięciach.

CYCLAD: Jaka funkcjonalność Magento może być najbardziej przydatna Klientom?

ŁB: Za ogromny sukces uważam wdrożenie tzw. „One Page Checkout” – zoptymalizowanego pod kątem user-experience procesu sprzedażowego. Dodatkowo, do dyspozycji oddawane są narzędzia „Marketing Automation”, których wykorzystanie pozwala na zwiększenie współczynnika konwersji nawet o kilkanaście procent. Kolejnym plusem jest responsywność. Platforma jest dostosowana do wyświetlania treści zarówno na komputerach, jak i urządzeniach mobilnych. Trzecim, równie ważnym według mnie aspektem, jest wydajność. Odpowiedzialnie wdrożona platforma działa płynnie, nie wymaga dodatkowej pracy optymalizacyjnej.

CYCLAD: Kiedy tak naprawdę warto wdrożyć Magento?

ŁB: Uważam, że Magento znajdzie zastosowanie w prawie każdej branży i prawie każdej skali. Jest to skalowalna platforma. Gotowa na to, by się skurczyć lub rozszerzyć i obsłużyć ogromną ilość zamówień w miarę rozwoju biznesu – czego wszystkim sprzedawcom życzę.

CYCLAD: Jakie wyzwania technologiczne stoją przed rynkiem e-commerce?

ŁB: Technologie e-commerce zmieniają się w błyskawicznym tempie, ciężko więc jednoznacznie odpowiedzieć na to pytanie, by odpowiedź była w miarę aktualna. Tym niemniej, trendem na najbliższy czas, za którym podąża Magento, są aplikacje progresywne.
Aplikacja progresywna (Progressive Web App) w przeciwieństwie do jej natywnego odpowiednika nie wymaga instalacji na urządzeniu klienta. Nie wymaga również regularnych aktualizacji. Aplikację taką instaluje się poprzez utworzenie skrótu do strony internetowej na ekranie głównym lub liście aplikacji. W rezultacie, w pamięci urządzenia zapisywane są pliki niezbędne do szybkiego uruchomienia aplikacji – nawet w przypadku braku dostępu do Internetu.
Na bieżąco śledzę wydarzenia związane ze wsparciem dla aplikacji progresywnych, jak również przygotowania Magento obsługi takich aplikacji. Gdy tylko udostępniona zostanie stabilna wersja Magento, pozwalająca na stworzenie produkcyjnej, progresywnej platformy sprzedażowej, mój zespół będzie gotowy na wdrożenie.

CYCLAD: Dziękujemy za rozmowę i życzymy wielu sukcesów w Magento ?