Podcast

Data Talk #47: Martin Košina (Sazka)

epizoda#47 |  vyšlo  |  délka  | 803 poslechů |   |  mp3

V aktuálním díle Data Talku nás přišel navštívit Martin Košina, BI manažer ze společnosti Sazka. Jaká byla Martinova cesta ze specialisty do manažerské role a proč je Sazka více datovou firmou, než se na první pohled může zdát? Co se v minulosti nepovedlo a jaké výzvy současně Martinův tým pohání dopředu? Nejen o tom společně s moderátory Jirkou Vicherkem a Hynkem Walnerem v této epizodě.

Strojový přepis

Dobrý den, jmenuji se Jirka Vichrek.
Dobrý den všem, jmenuji se Hinek Volner.
Vítáme vás u dalšího dílu Data Talku.

Dneska k nám do studia zavítal Martin Košina, Head of BI ve společnosti SAS. Vítáme tě, Martine.
Ahoj, Martine.
Ahoj, dobrý den.

Martin je Head of BI ve společnosti SAS, řídí celý datový tým a zodpovídá za to, jak data v SASce plynou. Martine, jak ses vlastně dostal do SASky, jak probíhala tvoje kariéra předtím a co tě do SASky přitáhlo?

Kdybys se mě zeptal na tohle před pěti lety, vůbec by mě nenapadlo, že někdy budu pracovat v SASce. Už během střední školy mi šla jenom matematika, čísla – to bylo moje. Proto jsem si na vysoké škole vybral statistiku. Byl to super obor, ale pořád to bylo o matematice, o číslech jako takových. Spíš jsem se viděl v nějaké pojišťovací firmě nebo v bance.

Až v rámci studia jsem si uvědomil, že statistika je pěkná věc, ale bez dat je to o ničem. Je potřeba umět si data připravit, někde je získat a komunikovat o nich s ostatními. Proto jsem si během vysoké školy zvolil jako druhou specializaci datové inženýrství. To byl můj první kontakt s tím, že i tato cesta je zajímavá, protože data jsou všude – ve všech firmách, v různých oborech a o různých typech produktů.

Moje první práce byla jako datový analytik v O2, konkrétně v oddělení CRM, kde jsem měl na starost produkty z fixního světa, tedy pevné linky. Byl to krásný produkt a z hlediska dat velmi zajímavý. Měl jsem možnost pracovat s velkým datovým skladem v O2, hledat v něm historická data, závislosti a souvislosti mezi daty. V této práci jsem více rozvíjel svou datovou specializaci, databázovou práci a schopnost interpretace a analýzy.

Když jsem hledal další výzvu, chtěl jsem zůstat v byznysu, kterému alespoň trochu rozumím, a zaujal mě post datového analytika, přesněji CRM analytika, v SASce Mobile, což je divize SASky. Tak jsem se vlastně dostal do SASky před pěti lety.

Ani tam jsem však dlouho nezůstal, protože mě po pár měsících oslovil tehdejší Head of BI s tím, že vzhledem k aktuálním výzvám a novým technologiím v Business Intelligence týmu je volná pozice datového inženýra – tehdy jsme tomu říkali cloud developer nebo prostě někdo, kdo si bude hrát s Microsoft Azure. Vůbec jsem tomu nerozuměl a nevěděl, o co jde. Případovou studii jsem nezvládl, ale domluvili jsme se, že nastoupím.

Teď je to čtyři a půl roku, co jsem v týmu Business Intelligence, a můj úkol byl: chceme pracovat s Azurem, chceme pracovat s real-time daty a dělat zajímavé věci, tak to zkus. A tím začala má cesta v SASce.

Jak dlouho vedeš celé BI?

BI vedu poslední rok, přičemž první půl rok jsem byl zástupcem mého předchůdce. Od loňského podzimu je už celý tým pod mojí zodpovědností. Vedu tým, řídím aktivity, mám na starost dodávání projektů, doplňování kapacit, definici strategických a nových pozic a vše, co s vedením týmu souvisí.

Předtím, když jsem si v našem týmu hrál hlavně s Azurem, ostatní kolegové, kde bylo potřeba, se učili také. Díky externím partnerům jsme postupně zjišťovali, co nám cloud, konkrétně Microsoft Azure, nabízí. Začalo být toho ale příliš pro jednoho člověka. Proto jsme začali nabírat další datové inženýry a mojí další výzvou bylo stát se tým leaderem této části Business Intelligence oddělení.

To byla moje první zkušenost s vedením lidí a s řízením části agendy, kapacit a plánování aktivit.

Z toho pak vyplynulo, že když bylo potřeba zastoupit vedoucího celého oddělení, měl jsem to štěstí a mohl jsem do této pozice nastoupit a následně ji převzít trvale.

Jaká byla tato zkušenost pro tebe? Předpokládám, že tě to neodradilo, ale jak retrospektivně hodnotíš první krok do řídící role?

Bylo to jiné, než jsem očekával a než jsem si představoval. Kdysi mě napadlo, že bych jednou vedl menší tým – čtyři až deset lidí. To také do určité míry naplňovala role teamleadera data engineeringu.

Ale teprve jako Head of BI jsem zjistil, že agenda je úplně jiná než jen každodenní rutina a řízení práce jednotlivců. Je tu obrovské množství časově náročných aktivit a povinností, což bylo zcela nové.

Měl jsem to štěstí, že firma do mě investovala a absolvoval jsem několik softskillových školení, abych se nebál nových situací, jako jsou jednání jeden na jednoho, nábory nebo řešení nepříjemných situací. To mi hodně pomohlo, ale i přesto jsou tyto situace stále nové a nepředvídatelné. To je pro mě na této roli největší výzva.

Cítím se dobře, když jsem v projektu a řešíme konkrétní problémy – výběr technologií, dodavatele či práci s Azurem, což je nejvíce rozvíjející se oblast našeho týmu. Díky tomu, že jsem to dělal čtyři roky, se zde cítím jistě a nebojím se jít do detailů.

Pojďme se tedy podívat na tým a na agendu. Kolik lidí máš teď pod sebou? Z těch čtyř, pěti lidí, se tým rozrostl na kolik?

V tuto chvíli nás je sedmnáct, máme několik neobsazených pozic. Máme třeba roli datového architekta, což je úplně nová pozice. S rostoucím množstvím dat a naším lepším porozuměním tomu, co o datech víme, jak s nimi pracujeme, ale i tomu, co nevíme, tato pozice je definována jako strategická a proto ji právě obsazujeme.

Dále jsou tu i některé náhrady a podobně, ale celkově je tým sedmnáctičlenný. Navíc jsme se rozhodli otevřít dvě stážové pozice, které nastoupí v druhé polovině letošního roku.

Těch sedmnáct lidí je rozděleno do tří částí – máme tři sub-týmy.

První tým je základní jádro Business Intelligence, tedy tým vývoje datového skladu. Tito kolegové jsou odpovědní za provoz, vývoj, datovou architekturu, správu výkonu a řešení incidentů.

Druhá část jsou analytici, což je samotné jádro BI – to je práce s daty, hledání hodnoty v datech, tvorba reportů, definice metrik a potřebných dat. Do této oblasti také spadá nová výzva data governance, kterou jsme začali řešit před pár lety.

Tento tým analytiků má na starost také méně oblíbenou část agendy, a to je regulatorní reporting. SASka je velmi silně regulovaná ministerstvem financí, což znamená povinnost třikrát denně zasílat konkrétní sady dat na ministerstvo. Tento proces logicky řídí právě tým analytiků.

Třetí část týmu tvoří datoví inženýři, kteří mají na starost celou cloudovou část řešení a technologické výzvy řešitelné v cloudu. Zaměřují se na data science, machine learning a real-time processing, což by se dalo označit také jako data development.

Martine, před natáčením jsi zmínil, že představa lidí o datech v SASce nemusí přesně odpovídat tomu, co ve skutečnosti řešíte. Když máme teď lepší představu o tvém týmu a agendě, co máte konkrétně „na stole“, jaké úlohy řešíte? Můžeme to rozdělit podle týmů, nebo každý tým pracuje na jiném druhu projektů?

Je důležité říct, že i když máme jedno BI oddělení, jednotlivé role a agenda jsou velmi provázané. Není to tak, že jeden tým dělá jen reporty a ostatní nepotřebují jejich data.

Pokud někdo chce vytvořit nový report, jsou potřeba data, která ne vždy jsou doposud připravená, a je nutné je někde získat, doplnit, často z datového skladu nebo z cloudu či jiných komponent. Týmy úzce spolupracují, projekty jsou často provázané a společně se podílejí na podpoře daných zákaznických či byznysových řešení.

Například v současnosti SASka vyvíjí novou mobilní aplikaci pro zákazníky, kteří si kupují produkty v trafikách v landbase. Takový nový produkt generuje data a zároveň data spotřebovává.

V úvodní fázi tohoto vývoje předáváme požadavky našemu analytikovi, který řídí, zda je třeba do práce zapojit tým vývoje datového skladu, například kvůli sběru a zpracování dat, nebo datového inženýra, aby vytvořil API či stream pro aplikaci.

V tomto okamžiku se zapojí celý tým.

Analytik je vlastně první, kdo je zapojený do nového projektu. Jeho úkolem je porozumět dopadům na nás, provést dopadovou analýzu a zajistit, že my z naší strany dodáme řešení.

V případě mobilní aplikace například dodavatel terminálů v trafikách vystaví nový topic v real-time API. Analytik pak koordinuje s integračním týmem vystavení konzumující aplikace, která data dále přepošle do BI, přičemž BI zpracovává data přes Kafka topiky.

Zde nastupuje datový inženýr, který musí data dostat do datového skladu. Vybere příslušné komponenty a architekturu. V současnosti preferujeme cestu přes operační databázi, kam se data ukládají real-time, a pak se v intervalových exportech posílají do datového skladu.

Následuje vývojář datového skladu, který definuje vrstvu skladu, naplánuje konkrétní ETL procesy, jež jsou monitorovány a kontrolovány, a zajistí propagaci dat do dalších vrstev datového skladu, například po datový tržiště či analytickou kostku.

Celý tento proces tedy začíná u analytika, který obdrží požadavek, zapojí téměř celé oddělení a na konci dodá report, který by mohl v byznysu vypadat, že celé řešení zajistil sám. Ve skutečnosti je to však velká týmová práce.

Konkrétně u takových případů, kde se data pohybují od datového streamu přes Kafka až po report, fungujeme tak, že se vytvoří menší tým pro daný projekt, který ho dodá.

Můžeme se na chvíli zastavit u otázky, proč to u vás tak dobře funguje? Předpokládám, že těchto projektů je u vás více, a zde vzniká komplexní matice závislostí, front a vytíženosti lidí. Jseš to ty, kdo to drží pohromadě? Je to organizovaný tým, který to dokáže rozplést? Nebo je to vždy datový analytik jako datový projekťák? Jak to máte?

V tuto chvíli to zvládáme společnými silami, hlavně já s analytikem, dále máme teamleadera analytiků, který má delší historii a lépe rozumí kontextu vzniku jednotlivých řešení a komunikaci.

Klíčovou roli ale vidím v datovém architektovi, kterého právě hledáme. Architekt zodpovídá za komplexní pochopení komunikace mezi systémy, frekvenci, typy dat a závislosti, včetně výkonových limitů.

Jak tedy organizujete práci a prioritizujete? Máte týdenní nebo dvoutýdenní sprinty? Nebo máte zadání přímo od byznysu?

Naše hlavní priorita stále spočívá v datovém skladu a reportech, které z něj vycházejí. Jedná se například o management reporting, exporty pro zákaznickou péči či řízení kampaní. Proto je provoz datového skladu primární prioritou.

Podporu našich komponent zajišťujeme sami, což nám pomáhá díky nové data governance vědět o možných problémech dřív, než se ozve byznys s reklamací, například že v reportu něco nesedí.

SASka funguje tzv. na synchronizaci a propojení BAU (business as usual) aktivit a projektů.

Prioritizace práce je v rukou jednotlivých oddělení, já tuto agendu deleguji na sub-týmy a jejich team leadery, kteří řídí kapacity a určují priority ve svém týmu.

Ale vždy je primárně důležitý datový sklad, u kterého máme režim datového skladu D-1, což znamená… [pokračuje rozhovor].

Každý report musí být hotový před pracovními hodinami, aby měli všichni zaměstnanci v businessu k dispozici aktuální reporty hned, jakmile zapnou počítače. Na základě těchto reportů potom děláme vše ostatní.

A jak moc je tedy Saska data driven? Když se podíváte do organizace, není to primárně technologická firma, a na druhou stranu je to vysoce digitální technologická firma.

Jak to z tvého pohledu vypadá, kdo všechno konzumuje reporty? Měli jsme tady i lidi z Rohliků, kde i poslední skladník má před sebou nějaký dashboard na skladu. Jak je to u vás? Kdo vše konzumuji vaši práci?

Konzumují ji všichni. Nejlépe to vidíme, když něco nefunguje. Minulý týden jeden z našich klíčových dodavatelů nedodal nějaký export, trvalo to dva dny, na jeho straně došlo k timeoutu v jedné z core databází, odkud se data stahují. V tu chvíli jsme najednou pozorovali, že když sklad nebyl D-1, ale opoždil se do dalšího dne, začali se nám ozývat lidé ze všech možných míst.

Jedna věc je samotný reporting – ať už pro management, produktové manažery, marketingové oddělení nebo kohokoliv jiného. Ale je to také o tom, že v rámci datového skladu se například počítá segmentace zákazníků nebo jiné metriky, které jsou následně vstupem pro marketingové aktivity.

Aktuálně používáme Bloomreach, historicky to byla platforma Exponé. Je to náš CRM nástroj pro řízení kampaní – odkud jdou e-maily, push notifikace, bannery, SMS a další. Cílení těchto kampaní zpřesňujeme díky exportům z datového skladu.

Když export chybí, přesnost kampaní výrazně klesá a často je nutné kampaně pozastavit. Dopad proto cítí vlastně všichni.

Máme také reporting pro naše obchodní zástupce, kteří mají na starosti jednotlivá prodejní místa – říkáme tomu karta POS (prodejní místo). Když obchodník přijde na trafiku a má tam data stará 14 dní, těžko něco vymyslí.

Celkově má tedy dopad reporting na celou firmu.

Existují u nás dva silné prvky. Když se vrátím ještě k prioritám, největší prioritou je regulatorní reporting pro ministerstvo. Máme s tím smluvená SLA, kdy musíme data dodat bez ohledu na okolnosti. Někdy to znamená i lepení dat pomocí hodinových exportů, což se nám zrovna stalo.

Když data k nám nedorazí, dorazí ve špatné kvalitě nebo formátu, zasekává se regulátorový reporting a tím i práce našich dodavatelů. To jsou vždy kritické incidenty.

Druhou věcí je novinka – věrnostní program, tzv. loyalty propozice. Dostal jsme se do fáze, kdy jsme data-driven nejen pro řízení rozhodování, ale stavíme na nich i sekundární produkt.

Jedná se o propojení s gamifikací našeho online i offline světa, kdy zákazníkům na základě jejich aktivit nabízíme další šanci nebo hru. Velmi jednoduše – kolo štěstí.

Když zákazník přijde na trafiku a použije Saska klubovou kartu, druhý den mu přijde SMS s odkazem na kolo štěstí, kde si může vytočit výhru – desetikorunu, sto tisíc… Zákazník tak získává zpětnou vazbu, motivaci a lepší zákaznickou zkušenost.

Loyalty program je postavený na datech a je hlavním produktem naší schopnosti mít real-time data se streamy od všech klíčových dodavatelů. Díky tomu můžeme v řádu stovek milisekund počítat aktuální metriky, odměny a bonusové propozice.

Co konkrétně používáte k zajištění těchto systémů?

Drtivou část stavíme v cloudu.

Saska je plně založená na Microsoft technologiích – aktuálně Azure. Přemýšlíme o multicloud řešení v budoucnu, ale chybí nám zatím potřebné kompetence a silný use case.

Hodně stavíme na pasivních službách, jako jsou Databricks, Data Factory, Stream Analytics, nebo pro složitější logiku například serverless aplikace přes Azure Functions.

Tyto Azure Functions píšeme v Pythonu, což se z historických důvodů ukazuje jako ne úplně ideální volba.

Python jsme zvolili proto, že mu rozumíme jako dataři a SQLkaři a máme s ním zkušenosti z ML projektů. Nicméně pro real-time aplikace má Python limity ve škálovatelnosti a paralelizaci. Zvažujeme tedy přechod na jiný jazyk.

Používáme tedy hodně serverless architekturu a pasivní cloudové služby, což je oproti nasazování vlastních virtuálních strojů efektivnější.

Vlastní výpočetní kapacitu pro případ potřeby máme k dispozici ve vlastním datacentru.

Díky pasivním službám nemusíme řešit infrastrukturu – stačí si nakliknout, jaký typ výkonu chceme (framku, makrou, hyperscale, autoscale) a můžeme se soustředit na samotnou hodnotu, to znamená na zpracování dat.

Jak moc máte v týmu inženýry?

Pythonové skripty píšíme my, ale front-end pro webové a mobilní aplikace vyvíjí jiný tým. My jsme čistě datová podpora – dodáváme data formou aktivních feedů, front, push notifikací nebo API, která jsou připravena pro dotazy zvenčí a my je real-time aktualizujeme.

Reporting děláme v Power BI, ten spravuje analytický tým.

Analytický tým má na starost reportingový server (centralizovaný, nazýváme ho „biking“) s jednoduchým frontendem a organizuje reporty do složek.

Momentálně migrujeme do Power BI online, cloudové verze, protože Microsoft klade silný důraz na její rozvoj. Navíc je tam snadnější práce se streamovými daty a možnost téměř živých reportů.

Co vše za data sbíráte do reportů?

Sbíráme úplně všechna data, která jdou, ale snažíme se vidět za daty hodnotu.

Konkrétně sbíráme data o hráčské aktivitě, o transakcích, o přihlášeních (loginech), o tom, odkud uživatelé přistupují – z aplikace nebo webu.

Sbíráme také data o terminálech, tedy počítačích na trafikách, včetně nákupních košíků, produktů, cen a informací o zákazníkovi, pokud použije klubovou kartu.

Zaměřujeme se tedy hlavně na transakční data, která přímo reflektují business.

Máme také data z webové analýzy – zde ale vybíráme jen konkrétní subsety dat na základě business požadavků, protože celý dataset by byl příliš velký a většina by se nepoužila.

Dále sbíráme data z komponent loyalty propozice, která sama generuje další data.

Máme podrobné informace o produktech – co to je za produkt, kdo ho poskytuje, u kurzového sázení informace o příležitostech, kurzech, soutěžích, sportech atd.

Data sbíráme ve třech režimech a i tak je distribuujeme dál do firmy:

1. Warehouse – robustní, pravidelně validovaný a konsolidovaný datový sklad, kde jsou data s přibližným zpožděním D-1. Na těchto datech lze dělat detailní i historickou analýzu.

2. Near real-time – data, která se aktualizují v kratších intervalech, například každých 10 minut nebo hodinově, případně s několika sekundovým zpožděním.

3. Real-time – nejrychlejší režim, kdy ihned zpracováváme data (například loginy zákazníků), pokud je použit silný use case, triggerujeme na základě nich okamžitě další akce. Data obohacujeme o informace o zákazníkovi, marketingové souhlasy a posíláme je dále.

Jsou tam nějaké povinnosti, které regulatorní část vyžaduje, a které nemají obchodní význam, ale musí se vykazovat kvůli zákonu? Něco zajímavého?

Co se týče obsahu dat, ani ne.

Myslím, že chytré týmy, které požadavky definovaly, vymyslely poměrně smysluplnou datovou poptávku, až na malé výjimky.

Největší nepochopitelnost je počet dodání dat regulátorovi.

Musíme mu data posílat třikrát denně a z nějakého důvodu nepostačuje denní data.

Ostatní firmy, nejen my, by normálně dodávali data denně z warehouse, kde je vše konsolidované, pracuje se s nimi, mají historii a jsou validní.

Ministerstvo ale vyžaduje data každých 8 hodin.

Proto jsme vybudovali vedle komponentu, která doplňuje warehouse tak, aby tyto častější exporty zvládala.

Z mého pohledu je to nepochopitelná a zvláštní záležitost.

Nerozporuji význam regulace, ale kontrola každých 8 hodin je diskutabilní.

Jak moc je to pro vás stresující?

Je to vlastně hloupá otázka, ale poslouchám to jako docela velký provozní stres.

Je to konstantní zátěž.

Myslíš tu regulatorní část?

Ano.

Musíme dodat data v omezeném časovém okně, proto i naši dodavatelé jsou pod silným tlakem tuto prioritu plnit.

Přesto se chyby stávají.

Někdy se stalo, že Microsoft cloud zamrzl, endpointy nebyly dostupné a my byli pár hodin bez dat.

Obvykle to probíhá v nočních údržbových oknech.

Regulační vyhláška umožňuje data v určitých situacích opravit zpětně.

Většinou selže jen část dat, ne všechno.

Pokud na chybu přijdeme, máme určité delší časové okno na její opravu a doručení.

Díky tomu ten stres trochu klesá, ale i tak je to náročné, protože přidaná hodnota druhého datového skladu je téměř čistě plnění regulátorových požadavků.

Přínosem je skutečnost, že můžeme provozovat business, plnit regulatorní požadavky a jsme si jisti kvalitou dat pro ministerstvo.

Nepřekáží nám obsah dat, ale forma a způsob, jak ho musíme dodávat.

I když vynecháme regulatorní předpisy, pojďme se podívat do týmu.

Máte službu, kdo drží pipeline, je někdo „na linkách“ s telefonem neustále?

Saska jako celek má své provozní oddělení – IT operations, které poskytují pohotovostní služby.

My držíme jako BI oddělení podporu na hlubší úrovni – například když něco přestane fungovat.

Máme režim pohotovostí a zajišťujeme to, ale není to 24/7.

V pracovní době máme tuto agendu jako top prioritu.

Když se stane incident, pouštíme SMS zprávy a ten, kdo má pohotovost, jde řešit především regulátora.

Jak velké jsou týmy a jak si rozdělujete zodpovědnosti?

Týmy jsou přibližně stejně velké.

Datový sklad má tři lidi plus teamleadera.

Analytiků je 6 až 7. Data inženýrů, včetně datových vědců, je pět.

K dispozici jsme já, datový architekt a několik stážistů.

Co se týče rozdělení práce, souvisí to s jednotlivými komponentami.

Tým datového skladu řeší vývoj a provoz datového skladu.

Analytici spravují reportingový server a jsou zodpovědní za regulatorní reporting.

Nyní jim nově spadá i agenda Data Governance.

Data inženýři mají na starost cloudové prostředí, správu Azure komponent a služeb, zároveň postupně budují kompetenci a kapacitu pro data science, aby z dat dělali vědu.

Jaké kompetence tedy držíte v týmu a jaké hledáte externě? Jaké musí mít člověk… (zde text končí).

Když přijde nový člověk do týmu BI, jaké dovednosti by měl mít a v čem si může vybírat, zlepšovat se a specializovat se u vás?

To hlavní, co umí všichni a co svým způsobem i požaduji, je SQL. Zkrátka databázový jazyk by měli znát všichni, a je vlastně jedno, zda člověk pracoval s Oraclem, Microsoft Serverem nebo Teradatou. Já například v Outučku jsem pracoval s Teradatou, která se poměrně odlišuje od Microsoftu v syntaxi, ale jinak má SQL pořád stejnou logiku. Takže to je určitě základ.

Mimo to je zde i nějaká analytická dovednost, která je v analytických týmech velmi dominantní, ale i u ostatních vyžadujeme, aby tam byl určitý přesah a sledování dopadů a závislostí. Co se týče rozvoje a oblastí, které jsou společné, zavedli jsme takzvaně dobrovolně povinně, že všichni v BI by měli znát Azure. Všichni by měli mít nějakou základní představu o cloudu.

Proto všichni mají možnost a já je všechny povzbuzuji, aby si udělali alespoň základní certifikaci Azure Fundamentals. Teď si přesně nevzpomínám, jaké číslo to je, ale je to nějaká základní Microsoft certifikace. Tím se snažíme všechny seznámit s tím, co cloud je, jaký je jeho smysl, a aby ve chvíli, kdy se s ním setkají v rámci nějakého projektu nebo řešení, již nebyli zmateni pojmy jako subscription nebo resource group v Azure.

To jsou tedy ty společné kompetence. Mimo to pak už jsou kompetence specifické pro jednotlivé týmy.

Tým datového skladu například používá nástroje jako SSIS, pkg nebo SAS, dále C#, protože nově vyvíjíme některé aplikace, které pomáhají v rámci vývoje CICD procesů. To je kompetence, kterou jsme teď nově adoptovali do týmu. Dále v rámci datového skladu máme kompetenci v YAML a principech DevOps, protože využíváme Azure DevOps jako nástroj pro CICD pipeline, verzování kódu a další. Naše ETL řešení, které je vlastní – nazýváme ho Delta – jsme převedli právě do YAML a máme ho takto šablonované.

U analytiků jsou kromě SQL kompetencí hlavně analytické dovednosti, včetně soft skills v oblasti komunikace s byznysem. Analytici jsou mostem mezi byznysem a IT, musí rozumět oběma stranám a tlumočit komunikaci těchto dvou týmů. Dále je důležitá práce s Power BI a nově i záležitosti spojené s Data Governance.

Konkrétně jsme si vybrali nástroj Atakama One, který využíváme pro správu metadat i master dat. Nástroj obsahuje datový katalog, business glossary, data lineage, má nastaveny rekonsiliace, kontroly datové kvality a chceme, aby všichni analytici uměli s tímto nástrojem pracovat.

V Data Engineeringu je hlavní kompetencí Azure, ale zaměřená na Data Solutions. Všichni musejí bez výhrad umět pracovat s Data Factory, Databricks, všichni vědí, co je Event Hub jako frontovací storage, a mají přehled o dalších službách a nástrojích, které Azure nebo Microsoft cloud nabízí.

Co se týče kompetencí, o kterých víš, že je potřebuješ, ale možná je jednodušší si je půjčit jinde, například Data Science a příbuzné kompetence, backendové či frontendové technologie, jak se na to díváš? Půjčuješ si je z ostatních týmů, nebo chceš tyto kompetence postupně vybudovat interně?

Saska jako obrovské enterprise a klíčová firma má relativně štíhlý tým, takže jak to řešíte?

Aktivity dělíme na pokračující, tedy navazující na to, co už máme, a pak na inovativní. U inovativních věcí jdeme většinou cestou, že než bychom se je sami naučili, vytvořili a osvojili si dovednosti k práci s daným nástrojem, například v oblasti data science, učení GPT nebo AI a kognitivních služeb od Microsoftu, tak bychom se jen učili a nestíhali realizovat. Proto obvykle získáváme know-how externě.

Kupujeme si od partnerů odborníky, kteří mají i zkušenosti z jiných firem, a zároveň se snažíme od nich postupně kompetence převzít a vybudovat si je in-house.

Například v oblasti data science byla první machine learningová úloha, která byla napsána v Erku a šlo o špatnou volbu, plně vyvinuta externě. Až potom jsme ji my, tehdy jsem to byl já, převzali do provozu, správy a drobných rozvojů nebo přepoužití do jiných případů použití.

Podobně je to u datového skladu – máme zkušenost s udržováním výkonu, sledováním metrik, ale když narazíme na limity nastavení Microsoft serveru, je lepší využít externího odborníka, než sami hledat řešení a bádání.

U analytiků jsme na Data Governance hned od začátku využili externí expertízu a datastry s příslušnou zkušeností z větších firem, kteří vytvořili analýzu stavu a doporučili další kroky. Následně pokračujeme v kooperaci, kdy interní tým je malý a externí odborníci pomáhají s budováním procesů. Poměr interního a externího týmu se postupně vyrovnává, aby se interní tým osamostatnil a udržel řešení sám.

Jak vypadá situace v létě roku 2023 u tebe v týmu Saska? Jaké kompetence se snažíte budovat? Cloud zde nebyl, ale už je jasně integrován. Co jsou dovednosti, které jsou rozpracované, učíte se je s externí podporou a víte, že budete potřebovat člověka?

Máte první data science v engineering týmu a sleduješ růst AI?

Určitě ano. Učíme se přemýšlet v oblasti AI, zejména v důsledcích nasazení umělé inteligence, jaká je business hodnota a jak to prodat firmě. Vidím zde paralelu s daty v reálném čase.

Před čtyřmi a půl lety jsme dostali první streamový zdroj, konkrétně kurzové sázky kvůli projektu Kukátko. Dodavatel nám nedokázal dodávat data třikrát denně a nabídl variantu buď jednou denně, nebo real time. My jsme si vybrali real time. Pak jsme se s tím začali učit pracovat.

Je to zajímavý trade-off. Učili jsme se zvládat data v reálném čase, ale také jsme museli naučit celý byznys, naše partnery i interní zákazníky, přemýšlet v kontextu real time. Když něco naučíme, chtějí to pak mít pořád v reálném čase, což často nedává smysl.

Dospěli jsme k balancu, kdy byznys rozumí tomu, kdy má smysl požadovat data v reálném čase a kdy ne.

A podobně je to i s AI.

Tým reálných dat se tedy naučil dělit, co je určitě real time a co je zbytečné prodražení pipeline?

Ano. Real time má smysl u jednoduchých případů použití, jako je spouštění kampaně na základě konkrétní aktivity uživatele, třeba login. Typicky cíleno na zákazníky, kteří u nás nebyli po dobu měsíce. Po jejich přihlášení můžeme zobrazit například pop-up s nabídkou nové hry.

Naopak nedává smysl točit real time u reportů, například týdenních tržeb, kde update v reálném čase by nás jen zatěžoval výkonově a byla by to zbytečná námaha, protože data se příliš často nemění.

Pojďme k AI – jaké podobnosti vidíš mezi reálným časem a vlnou generativní AI, která zvýšila zájem o AI jako takovou?

Paralela je v tom, že všichni AI chtějí, ale nikdo neví, jak ji efektivně využít. Každý říká, že je to skvělé a že to máme, ale my říkáme, že potřebujeme pořádný požadavek, jasné zadání, k čemu to má sloužit.

Například nabídli jsme vytvořit ML úlohu na predikci určitého jevu, ale dostali jsme zadání, které bylo vlastně statické, bez potřeby strojového učení. Šlo jen o nastavení pravidelného rozhodovacího stromu, který se netrénuje.

Výzvou je tedy naučit byznys, aby zadával relevantní požadavky datovým vědcům.

Zadání by nemělo být příliš úzké, například predikovat hodnotu zákazníka podle produktu a počasí, ale spíše obecné: „Chci predikovat, co si zákazník koupí.“ Pak je na datovém vědci, aby zjistil relevantní data a vlivy.

Další věcí je trpělivost – AI není hotová za týden či čtrnáct dní. I vytvoření prototypu může trvat několik dní, ale produkční nasazení, automatizace, vyhodnocování a operace zabere více času a potřebuje další dovednosti, které často nemáme a musíme se je teprve naučit.

Jak se s tím pereš vy? Nastavujete interní procesy nebo spíš edukujete interní zákazníky? Firma má provozní i výzkumný režim s nejistým výsledkem.

My využíváme princip proof of concept. Nové technologie a přístupy pilotujeme na přímočarých řešeních, která mají ukázat hodnotu s co nejmenším úsilím a náklady, abychom zjistili, zda to rezonuje a zajímá někoho.

Nemusím například interně učit lidi pracovat s ChatGPT nebo stavět vlastní instanci přes OpenAI, správně zabezpečit a vytvořit GUI. Toto si mohu koupit zvenčí, mám to jako krabicové řešení.

Pak čekám na zpětnou vazbu a poptávku, zda někdo přijde s nápadem, jak to využít.

To je situace, kdy začnu externě, koupím řešení od někoho, kdo to umí, mám to rychleji a od zkušených lidí, a pokud to funguje, navážu projektem, kdy zevnitř zařadím vlastního člověka, který bude s externisty spolupracovat, učit se a postupně přebere kompetenci.

Takže jsme to dělali u projektu MLOps, kde jsme nastavovali governance a pravidla pro práci s ML úlohami.

Spolupracovali jsme s BigHubem, který to budoval. My jsme se od nich učili, přitom jsme jim zadávali požadavky, aby řešení sedělo na naše prostředí a pravidla. Nyní další use cases řešíme sami, nebo ve spolupráci, kdy externí tým dělá jen podporu a my většinu práce interně.

Co čeká vaše oddělení jako velká výzva, velká překážka, kterou bude třeba překonat?

Za mě je to určitě cloud obecně a migrace našeho datového řešení, konkrétně datového skladu. Lift and shift tedy převod tak, jak je, do cloudu nepovažuji za smysluplný.

Výzvou je adoptovat lakehouse architekturu, což zároveň znamená revizi dat – co máme, jak s nimi pracujeme a jakou hodnotu v nich v současnosti nebo budoucnu vidíme.

To bude hybatelem celého BI oddělení i celé české pobočky – vytvoření lakehouse architektury.

Dále třeba z pohledu analytiky a reportingu, chatGPT a generativní modely nám mohou pomoci v oblasti self-service.

Chceme, aby všichni ve firmě měli přístup k datům, která spravujeme, prostřednictvím datového katalogu a centra metadat a znalostí o datech.

Uživatel si vybere zajímavá data, vstoupí do self-service nástroje a sám si vytvoří report, model, predikci, cokoliv.

Rád bych postupně transformoval agendu tak, že my budeme odborníci na nejsložitější případy, ale zároveň poskytneme prostředí, kde si kdokoliv ve firmě bude moci vytáhnout běžné údaje bez čekání na přípravu.

Takže shrnuto – jedna věc je lakehouse architektura a druhá je self-service.

A jaké jsou tvé osobní výzvy?

Co dalšího nás tedy čeká a nemění se, kromě těchto dvou velkých balvanů v BI? Za mě je to druhá část agendy vedoucího oddělení, nebo řekněme nějakého managementu oddělení, protože s každým dalším měsícem, kdy jsem v této roli, zjišťuji, že mám stále více a více příležitostí k rozvoji.

Toto velmi souvisí s tím, že jsem vlastně byl v roli specialisty, postupně si troufnu říct senior specialisty, a navázal jsem na to nějakou vedoucí rolí. Pro spoustu IT odborníků, technicky založených lidí nebo odborníků na konkrétní téma nemusí být právě tato cesta tou správnou. Přepnout se totiž z odborníka, který je uznávaný, je brán za experta ve firmě, anebo dělá něco, co ostatní neumí, na někoho, kdo „pluje po povrchu“ – jen nakoukne do něčeho, jeden měsíc pracuje na jednom projektu, pak na dalším, ale vlastně nemá prostor a ani to není jeho úkolem, aby se dostal do hloubky nějaké nové technologie nebo aby sám něco vyvíjel. Může to být sice občas, ale není to hlavní náplň jeho práce.

A domnívám se, že to je pro mě asi největší výzva, protože mi ten detail často přiznám chybí. Ono to potom sklouzává k něčemu, co je popsáno ve spoustě knih – k mikromanagementu. Já mám rád ten detail.

Například mám rád technologie, sám jsem s nimi pracoval a tlačí mě to nebo mě to táhne k tomu, abych do toho často mluvil, šel až do šroubku, do nějakého kódu, a narušoval třeba i rukopis někoho jiného, protože i v kódu má každý svůj rukopis. Takže toto je pro mě velká výzva. Dokončit nějakým způsobem nebo pokračovat v transformaci ze specialisty na roli, kde spíše vytvářím prostředí a podmínky pro ostatní specialisty, aby se oni mohli rozvíjet a rozvíjet komponenty, které máme v týmu.

A to je hned to, co nevím, jestli vůbec někdy budu mít hotové, protože je to nekonečná práce – pracovat sám se sebou. Připomíná mi to vtip, že když povýšíte svého nejlepšího vývojáře na týmového lídra, přijdete o skvělého vývojáře a dostanete podprůměrného manažera. Doufám, že tohle není můj případ. Za prvé nevím, jestli jsem byl až takový expert, a za druhé věřím, že to má dobrý směr – že dokážu se i od toho detailu oprostit.

Když se podíváme na tvé lidi, jak je připravuješ na nějakou manažerskou roli? Jak mezi nimi vybíráš, kdo bude lead? Předpokládám, že i díky tvým zkušenostem není sama čistá odbornost a technologická seniorita dostatečná a potřebuješ také soft skills. Tobě samotnému, Saska, jak jsi říkal, poskytla skvělou podporu v kurzech a dalším vzdělávání. Jak se na to teď díváš? Navazující otázka – jak je připravuješ na to, že nemusí všechny manažerské role čekat? Protože ty konkrétně vypadáš spokojeně, jsi asi ten případ, kdy z odborníka vzešel manažer, ale zmiňoval jsi, že to není vždy jediná cesta. Jak to tedy u vás v týmu vypadá?

Poměrně těžká otázka. Nicméně si myslím, proč jsem to říkal – spoustu lidí si myslí, že další cesta ze specialisty, senior specialisty, nebo super specialisty vede pouze do managementu. Já si ale myslím, že to nemusí být jediná možnost.

Podle mě nejlepší cesta z pohledu experta je dostat se do role architekta. Ten potom chodí po firmě nebo firmách, třeba v konzultační firmě, kde ví a jen dává správné nápovědy, podněty a komentáře k tomu, co se snaží někdo jiný udělat nebo vymyslet. Je to tedy ten, kdo sdílí svoji zkušenost a znalosti.

Takže podle mě to může být druhá cesta, kam mířit, když člověk svému oboru rozumí, chce v něm být nejlepší a stále se posouvat. Buď bude motivovat, učit, vytvářet další specialisty a předávat zkušenosti, nebo se dostane do role nenahraditelného člověka – architekta, ať už data architekta, cloud architekta, solution architekta nebo enterprise architekta, který propojuje všechny komponenty, všechny části systému, které firma má.

Co se týče toho, jak já motivuji nebo jak motivujeme u nás, myslím, že Jirka hezky zmínil, že jsem dostal možnost někam se rozvíjet. Hodně to souvisí s tím, co člověk sám chce nebo co si chce vyzkoušet. Saská v tomto ohledu je poměrně flexibilní.

Na začátku jsem zmínil, že jsem nastoupil do jednoho oddělení a za pár měsíců se přesunul do jiného. Po celou dobu jsem k tomu měl plnou podporu, ale bylo to o tom, že jsem to chtěl já. Saská dokáže pracovat s motivací lidí a povzbuzuje k tomu, aby se toho nebáli.

Těch příkladů je více, kdy někdo z jednoho oddělení přešel do jiného, kde se stal vedoucím nebo manažerem konkrétní oblasti. Toto je i něco, co se snažím budovat v týmu – když někdo nastoupí jako vývojář datového skladu a začne ohlížet se po tom, co děláme v Azure, a data engineering by ho třeba také bavil nebo více, tak pracuji s tím, že tohoto člověka můžeme postupně, nebo i rychleji, transformovat, aby změnil svoji odbornost.

Ten svůj hard skill, tu svoji specializaci. Měli jsme kolegu, který nastoupil jako part-timista a dělal reporty, potom si zkusil vývoj data warehouse, kde působil půl roku, zároveň sledoval, co děláme v Azure – tehdy jsem já pracoval v Azure – a přidal se i na vývoj v Azure. Nakonec se vrátil zpátky k analytice. Ale chtěl to zkusit, chtěl vidět, co děláme, a poté sám fungoval jako velmi dobrá znalostní báze toho, kde co je, protože si to zkusil.

Neříkám, že jsme ho vždy alokovali na 100 % v té dané oblasti, ale upravili jsme poměr tak, aby mu to bylo komfortní.

Martine, myslím, že už nás čas tlačí, tak se pomalu blížíme ke konci tohoto velmi příjemného rozhovoru. Je ještě něco, na co jsme zapomněli a co bys chtěl říci posluchačům, co dosud nezaznělo na záznamu?

Za mě je to celkové vnímání SASky a i mého týmu, respektive našeho BI týmu. Spousta lidí si myslí, že SASka je losování Sportky třikrát týdně nebo Eurojackpotu dvakrát týdně a znají miliardáře Henryho z televizní reklamy. Ale pro mě to, co bych byl rád, kdybychom dokázali – a je to jedna z výzev, které nás čekají jako SASku i mě jako vedoucího týmu – je budování image a upozorňování na to, že jsme mnohem víc.

Například zrovna v oblasti dat děláme spoustu projektů s velmi zajímavými komponentami a službami, ať už v oblasti cloudu, nebo umělé inteligence, hrajeme si s ChatGPT a dalšími technologiemi. To pro mnoho lidí není samozřejmé, že SASka nedělá v BI jen reporty o tom, jak se daří produktům, ale že z dat se snažíme vytěžit maximum a nemáme limitace ani od managementu, ani v určité míře z hlediska zdrojů či technologií.

Máme možnost – ať už v rámci proof of conceptu nebo pilotu – si klidně cokoliv vyzkoušet. Když přijde někdo s nápadem, co kdybychom zkoušeli něco dělat v AWS nebo v Google cloudu, řekneme ano, zkusíme to, a kdyby to nebyl dobrý nápad, příště to zkusíme jinak.

Tohle bychom rádi postupně zlepšovali – povědomí a brand SASky jako data-driven společnosti. Když si vzpomenu na to, co všechno jsme dělali, zkoušeli jsme opravdu hodně věcí. A kdokoli poslouchá o projektech, na kterých jsme pracovali nebo pracujeme, bude překvapený, že se toho děje tolik právě v SASce.

Sám jsem byl překvapený, jak data-driven SASka je a jaká důležitá role dat v ní je, přestože jsem si ji dříve představoval jako mnohem tradičnější firmu.

S Martinem a jeho týmem jsme se domluvili, že tato know-how a zkušenosti bude dobré podrobněji sdílet, tak chystáme tři speciální díly s Martinovými kolegy, kteří jsou specialisté v oblastech Cloud Engineering, Self Service BI a Data Governance.

Právě v těchto třech oblastech prošli mnoha zkušenostmi, udělali pár skvělých, ale i pár ne zcela úspěšných rozhodnutí, a tak se těším, až toto know-how nabídneme vám, našim posluchačům.

V těchto speciálních epizodách se dozvíme spoustu dalších věcí, například proč u nich už nenajdeme Kubernetes, a také Hinkovu otázku, jaká čísla padnou v neděli, takže doufáme, že odpověď dostaneme.

Bude se na to těšit. Děkujeme moc, Martine. Také díky, ahoj. A to je vše. Děkujeme, že jste doposlouchali další díl podcastu Datatolk.

Děkujeme také našim partnerům BigHubu, Vypnutu, Mantě, Natinu a také mě, GeneBeamu, Seznamu.cz a Muse.

Pokud vás zajímá více informací ze světa datových technologií a československé datové scény, navštivte naše stránky datatolk.cz.

Nechť vás provází data.

Odebírejte Data Talk

Apple Podcasts Spotify Deezer Overcast Podcast Index RSS Feed