Důvodů, proč je Shoptet jedničkou na trhu, je několik. Jedním z nich je ale bezpochyby tým šikovných vývojářů. Z těch se tu doslova kouří, neustále totiž pracují na vylepšování systému. S jakými nástroji pracují a co je pro ně noční můrou? Nejen o tom jsme si popovídali s hlavou frontendu Vaškem Vracovským.
Pověz mi něco o své profesní minulosti.
Podobně jako každý jsem si prošel obligátními weby pro sebe, pro známé a pak pro různé drobné živnostníky. Ale měl jsem velké štěstí v tom, že hned na začátku přišlo laso od Michala Illicha z Jyxa. Dostal jsem tedy hned na startu kariéry šanci podílet se na opravdu velkých projektech jako například nova.cz, Sklik nebo fenomén své doby blog.cz.
Co ti práce v Jyxu přinesla?
Doslova mi otevřela nové obzory. Díky blog.cz jsem zjistil, kdo je to Ashley Tisdale, Bill Kaulitz nebo třeba Miley Cyrus. (smích) Mimo to jsem poprvé poznal, co obnáší práce v týmu, osvojil si základy verzování a poprvé se v praxi setkal se šablonovacím systémem. Tohle všechno mi dalo základy, ze kterých v lecčems čerpám dodnes. A hlavně i to, že dobrá atmosféra a dobrá parta – a že v Jyxu byla – je pro naši práci důležitou, ne-li nejdůležitější příměsí.
Jak ses dostal do Shoptetu?
Na jaře 2015 jsem byl ve stádiu, kdy jsem na part time pracoval pro Medio Interactive, kde jsem nasál další znalosti. Třeba o Ivetě Bartošové, ale i o SEO, responzivitě a Gitu, což se do budoucna ukázalo jako dobrá investice. Responzivita a Git, ne ta Bartošová. K tomu jsem kódoval šablony jako Baťa cvičky, to však aspoň trochu kreativního člověka dlouhodobě nemůže naplňovat. Když tedy přišla nabídka od Shoptetu a možnost pracovat kontinuálně na jednom produktu, neváhal jsem.
Co jsi o Shoptetu věděl, když tě oslovili?
Moc ne. Měl jsem povědomí o tom, že to je “firma, která dělá e-shopy”. Samozřejmě jsem si před pohovorem trochu zagooglil, abych byl v obraze. Takže jsem si upřesnil, co vlastně Shoptet dělá, a přečetl si i nějaké rozhovory se zakladatelem Mírou Uďanem, ze kterých jsem měl dojem, že to má v hlavě srovnané a ví, co dělá. To jsem si pak na pohovoru potvrdil.
Jaké byly tvé první dojmy z Shoptetu?
To je zapeklitá otázka, těch dojmů bylo hodně. Dojem ze šablon byl takový, že je v nich hlavně po stránce responzivity obrovský prostor pro zlepšení. O lidech jsem nepochyboval, že jsou lidmi na svém místě. Ale občas i mně, a to jsem zvyklý na ledacos, ze začátku přišlo, že mluví nějakou zvláštní cizí řečí. No a pak ještě dojem ze mě samotného – i když mám rád výzvy, ze začátku jsem měl obavy, jestli jsem si přeci jen neukousl příliš velké sousto.
To bylo před víc než 2 lety, takže předpokládám, že jsi sousto nakonec strávil…
Ano. To první sousto byla nová šablona nazvaná Techno, se kterou jsem strávil prvního půl roku. Díky ní jsem pronikl do většiny zákoutí systému, o kterých jsem na začátku neměl ani potuchy.
Půl roku? To je dlouhá doba, asi to tedy nebude jen obyčejné kódování, ne?
To rozhodně ne. První vstupní bariérou bylo pochopení všech závislostí ve vývojovém prostředí – co znamená která chybová hláška, jakou databázi stáhnout, jakou migraci spustit, jaký repozitář pullnout, abych se jí zbavil… A navíc jsem se ze začátku moc nekamarádil s příkazovou řádkou, v Shoptetu jsem byl vhozen do vody a plav… Hodně rychle jsem si ale zvykl, spoustu příkazů si osvojil. A kdo jednou ochutnal její efektivitu, zpátky by už za nic neměnil. Takže tohle byla ta první část “vstupní bariéry”, pro další část budu muset udělat kratší exkurz do historie.
Tak pojďme na dějepis.
V době před-responzivní byla tvorba webů vlastně snadná. Pomiňme teď IE5/6 a různé MS vychytávky. Udělala se šablona, která vypadala dobře v rozlišení 800×600 px, časem na 1024×768, pak na 1280×800 px… A bylo hotovo. Pro mobily s pidi displeji se udělala WAP verze, nebo se na to prostě kašlalo, protože kdo by chodil na internet z mobilu, že? Od těch dřevních dob se toho ale přeci jen dost změnilo. Responzivní web spolu s media queries byla bez nadsázky revoluce. A právě v tomhle okamžiku se podle mě oddělilo zrno od plev. Najednou nestačilo udělat jen jednu šablonu a počítat s jedním rozlišením, ale muselo se začít myslet mnohem komplexněji. Náročnost vytvoření opravdu dobré šablony narostla takřka exponenciálně, a to už ne každý dokázal. No a to “nejhorší” na mě v Shoptetu ještě čekalo.
A co bylo nejhorší?
Pominu-li, že je potřeba mít aspoň malý přesah do PHP, aby se člověk doopravdy zorientoval a byl efektivní, v Shoptetu do šablon vstupuje ještě další prvek. Noční můra všech kodérů, nebo vývojářů obecně – uživatel. BFU. Právě ten element, který bychom nejradši nechali jenom bezmezně obdivovat náš dokonalý výtvor, jen se proboha nikde nedotýkat a nic neměnit! No a tento BFU je z nějakých neznámých důvodů ze strany vedení Shoptetu bezostyšně podporován a vyzbrojován zbraněmi jako jsou inputy, selecty a checkboxy, jejichž přepínáním v administraci se najednou přeskládá layout, změní se barvy, mizí a znovu se objevují prvky, mění se počet produktů, typ zobrazení variant… A BFU to, světe div se, poťouchle používají a v tom našem dokonalém díle se bez okolků šťourají s nepochybnou snahou nám ho rozbít. Mluvil-li jsem ve spojitosti s responzivitou o takřka exponenciálním nárůstu složitosti šablony, tak při započítání tohoto nevypočitatelného faktoru naroste obtížnost minimálně stejně. Započítejte ještě to, že jednotlivé šablony by měly sdílet co nejvíce HTML i CSS, aby byla tvorba nových a údržba těch stávajících co nejjednodušší – a máme tady výzvu, kterou tak miluju.
To zní, jako by tě tvoje práce opravdu bavila.
Určitě, nemohl bych dělat práci, která by mě nebavila a nenaplňovala. Což Shoptet beze zbytku splňuje, i když jako každá práce má svá pro a proti. Samozřejmě je potřeba dělat i tu “dělničinu”, která není zábavná a je to jen taková “mechanická” práce. Ve smyslu – Udělá se nová fičura, přidej jí do šablon. Nebo – V šabloně je bug, oprav ho. Ale na všechno se dá nahlížet i z té lepší stránky, i při přidávání nové fičury se dá stávající systém, byť jen o kousek, vylepšit. Každá oprava bugu je maličkým přibroušením toho surového diamantu, na kterém společnými silami pracujeme, a jeho dalším posunem k dokonale vybroušenému drahokamu.
Pěkné. A čím ty kameny na frontendu brousíte?
Myslím, že ničím zvláštním. Tím, s čím pracuje většina frontendáků – s automatizací nám pomáhá Grunt, s CSS nám pomáhá preprocesor LESS, něco málo jsme si vzali z Bootstrapu, a to jak z CSS, tak JS. Když jsme u JS, tak většinu věcí jsme si vzhledem ke specifičnosti museli napsat sami, ale používáme některé pluginy nejen z Bootstrapu, ale i z jQueryUI a samozřejmě také používáme jQuery, která je v téhle kombinaci nezbytná.
jQuery? Myslela, že je to přežitek a jsou i modernější věci.
To bezpochyby jsou, na druhou stranu je ale jQuery podle mě často zatracovaná neprávem. A i kdybychom se nakrásně rozhodli jQuery opustit, v šablonách s námi stejně zůstane ještě dlouho. Uživatelé mají k dispozici HTML editor, přes který si můžou vlastním CSS a JS upravit šablony k obrazu svému. A těm jQuery prostě vzít nemůžeme.
Jakou vidíš budoucnost, pořád brousit diamanty?
Ano i ne. Naše šablony, administraci a všechno okolo musíme brousit neustále, protože kdo chvíli stál, už stojí opodál. Ale protože má být každý správný vývojář líný, přemýšlím samozřejmě o tom, jak práci – nejen tu mechanickou a nezajímavou, ale všechnu – přehodit na někoho jiného. Moje idea jsou úplně nové, sto procentně oddělené šablony, které spolu s podrobnou dokumentací uvolníme na Githubu a necháme je externí kodéry/agentury upravovat podle svého. A právě v téhle fázi bude ten pravý čas zhodnotit, jaké z “nových” webových technologií pro nás budou přínosem a použít je. K tomu je ale ještě hodně dlouhá cesta, vedoucí přes nový šablonovací systém, spoustu a spoustu programování a všemožných souvisejících problémů, které bude potřeba vyřešit.
Takže tvoje další oblíbená výzva?
Ano, je to tak. Ale určitě to není výzva jen pro jediného člověka, proto v současné době hledáme dalšího seniora nebo ještě líp seniory se zkušenostmi, o které by se s námi chtěli podělit a pomoct nám. A nedělat jen na našich vizích, ale třeba uplatnit i ty své.
Na závěr, jednou větou – co ti Shoptet dal?
Dal mi příležitost uplatnit svůj pohled na věc a taky dostatek prostoru k tomu, abych se naučil spoustu nových věcí.
Napsat komentář