Rozhovor s Dr.Max-om nielen o vývoji

Kvôli optimalizácii editora obsahu na projekte Dr.Max nás koncom októbra navštívili kolegovia z Prahy. Túto jedinečnú príležitosť sme využili, pripravili si otázky a natočili s nimi rozhovor. Ak ste ho zmeškali na našich sociálnych sieťach, ponúkame vám jeho rozšírenú “písanú” verziu. Dozviete sa napríklad, čo spôsobilo najdlhší, až 15 hodinový výpadok stránky, alebo, že pri výbere nových developerov na projekt závisí viac na charaktere, než na počte rokov vo vývoji.  

Aké technológie aktuálne používate na projekte internetovej lekárne Dr.Max?

Jan Klat (e-commerce solution architect): V tejto chvíli sa to točí hlavne okolo dvoch technológií. Máme backend, ktorý je postavený na Magente, čiže ide o PHP, a na frontende používame JavaScript-ovú aplikáciu postavenú na Vue.js. Celý techstack je k dispozícii k nahliadnutiu tu: https://stackshare.io/dr-max/dr-max-ecom

Na základe akých kritérií ste sa rozhodli práve pre Magento?

Jan: Ja som pri výbere riešenia nebol, skôr sa snažím vymyslieť, ako sa od neho posúvať ďalej.

Peter Varga (e-commerce platform manager): Pri výbere vlastne nebol nikto z nás, takže je ťažké to posudzovať. Ale povedal by som, že jedným zo základných parametrov bolo použitie Magenta vo verzii 1 pri projekte drmax.cz. Vedenie s ním bolo pravdepodobne spokojné a tak sa pustilo aj do Magenta 2, ktoré predstavovalo výrazný posun a riešilo väčšinu vtedy existujúcich problémov.

Jan, hovoríte o posunutí sa ďalej. Plánujete teda na projekte zaviesť nejaké nové technológie?

Jan: Áno. Napríklad aktuálne je pre nás najväčšou témou DevOps. Celá štruktúra prechádza pod Azure Kubernetes services a snažíme sa, aby na tejto transformácii infraštruktúrny tím úzko spolupracoval aj s vývojármi. Zároveň s tímami v súčasnosti riešime, akým spôsobom sa na strane backendu dostať z monolitu, ktorý Magento predstavuje, bližšie k servisnej architektúre. V tomto smere sa sústreďujeme najmä na NodeJS a GoLang.

Takže majú pri výbere technológii nejaké slovo aj samotní developeri?

Jan: Určite. Keď sa rozhodujeme, čo používať a ako to používať, konzultujeme to aj s tímom. Napríklad sa pravidelne stretávame s teamleadermi produktových tímov na tzv. architektonickej guilde, kde riešime operatívne záležitosti a naše technologické smerovanie. Hoci sme trebárs v rovine Magenta viazaní nastaveným “ekosystémom”, tímom sa snažíme poskytnúť voľnosť. Predstavíme im smer a nechávame ich, aby si v rámci neho našli cestu sami.

Aké máte na projekte technické zabezpečenie v prípade padnutia servera?

Jan: Máme dva tímy, ktoré sa nám starajú o podporu 24/7. Jedna časť je viac softvérová a tú druhú tvorí DevOps-ový tím, ktorý sa stará o infraštruktúru. Chlapci navzájom spolupracujú, projekt strážia a keď príde nejaký incident, ihneď sa mu venujú a snažia sa web buď dostať zo zálohy späť do funkčného stavu, alebo rýchlo pripraviť opravu.

Aký najdlhší výpadok ste zaznamenali?

Peter: Asi najdlhší bol 15-hodinový výpadok našej talianskej verzie. Spôsobila ho ľudská chyba v datacentre – kolega jednoducho zle klikol. Obnova bola náročná, ale tím usilovne pracoval celú noc a správnu verziu postupne obnovil. Prečo to trvalo až 15 hodín je na dlhšiu debatu – radi to detailne porozprávame každému, kto k nám na projekt nastúpi :)

Ktoré obdobie fungovania projektu bolo pre vás najväčšou výzvou?

Marek Beniak (common product owner): Najväčšou výzvou býva vždy obdobie releasu nejakej väčšej funkcionality. Napríklad, keď sme migrovali celé krajiny, menili checkout-ový proces v Čechách alebo teraz, keď riešime upgrade celého Magenta, čo má samozrejme vplyv na množstvo integrácií. Najväčší problém je to všetko dostatočne vopred otestovať a následne prioritizovať, ktoré chyby môžeme pustiť do produkcie a ktoré to blokujú a teda ich musíme opraviť. Release sa totiž musí urobiť naraz, nedá sa to po malých kúskoch. 

Čo považujete za najdôležitejšie pri vývoji tak veľkého riešenia, akým je Dr.Max?

Marek: Najväčšia komplikácia vývoja e-shopu Dr.Max je, že je to vlastne 5 e-shopov v 5 krajinách. Hoci sa ich snažíme “stavať” ako jeden, podliehajú rôznym legislatívam, marketingovým prístupom aj odlišnej pozícii na trhu. V Taliansku máme vyše 20 lekární, na Slovensku cez 400 a v Rumunsku už viac než 600. A teda, aj keď vyvíjame jedno riešenie, musí fungovať v rozličných prostrediach, podľa miestnych legislatívnych pravidiel. 

Znamená to, že už pri vývoji úzko spolupracujete aj s právnikmi, prekladateľmi a marketérmi?

Peter: Jednoznačne. Najmä s právnikmi a jednotlivými krajinami. Na ich pleciach totiž leží konečná zodpovednosť za to, aby bolo z pohľadu zákona všetko v poriadku. Častokrát sú teda práve právnici v jednotlivých krajinách našim najväčším nepriateľom. Nemyslím to v zlom, robia to všetko z dobrých dôvodov, lebo, hoci sa pohybujeme len v rámci EÚ, legislatíva jednotlivých krajín nás jednoducho nepustí.

Keď už spomínate EÚ, aké máte na európskom trhu ambície v ecommerce prostredí?

Peter: Určite len tie najvyššie :) Chceli by sme stabilizovať svoju pozíciu jednotky na európskom trhu a získať k tomu navyše aj niektoré ďalšie trhy. Veríme, že nám k tomu dopomôže aj naša silná pozícia v offline, kde máme spolu viac než 2300 lekární.

Čo považujete pri projekte Dr.Max za najväčší úspech z pohľadu biznisu a tímovej spolupráce?

Markéta Čonka (e-commerce scrum master): Ja si najviac cením ľudí a kultúru, ktorú máme nastavenú. Keby som to mala zhrnúť jedným slovom, napadá mi dôvera. Snažíme sa byť k sebe otvorení, dávať si spätnú väzbu, aj tú negatívnu, a neuspokojiť sa s minimom, ale neustále sa zlepšovať. A v neposlednom rade je tu aj to dookola omieľané “work hard – play hard”. Verím, že sa vieme naplno ponoriť do práce, ale, ak je to potrebné, tiež sa za to odmeniť.

Peter: Z pohľadu biznisu je to schopnosť v jednotlivých krajinách naďalej rásť. Z pohľadu ľudí je pre mňa úspech to, že aj v takej komplexnej organizácii ako sme my, s mixom dodávateľov, dokážeme interných ľudí v rôznych lokalitách po celej Európe stretnúť, spoznať a pristupovať k nim ako k osobám, nie len ako k „nástrojom“.

Hovoríte, že máte dodávateľov z celej Európy, prečo ste sa rozhodli spolupracovať práve s nami?

Peter: Povedal by som, že to bolo najmä vďaka dlhoročnej dobrej skúsenosti. Starali ste sa aj o predchádzajúcu platformu dodávanú pre slovenskú časť Dr.Maxa a keď sme začali proces migrácie na novú platformu, na ktorej stále pracujeme, rozhodli sme sa v spolupráci pokračovať. Bart sa v tomto smere naďalej osvedčuje ako dobrý partner. V skratke – lebo barťáci sú parťáci! :)

Hoci pracujete najmä v centrále Dr.Max v Prahe, do Košíc ste prišli osobne. Aký význam má pre vás takýto osobný kontakt?

Jan: Náš vývoj je v tejto chvíli rozdelený medzi tri krajiny – Česko, Slovensko a Rumunsko. Komunikácia medzi týmito tímami a denné online meetingy sú pre nás, takpovediac, denný chlieb. Ja považujem ale za dôležité stretávať sa aj osobne, a preto sme vlastne do Košíc prišli. Mne sa veľmi páči, že košický tím funguje spoločne v jednej kancelárii a denno denne sa stretáva. Mám pocit, že vám tu všetko, aj vďaka tomu, tak dobre funguje.

Vývoj je postavený agilne, na Scrum metodológii a teda dôležitú úlohu zohráva aj Scrum master. Čo všetko má na starosti?

Markéta: Ja sa starám o to, aby fungovali procesy naprieč tímami a zároveň, aby komunikácia s lokálnymi krajinami a miestnym biznisom prebiehala transparentne. Jednoducho aby všetko, vrátane relasu, prebehlo hladko. Naše oddelenie je pomerne členité – v ecommerce máme 5 vývojových tímov. Ľudia, ktorí v nich pracujú, sa sústreďujú priamo na vývoj produktu. A potom máme ešte ďalšie podporné a integračné tímy. Celkovo je tých tímov asi 8.

Môžete nám ich vymenovať konkrétne?

Peter: Sú to product owneri, UX-áci, testeri, vývojári (frontendoví aj backendoví), integrační architekti a DevOps-áci. Taktiež, vzhľadom na našu veľkosť, nedávno vznikol aj 2-členný tým tzv. Dev(eloper)Ex(perience) Engineers, ktorí sa starajú o to, aby sa vývojárom pracovalo lepšie. Spolu teda na projekte pracuje okolo 120 ľudí.

Aké kvality alebo zručnosti by mal mať kandidát, ak by sa do niektorého Vášho tímu chcel pridať? 

Jan: Pre mňa je to celý rad vecí. V prvom rade je to seniorita, teda znalosť technológií. Nemusí to byť super seniorný človek, často stačí i to, že má jednoducho chuť, vôľu a zapálenie do práce. Kolegovia mu už s technológiami radi pomôžu. A druhá, nemenej dôležitá vec, je tzv. kultúrny fit. Než k nám potenciálny kolega nastúpi, zorganizujeme jeho stretnutie s tímom a následne na oboch stranách zisťujeme sympatie. Chceme vedieť, či si ľudia rozumejú a dokážu si predstaviť nielen spolu pracovať, ale aj zájsť napríklad na pivo a tráviť spolu čas mimo práce.

Ďakujeme za rozhovor a tešíme sa na naše ďalšie príjemné stretnutia.

Viac blogov určených najmä pre majiteľov webov a eshopov nájdete v kategórii e-commerce