Vystudoval jsem informatiku na Univerzitě Palackého v Olomouci (Mgr., 1996) a potom na Masarykově Univerzitě v Brně (Ph.D., 2003).
Pracovat jsem začal jako vývojář v C++ ve firmě ANF Data (pobočka Siemensu), kde jsem několik let pracoval na projektech v oblasti telekomunikací. Vyzkoušel jsem si pozici architekta, projektového i liniového manažera a někdy v roce 2006 jsem se začal zajímat o Scrum a o práci s týmy. Produkt, na kterém jsem tehdy pracoval, vyvíjelo asi 200 lidí ve 3 městech na 2 kontinentech. Byl jsem součástí skupiny koučů, která pomohla převést řízení vývoje produktu z čistého vodopádu na Scrum tehdy s měsíčními sprinty. Měl jsem na starosti nastavení procesů v brněnské pobočce a později jsem pracoval jako Scrum Master několika týmů.
V roce 2010 jsem nastoupil jako agilní kouč do brněnské firmy Y Soft s úkolem nastavit procesy pro vývoj software v oddělení R&D (research and development), kde tehdy pracovalo asi 20 lidí. Jelikož Y Soft velmi rychle vyrostl ze startupu, nešlo pouze o zavádění agilních praktik, ale občas o zavádění vůbec nějakých praktik při vývoji software (např. automatický build). Dneska je Y Soft samozřejmě mnohem dál. První experiment s použitím Scrumu a agilních praktik trval ve Y Softu asi rok. Potom se jej vedení firmy rozhodlo opustit a já jsem v roce 2012 nastoupil do firmy SolarWinds.
V SolarWinds jsem od začátku pracoval jako vedoucí týmu, který vyvíjel vlajkovou loď firmy – produkt Network Performance Monitor (NPM). V době mého nástupu se tým spíš choval jako dva nezávislé podtýmy – programátoři a testeři. Toto rozdělení se postupně podařilo překonat a když se firma v roce 2016 rozhodla použít Scrum pro vývoj všech produktů, mohl jsem uvádět tým NPM jako vzorový příklad. V roce 2016 jsem se stal součástí asi pětičlenné skupiny, která řídila zavádění Scrumu v celé firmě. Odškolil jsem desítky týmů a pomáhal jim aplikovat agilní principy v jejich konkrétních praktických podmínkách. U několika těchto týmů jsem později sloužil jako Scrum Master a vedl také agilní komunitu ve firmě, která se snažila prosazovat další inovace. Posledních několik let v oddělení nazvaném Core, která vyvíjelo sadu sdílených komponent používanou jinými týmy (mimo jiné také NPM).
Tato a další zkušenosti mě přivedly k poznání, že pokud má být vývoj software schopný rychle reagovat na požadavky zákazníka (=agilní), nestačí naučit vývojáře jedné komponenty moderní technické praktiky (např. TDD) nebo nastavit procesy v jednom oddělení. Je nutné, aby se do formulace toho, jak má vývoj software vypadat, zapojila celá firma v čele s nejvyšším vedením.
Což mě přivedlo ke studiu LeSSu, který mluví hodně o organizačním designu. Po několika letech studia pod vedením Craiga Larmana a dalších jsem se stal certifikovaným trenérem LeSSu a nyní nabízím vlastní školení.
Tím vůbec neříkám, že technické praktiky jsou špatná věc. Naopak, ve všech svých zaměstnáních jsem se snažil moderní praktiky zavádět a sám zkoušet, abych věděl, co doporučuji. Jsem zastáncem toho, že konzultant pro vývoj software má umět vyvíjet software. Za svoji kariéru jsem si vyzkoušel C++ (Siemens), Javu (Y Soft), .Net (SolarWinds), python (současnost). Kód jsem ukládal do ClearCase, perforce, cvs, svn i gitu. Psal jsem skripty pro buildování velkých produktů v bashi, antu, groovy, msbuildu i powershellu. Nastavoval jsem buildovací servery jenkins, teamcity i Github actions. Podílel jsem se na automatizaci testů pomocí selenia a webdriveru. I v době, kdy jsem byl na manažerských pozicích, jsem si ověřoval, že to, co doporučuji, je v praxi použitelné.
Kromě práce pro aktuálního zaměstnavatele se snažím, aby moje činnost měla společenský přesah. Několik let jsem v Brně organizoval meetupy pro agilní komunitu. V současné době jsem členem sdružení #CzechAgile, které se snaží rozšiřovat agilní myšlenky v celém oboru vývoje software v České republice. Již dlouhá léta jsem také spolumajitelem prvního českého carsharingu Autonapůl, který provozuje auta udržitelným způsobem – jako sdílený statek. Ve firmě jsem také technickým ředitelem a aktivním programátorem (python a django).