Jak pracuje datový inženýr | robot_dreams Czech — Your place to grow
should_authorize_via_email
email.input_code tel.input_code
 
email.code_actual_for tel.code_actual_for
apply_exit_text
session_ended
to_homepage
Co dělá datový inženýr a jaké nástroje používá

Co dělá datový inženýr a jaké nástroje používá

Rozhovor s vedoucím datovým inženýrem s 12 lety zkušeností v IT o pracovní rutině, nezbytných nástrojích a perspektivách této profese.

Panuje mýtus, že datový inženýr dělá s daty veškerou „špinavou“ práci – „vytahuje“ je z úložišť, třídí „surová“ data a pak je předává analytikům a datovým vědcům, kteří s nimi dělají skutečná kouzla. Pokud však data připravíte nesprávně, žádné kouzlo se nekoná.

S Viktorem Shityukem, vedoucím datovým inženýrem s dvanáctiletou praxí v oboru IT a lektorem kurzu datového inženýrství, jsme si povídali o tom, proč je datový inženýr klíčovou pozicí v každé společnosti, která pracuje s daty, a jak začít kariéru v tomto oboru.

Profil:

  • Viktor Shityuk pracuje jako vedoucí datový inženýr. Má 12 let praxe v oblasti IT a posledních 4,5 roku se věnuje datovému inženýrství. Pracoval ve startupech, velkých společnostech a jako konzultant v jedné ze společností FAANG.
  • Nejvíce ho baví architektonické úkoly, kdy musí hledat řešení a zlepšovat projekt. Rád zahajuje projekty od nuly, sestavuje tým a nastavuje procesy.
  • Má mnoho pracovních případů, na které je hrdý. Konkrétně se mu jednou podařilo zkrátit proces stahování a zpracování dat ze 7 hodin na 40 minut, což výrazně zefektivnilo obchodní procesy.
  • V posledním projektu vytvořil platformu MVP a zvolil minimální řešení, která přinášejí výhody. Tato platforma v současnosti zpracovává stovky terabajtů dat a zároveň spotřebovává minimum peněz.

Jaký je rozdíl mezi datovým inženýrem, datovým vědcem a datovým analytikem? Co mají tito specialisté společného?

Datový vědec a datový analytik jsou příbuzné profese. Obě se zabývají BI (Business Intelligence), ale používají k tomu různé nástroje a metody. Analytici získávají výsledky pomocí dotazovacího jazyka SQL a nástrojů, jako je Tableau nebo Power BI. Datoví vědci zároveň získávají výsledky pomocí zcela odlišných metod, technologií a přístupů.

Zatímco každodenním pracovním prostředím datového analytika je rozhraní nějaké analytické databáze a například takového nástroje, jako je Tableau, datový vědec kouzlí většinou v JupyterLabu, kde se připojuje k datům a provádí výzkum nebo trénuje modely.

Kromě datového vědce je zde také ML Engineer. Tyto dvě profese se také často zaměňují, protože mají mnoho společného.

Všechny tři profese (datový analytik, datový vědec a ML inženýr) nepracují se surovými daty. Často k nim ani nemají přístup. Pracují v pohodlném prostředí s předzpracovanými daty, která vlastně připravuje datový inženýr.

Velmi často se setkávám s tím, že datový inženýr je zaměňován s datovým vědcem. Jedná se o dvě profese, které pracují v různých, i když paralelních týmech.

Kolik dat by měla společnost shromažďovat, aby potřebovala pozici datového inženýra? Může se bez něj velká společnost obejít a jaké procesy může ovlivnit?

Pokud máte více než jeden zdroj dat a vaše společnost z nich plánuje získávat výsledky, pak už musíte o takové pozici ve firmě přemýšlet.

Upozorňuji, že jsem neřekl, že musí jít o velká data. Možná neshromažďujete tolik dat denně, ale za 2–3 roky už budete mít v Data Lake nebo Data Warehouse několik terabajtů. Kromě toho pouze datový inženýr ví, co s daty udělat, aby byli všichni spokojeni: datový analytik, datový vědec a samozřejmě podnik.

Pokud však máte velký podnik a velkou společnost, pak se bez datového inženýrství rozhodně neobejdete. Přesněji řečeno, můžete to zkusit, ale neuspějete, jen ztratíte čas a peníze.

Do jaké míry by měl datový inženýr rozumět produktu a obchodní logice, aby mohl data správně připravit pro další práci?

Výsledky, které chce podnik vidět, skutečně poskytují datový analytik a datový vědec. Proto musí dokonale rozumět produktu a obchodní logice. Faktem ale je, že bez datového inženýrství se jim to nepodaří.

Datový inženýr musí rozumět produktu a obchodní logice na základní úrovni, aby mohl komunikovat s analytickým týmem a obchodním oddělením. Zároveň musí znát mnohem více technických věcí než ostatní odborníci.

Musí datový inženýr dokonale ovládat Python a SQL? A jaké zázemí je potřeba k vytvoření datové architektury?

Jestliže před několika lety byl Python v této oblasti potřebný jen zřídka, nyní je naprostou nezbytností. Datoví inženýři se zkušenostmi, kteří se specializovali na jazyky jako Java a Scala, se nyní učí Python. Zda se jim to líbí, nebo ne, je zcela jiná otázka, ale toto odvětví má své vlastní zákony. Osobně jsem pomohl několika javistům naučit se Python.

Vedle jazyka Python je důležitý také jazyk SQL. Bez tohoto dotazovacího jazyka to v této oblasti bude velmi obtížné.

Python a SQL však k vytvoření datové architektury nestačí. K tomu je třeba se orientovat v různých přístupech, šablonách a technologiích, porozumět firmě a jejím cílům. A co je velmi důležité, mít silné soft skills. Dobří datoví inženýři velmi často špatně rozumí konstrukci architektury.

V jakých oborech je nejjednodušší začít pracovat v datovém inženýrství?

Podle mých zkušeností je to softwarový inženýr, kdo vyvíjí backendovou část. Datový inženýr je přece stejný softwarový inženýr, který má specifické technologie, šablony, přístupy. Často jsem se také setkával s bývalými databázovými inženýry (DB Engineer), DWH inženýry. O něco méně často s analytiky.

Je třeba dodat, že v posledních několika letech je přechod na datové inženýrství z jiných profesí doslova trendem. Protože jde o perspektivnější profesi, konkurence na trhu je menší a plat je vyšší. Výhod je celá řada.

Co byste poradil těm, kteří se datovému inženýrství teprve věnují? Co studovat, abyste se stali juniorem?

Nejprve je třeba znát některý z imperativních programovacích jazyků používaných v datovém inženýrství. Nyní je absolutním trendem Python. A také SQL je nutností. Oba jazyky musí být zvládnuty na velmi dobré úrovni.

Za druhé, musíte mít určité zkušenosti s ukládáním a/nebo zpracováním velkých dat. Z módních řešení samozřejmě Apache Spark. Nebo databáze jako Snowflake, BigQuery a podobně. Neobejdete se ani bez orchestračních nástrojů, jako je Apache Airflow.

Za třetí, musíte mít alespoň základní zkušenosti s cloudem. Lokální řešení jsou stále na trhu, ale cloudová řešení je téměř nahradila. Stačí kterýkoli ze známých velkých poskytovatelů cloudových služeb: AWS, GCP, Azure. Mladší cloudy, jako je Digital Ocean, mají v současné době v této oblasti jen velmi málo co nabídnout.

Pokud pracujete v IT, nemůžete se vyhnout ani nástrojům, které jsou nezbytné kdekoli. Mám na mysli Git a IDE.

Co se týče konkrétnějších věcí, měli byste věnovat pozornost ukládání dat a přenosovým formátům. Pokud znáte formáty JSON, CSV a XML, měli byste se podívat na formáty jako JSONLine, Apache Avro nebo Apache Parquet. Možná se někdo zeptá, proč jsem nezmínil Hadoop? Jestliže před pěti lety, kdykoli se mluvilo o datovém inženýrství nebo Big Data, okamžitě padla zmínka o Hadoopu, dnes tomu tak vždy není. Součásti tohoto ekosystému jsou stále aktuální a budou ještě dlouho, ale pravděpodobnost, že se s něčím z něj setkáte ve svém prvním zaměstnání, není příliš vysoká. Můžete se například zeptat, co je to HDFS a Hive. Přinejmenším při pohovoru by se to mohlo hodit. Rozhodně nebudete psát nízkoúrovňové algoritmy MapReduce. Přestože stojí za to pochopit, o jaký druh rámce a softwarového modelu se jedná.

Koho sledovat a co poslouchat/číst doporučujete začátečníkům, aby se seznámili s oborem datového inženýrství?

Na tuto otázku je obtížné odpovědět, protože mluvíme o začátečnících. V žádném případě nečtěte články na medium.com. Ačkoli má dobrou pověst, v tomto zdroji může publikovat článek kdokoli, materiál není recenzován. 

Pokud jste zkušený inženýr a dokážete snadno rozlišit pravdu od dezinformace a užitečné od neužitečného, pak si vyberte články na medium.com a čtěte. Ale ne, když jste začátečník, protože v hlavě budete mít chaos.

Já i moji zkušení kolegové vždy doporučujeme číst autoritativní knihy. Knihy však mají obvykle velmi úzké zaměření, takže začátečníkům pravděpodobně nepomohou. Stejná situace je i u blogů firem, které buď pracují s velkými daty, nebo vytvářejí prostředí a nástroje. Běžně se doporučují technické blogy společností, jako je Google a Twitter, ale opět to není nic pro začátečníky.

Pro pochopení této profese je pro začátečníky lepší zapsat se do přehledového kurzu o této profesi. To je podle mého názoru nejlepší možnost.

Jaké otázky se obvykle kladou datovému inženýrovi při pohovoru?

Vyčerpávající odpověď na tuto otázku by vydala na samostatný rozhovor. Stručně řečeno, obvykle se ověřují vaše znalosti jazyka Python (nebo jiného jazyka, na který se specializujete) a SQL. Mohou vám zadat úkol v některém z těchto jazyků, a to prostřednictvím živého pohovoru o kódování.

Vždy se ptají na něco obecně teoretického. Z typických otázek například:

Co je DWH, Data Lake? Jaký je v tom rozdíl?

Co je to ETL a ELT? Jaký je v tom rozdíl?

Jaké jsou typy dat (zde musíte vysvětlit, že data mohou být strukturovaná a nestrukturovaná + uvést příklady).

Kam se dále rozvíjet, pokud jste již dosáhli pozice seniorního datového inženýra?

Odstupňování je podobné jako u pozice softwarového inženýra v jiných oblastech: vedoucí datový inženýr (nebo technický vedoucí dat), datový architekt a nějaká vedoucí pozice, jako je technický ředitel, vedoucí datového oddělení, viceprezident pro inženýrství atd.

Jak se změní profese datového inženýra za 5 až 10 let?

Množství dat na světě roste spolu s digitalizací našich životů. Předpovídám, že za 5–10 let se datové inženýrství konečně přesune do cloudu, cloudová řešení budou optimálnější a dostupnější.

Oblast velkých dat a datového inženýrství je známá svou zoologickou zahradou technologií (protože jich je opravdu hodně a každá společnost neustále vymýšlí něco nového). Možná dojde k určité standardizaci.

Tento obor a profese rozhodně zůstanou relevantní, nezaniknou. Naopak, význam a poptávka se budou jen zvyšovat. Jsem si tím jistý. Protože, jak řekl Clive Hamby, britský matematik, podnikatel a odborník na datovou vědu: „Data jsou nová ropa“.

Více článků
A proč je užitečná pro každého, kdo pracuje s computer vision
Kde můžeš začít navazovat vztahy s lidmi se zájmem o IT?