Symfony, Sylius a e-commerce platforma oXyShop 3.0 NextGen

Vláďa Barot, náš seniorní PHP developer a Team Leader produktu oXyShop 3 NextGen, nám povyprávěl o tom, jaké byly jeho kariérní začátky, jak probíhá vývoj nové e-commerce platformy, s jakými technologiemi on a jeho tým pracuje a co ho vlastně na oXyShopu baví.

Jak bys popsal svůj kariérní vývoj?

Začínal jsem programovat na vysoké škole, bavil mě sport, a tak jsem oslovil firmu ve Vsetíně, která dělala sportovní weby. Chtěl jsem se učit nové věci a po krátké době už pro mě weby byly málo, tak jsem se dostal do firmy, která dělala e-shopy. To byla výzva – měli za sebou velké retailové e-shopy jako Euronics, A3 sport, Manufaktura a další. Na e-shopu Manufaktura jsem dělal já, bylo to náročné zvyknout si na časový pres, deadliny a další věci spojené s velkými projekty. Ve firmě jsem byl necelé 3 roky, ke konci mi to už přišlo málo, že se nic nového neučím. Má pozornost se upřela k Brnu – nejen proto, že jsem si tu našel přítelkyni. :)

Do oXy jsem přišel jako junior/medior, určitě ne senior. Chtěl jsem se učit od zkušených kolegů. E-shopová platforma, na které jsme vyvíjeli projekty, byla technologicky zastaralá, ale společně s kluky jsme vymýšleli, jak ji zdokonalit, udělat nové postupy a refaktorovat starší věci. Začali jsme více používat framework Symfony.

Jak vznikala nová e-commerce platforma oXyShop 3 NextGen?

Z vývojového týmu divize e-shopy na míru se vyhradili kolegové, kteří se pustili do příprav nového produktu. Já v té době dokončoval rozpracované projekty a postupně jsem se zapojil do řešení architektury nového produktu. Implementovali jsme Kubernetes, prošlapali různé cesty, nebáli jsme se zkoušet nové technologie. Přemýšleli jsme o tom, že si NextGen napíšeme sami. Nakonec jsme se spojili s platformou Sylius, postavenou na frameworku Symfony. A udělali jsme dobře.

Proč jste se rozhodli pro Sylius?

Na Sylius jsme přišli náhodou. B2B portál pro společnost Alimpex jsme stavěli čistě na Symfony a vzhledem k tomu, že Sylius je jednou z e-commerce platforem využívající tento framework a měli připravený admin bundle, který bychom jinak museli psát sami a trvalo by to déle, vyzkoušeli jsme jej. V té době nás nenapadlo, že bychom na této platformě psali celé nové e-shopy. Když jsme se rozhodovali, jak nový produkt uchopit, Sylius byl nejlepší volba. Je to headless API first řešení. V porovnání například s Magento je technologicky vyspělejší a má i skvělou komunitu. Přemýšleli jsme i o CQRS – vyzkoušeli jsme tento model, ale není to běžný model v e-commerce. Vzhledem k jeho složitosti by se vyplatil jen na velkém robustním řešení.

Jak probíhala spolupráce se Syliem?

Na začátku jsme si hodně psali a radili se s nimi. Potkali jsme se osobně na konferenci v Amsterdamu, kde jsme řešili vizi, jak potřebujeme platformu používat. Měli jsme i u nás v Brně 2denní workshop se softwarovým inženýrem Łukaszem. Sylius má silnou komunitu, běží na této platformě stovky e-shopů a vývojáři z core týmu Sylia přispívají i do frameworku Symfony.

Jak jsi spokojený s e-commerce platformou oXyShop 3 NextGen?

Když jsme dělali NextGen, tak celý tým kvitoval to, že nemusíme chodit za naším interním IT. Měli jsme Docker, mohli jsme si hrát na vlastním pískovišti a v Digital Oceanu si vyzkoušet, co jsme potřebovali. Na pilotním projektu jsme se přesvědčili o tom, že NextGen tak, jak jej máme navrhnutý, je dobré řešení.
Museli jsme se popasovat s velkým množstvím výzev, od nastavení CI/CD procesu až po aplikaci, která běží ve více replikách. Tímto bych chtěl poděkovat všem, kteří se na vývoji nové platformy podíleli, bez vás všech by to rozhodně nešlo!
Aktuálně dokončujeme povýšení na novou verzi Syliusu, přechod na PHP8 a Symfony 5. A aby toho nebylo málo, plánujeme přechod na headless řešení. Díky API, kterou Sylius doplňuje a vylepšuje, můžeme psát vlastní komponenty ve Vue.js a poskládat tak mozaiku nové e-commerce platformy. Máme za sebou 2 roky vývoje e-commerce platformy, technologie se ustalují a je jasná vize a směřování. Jsem moc rád, že jsou okolo mě lidé na správném místě. Takže s platformou oXyShop 3 NextGen jsem spokojený a těším se na další projekty, které na NextGenu spustíme.

Od ledna jsi team leader, co to pro tebe znamenalo?

Zodpovědnost za členy týmu. Do té doby jsem se tomu také věnoval – poradit nováčkům, programátorům i testerům jsem bral jako samozřejmost. Teď se snažím zjistit u kolegů jejich silné stránky a ty rozvíjet, ale i pracovat s těmi slabšími a hledat cesty, jak je podpořit. Jak se postupně tým rozšiřuje, rozdělili jsme se na produktový core tým, který vedu já a vývojový tým, který vede Kuba. Rozvolnilo mi to ruce. Díky Kubovi nemusím vše řešit s jednotlivými developery, ale zeptám se ho, co se děje a v čem by potřeboval pomoct.

Co tě baví na e-commerce?

Rozmanitost. Ta práce není monotónní. Máme nové nápady, vize. Teď řešíme primárně přechod do headless, sledujeme, co se děje v e-commerce, jak k tomu přistupují jiné firmy, ujišťujeme se, že to, co máme v plánu, je správná cesta. Protože těch cest existuje mnoho. Důležití jsou lidé v týmu. oXyShop podporuje potenciál v lidech, nabízí jim prostor k seberealizaci, vzdělání, lidé se mohou učit sami od sebe, předávat si zkušenosti, znalosti, postupy.

Jak hodnotíš nové kolegy v týmu?

Nováčci naskočili do rozjetého vlaku a jsou opravdu šikovní. Nebojí se ozvat s nápadem, mají přínosné body k diskuzi, chtějí NextGen posouvat dál. Toho si moc cením.

Jak se těšíš na větší příliv programátorů na NextGen?

Já se těším na ten okamžik, až budu programátorům dávat úkoly v Jiře a sledovat, jak se spouští jeden e-shop za druhým. Teď jsem se spíš věnoval náboru a zaučování nováčků, což je časově náročné. Jsem rád, že už na to nejsem sám a mám tu schopné kolegy, kteří se do onboardingu dalších programátorů zapojí.
arrow icon