Zpověď backendisty: Jak jsem se stal Noudařem
Sehnat backend vývojáře se znalostí JavaScriptu a Node.js je věčný problém. Většina lidí v Ackee proto začínala jako PHP vývojáři. Nejinak tomu bylo i u Štefana Prokopa, který v Ackee už rok a půl roku pracuje na projektech pro Škoda AUTO DigiLab nebo Volkswagen WeShare. V rozhovoru prozrazuje, jaké byly jeho začátky i zkušenosti s přechodem k Node.js.
Kdy ses začal věnovat PHP?
Tvorbě webových aplikací a eshopů postavených na PHP jsem se začal věnovat na střední škole. Za tu dobu jsem vyzkoušel prakticky všechny úrovně a programovací styly. Projekty postavené na PHP se většinou psaly bez použití jakéhokoliv frameworku tzv. špagetovým kódem, ale novější projekty už využívaly objektově orientovaný přístup.
Jak jsi vlastně v Ackee začínal?
Do Ackee jsem nastupoval jako pomocný PHP vývojář na částečný úvazek. Měl jsem na starosti interní systém psaný v Nette a obchod se vstupenkami pražského Výstaviště založený na frameworku Symfony.
O JavaScriptu jsem věděl opravdu minimum. Většinou jsem se spokojil s tím, co nabízí knihovna jQuery, a neměl jsem tak potřebu psát v JavaScriptu něco navíc. Ve většině případů totiž JS řešil nějaký kodér nebo frontend vývojář.
A jak tedy u tebe došlo k “přerodu” z PHP na Node.js vývojáře?
Hodili mě do vody a já se musel naučit plavat. :) Musím ale říct, že tenhle přístup mně osobně vyhovuje nejvíc. Začal jsem malým interním projektem (RPS for Messenger), takže nehrozilo prakticky žádné nebezpečí, že bych rozbil nějaké důležité části. Netlačil mě čas a mohl jsem se vedle vývoje ještě v klidu vzdělávat. Spolu s tickety na tenhle projekt jsem měl totiž tickety na vzdělávání, kam jsem si zapisoval čtení dokumentace Node.js, Express.js a taky hledání a zkoušení různých balíčků (např. lodash, knex, bookshelf, google platforma). V začátcích mi taky hodně pomohly code reviews, které v Ackee děláme u každého projektu, a konzultace se zkušenějšími kolegy.
Měl jsi zpočátku s JavaScriptem nějaký větší problém?
Chvilku mi trvalo, než jsem si zvykl na to, že je JS asynchronní. Vždy jsem očekával výsledek na dalším řádku, ale předchozí řádek se stále ještě zpracovával. Co se týče adresářové struktury, tak je to podle mě stejné jako ve většině PHP projektů – rozdělení na services, repositories, modely a controllery.
Jak náročné je tedy podle tebe přejít z PHP na Node.js?
Osobně si myslím, že ten přechod je v podstatě velmi snadný a rozhodně rychlejší, než jsem si původně myslel. Troufám si říct, že po uplynutí zkušební doby jsem byl schopen zorientovat se v každém projektu, který jsem dostal na starost. Práce mi sice zabrala více času, ale úkol jsem vždy splnil.
Takže návrat mezi PHP vývojáře tě neláká?
Rozhodně ne. :) Skeleton včetně několika endpointů je díky vhodným balíkům vytvořený skoro lusknutím prstu. I díky tomu mám teď při práci pocit, že toho stihnu udělat opravdu hodně (což může být dáno také tím, že nemusím řešit frontend). K vývoji pak používám PHPStorm, který napovídá JavaScript nebo TypeScript, označuje chyby v kódu na základě lint konfigurace a skvěle debugguje Node.js projekty.
Máš nějaký závěrečný vzkaz pro čtenáře?
Nebát se toho. Přechod z PHP na Node.js je opravdu snazší, než by člověk čekal. Jestli jste pracovali v PHP kvůli jeho jednoduchosti a rychlosti, potěší vás, že Node.js je v tomto velmi podobný, ne-li lepší. Zapomeňte na hejty, že JavaScript je pro děti. V obou případech jde o benevolentní jazyky a dobře programovat se dá ve všem. V Ackee jsme si vybrali Node.js. Zkuste to i vy a uvidíte sami.