O mně

Jmenuji se Luděk Veselý a pracuji jako programátor. Starám se o backend, kde nejčastěji vytvářím API pro frontend nebo mobilní aplikace. Používám jazyk PHP společně s frameworky Symfony a Nette.

Data ukládám do relačních databází (MySQL) nebo dalších úložišť (především Elasticsearch, ale i MongoDB nebo Redis). O Elasticsearch se však zajímám nejvíce - ať už jde o vyhledávání, logování nebo analýzu dat. Pokud to dává smysl, používám architekturu mikroslužeb a náročnější operace nechávám zpracovat na pozadí prostřednictvím RabbitMQ.

Zajímám se o linuxové kontejnery, konkrétně o nástroje Docker a Kubernetes. S jejich použitím mám praxi při lokálním vývoji i v produkčním prostředí. S kontejnery také souvisí kontinuální integrace a obecně automatizace procesů souvisejících s testováním a nasazováním. Jsem příznivcem filozofie DevOps a pro CI/CD využívám CircleCI a GitLab CI.

Při práci v týmu jsem používal řadu nástrojů, nejčastěji Trello a JIRA. Samozřejmostí je pak verzování (Git), použití Git Flow nebo dělání Code reviews. API dokumentuji pomocí Apiary, zdrojové kódy se pak snažím komentovat tak, jak je nezbytně nutné - komentáře by dle mého neměly nahrazovat dobře čitelný a pochopitelný kód. Používám nástroje pro statickou analýzu kódu, veškeré testy spouštím také na integračním serveru.

Abych se udržel v obraze, navštěvuji vývojářské konference a srazy. Získané vědomosti se snažím předávat dál, většinou ve formě článků na tomto webu - nejnovovější je seriál o vyhledávání pomocí Elasticsearch v češtině. Přednášel jsem také na Poslední sobotě, kde jsem mluvil o agregaci logů kontejnerů pomocí Elastic Stacku. Rád zkouším nové nástroje a techniky, například v rámci diplomové práce to byl jazyk Golang, který jsem použil při implementaci vyhledávání. V rámci bakalářské práce jsem experimentoval s dolováním dat.

Bydlím v Praze, kde pracuji pro Memsource, dříve jsem pracoval pro Vodafone. Jsem také lektor kurzu PHP pro začátečníky pod hlavičkou Braincraft. Vystudoval jsem informatiku na FIS VŠE, bakalářské studium jsem absolvoval na FM TUL. Kromě programování mě baví cestování a hudba.


Odkazy


Reference

Memsource

od r. 2018

Memsource je systém řízení překladů (TMS) pro globální společnosti, které chtějí zlepšit efektivitu lokalizace. Mou úlohou je propojení tohoto systému s dalšími CMS, jako jsou WordPress, Drupal, Magento a další. Vyvíjím tedy pluginy do zmíněných CMS (v PHP) a rozšiřuji možnosti napojení stávajícího systému (v Javě). Často řeším kompatibilitu s nejrůznějšími verzemi PHP i samotných CMS, s čímž mi pomáhá Docker. Samotné konektory využívají jako úložiště MongoDB a napojují se na API dalších služeb v rámci Memsource.

Braincraft

od r. 2018

Mou nejnovější zkušeností je lektorství večerního kurzu PHP pro začátečníky pro společnost Braincraft. Učím zde studenty, kteří mají zájem se stát programátory, naprostým základům PHP, MySQL a Symfony.

Vodafone

2017 - 2018

Ve Vodafone jsem pracoval jako backend vývojář. Používal jsem zde PHP (a framework Symfony) a data ukládal do databáze Oracle. Hlavní úlohou backendu zde bylo napojení na další služby (Siebel, Tibco) a poskytování rozhraní pro ostatní aplikace (frontend, mobilní aplikace). Pro kontinuální integraci se zde používalo Bamboo napojené na další systémy (Bitbucket, JIRA).

Atoto.cz

2016 - 2017

Pro Atoto jsem pracoval jako backend programátor, kde jsem přispíval do vývoje mikroslužeb postavených na Symfony, Silex a Nette. Primárně pracovaly s Elasticsearch a řešil jsem tak vyhledávání a našeptávání. Staral jsem se také o automatický deployment do Google Cloudu, kde byl pro orchestraci kontejnerů použit Kubernetes.

Vyhledávání jako služba

Diplomová práce, r. 2017

V rámci své diplomové práce jsem vytvářel nástroj, který je poskytován jako služba a umožňuje snadnou implementaci fulltextového vyhledávání do e-shopu. Samotné vyhledávání je implementováno pomocí nástroje Elasticsearch, API je pak napsané v jazyce Golang. Více podrobností naleznete v samostatném článku.

AdBoos.com

2015 - 2017

Ve firmě AdBoos jsem byl společníkem a především vývojářem. AdBoos umožňuje správu a řízení reklamních kampaní v systémech Sklik, AdWords, Facebook, Heureka a dalších. Kampaně jsou automtizovaně vyhodnocovány a řízeny. Aplikace běží na Nette a knihovnách Kdyby (Doctrine, RabbitMQ, Elasticsearch, Console).

Databáze dopravních nehod ČR

Bakalářská práce, r. 2014

V rámci své bakalářské práce jsem vytvořil databázi dopravních nehod, kterou si můžete zdarma stáhnout a libovolně analyzovat. Nabízím CSV soubor a Docker image s daty v Elasticsearch a připravenými dashboardy v Kibaně. Více informací a odkazy naleznete na samostatné stránce.

Slever.cz

2013 - 2015

Od roku 2013 jsem pracoval jako vývojář pro slevový portál Slever.cz, který patří mezi 5 největších slevových portálů v ČR. Od té doby jsme se rozrostli - z původních dvou programátorů na pětičlenný tým. Web běží na Nette, používá MySQL, Memcached a Elasticsearch. Pro vizualizace a analýzu logů používáme Kibanu. Práci plánujeme s pomocí JIRA Agile.

Collectora software s.r.o.

r. 2012

V roce 2012 jsem pracoval jako vývojář v týmu zajišťující vývoj a podporu inkasního systému v PHP a MySQL pro společnost Transcom s.r.o. Samotný vývoj probíhal v přibližně desetičlenném týmu, pro spolupráci se využívalo SVN a Redmine.