Podcast

Data Talk #4: Filip Stollár (Deepnote)

epizoda#4 |  vyšlo  |  délka  | 698 poslechů |   |  mp3

Trojice slovenských founderů Jakub Jurových, Jan Matas a Filip Stollár dělá s data science notebookem Deepnote revoluci v tom, jak spolupracovat nad data science projekty. S Filipem, co-founderem a Head of Design v Deepnote řešíme, jak ho učili stavět datové produkty ve světových firmách, mj. Skyscanneru, taky o tom, na jakých základech startup Deepnote vyrostl a díky čemu jej používají k výuce data science prestižní americké univerzity. Filip taky vysvětluje, proč datová profese potřebuje notebooky na spolupráci a jaký potenciál se tím otevírá nejen pro samotné datové profesionály. Moderuje Jirka Vicherek z agentury Fenek^^.

Strojový přepis

Ahoj, moje jméno je Jirka Vicherek a vítám vás u dalšího dílu Data Talku, podcastu, kde se bavíme s datovými profesionály o tématech pro datové profesionály. Můj dnešní host je Filip Stollár z DeepNote. Ahoj, Filipe.

Ahoj, ahoj.

Pro ty z vás, kteří neznají DeepNote z nějakého důvodu, tak je to dost našlápnutý československý startup, který vyvíjí SaaS aplikaci pro kolaborativní práci v oblasti Data Science. Pokud vám něco říká Jupyter Notebook, respektive JupyterLab, tak jste na správné adrese.

Filipe, než se dostaneme k samotnému DeepNote, zajímala by mě tvoje cesta. Ty jsi totiž byl u zrodu tohoto startupu, dnes v něm působíš jako head of design, ale tvá původní specializace byla čistý software engineering, což je podle mě dost zajímavý vývoj. Chtěl bych vědět, jaká byla tvoje cesta a co jí zatím stojí.

Tak v první řadě zdravím všechny, děkuji za pozvání a vlastně ano, ta cesta byla klikatá. Bylo to něco přes software engineering až k založení DeepNote, potom k designování, hlavně k produktovému designu. Rozmýšlím, kde bych začal v té celé cestě, ale asi začnu univerzitou.

Šel jsem studovat computer science, dá se říct software engineering, v Londýně. Nebylo to taky úplně jednoduché rozhodnutí. Rozhodoval jsem se dost intenzivně mezi designem a právě computer science. Bylo tam několik důvodů, hlavně díky rozhovorům s ostatními lidmi. Většinou jsem se tehdy spojoval s lidmi, kteří pracovali v Google, Facebooku a jiných společnostech, které jsem našel díky internetu. Ptal jsem se jich, jak se jim tam pracuje, jaký je jejich život. Na základě těchto rozhovorů jsem se rozhodl jít studovat spíše ten technický obor.

Během školy jsem pracoval na několika stáží, ze kterých bych vyzdvihl dvě, protože byly dost přínosné později. Tím byly Overleaf a Skyscanner. Abych je mírně přiblížil, Overleaf je také kolaborativní nástroj, kde se edituje LaTeX, tedy píší se tam vědecké články nebo zadání pro studenty, případně nějaká pokročilejší literatura.

Byla to moje první práce, kde jsem měl možnost poznat, jak funguje produktová organizace, jak se buduje dobrý kolaborativní produkt, což nyní s DeepNote replikujeme. Protože to byla menší společnost, měl jsem možnost začít i trochu designovat některé funkce, jako komentáře a podobné věci. Byla to skvělá zkušenost a skvělý tým.

Následující rok jsem pracoval ve Skyscanneru, což je vyhledávač letenek a dalších věcí. Tam jsem pracoval víc v datovém světě, na jejich datových pipelines. Konkrétně jsem nastavoval sběr informací z jednotlivých serverů a vizualizace dat pro celou společnost. Tam jsem poprvé přišel do styku s datovými sklady, pipeliney a nástroji pro tvorbu dashboardů, které jsem musel nastavit. To byl můj hlavní projekt.

Během školy jsem se začal více věnovat machine learningu, vlastně hlubší datové vědě. Dělal jsem na tom svou konzultační práci, kdy jsem se vlastně poprvé setkal s Jupyter notebooky. Už během studia v Londýně jsme je používali – například v prvním ročníku jsme řešili algoritmy v Jupyter notebookech, kde probíhal praktický výklad.

Pracoval jsem na předpovědi poptávky pro služby sdílení přepravy jako Uber, Bolt a Lyft, konkrétně na předpovědi poptávky v různých částech města. Vyvíjel jsem geolokační machine learningový model společně s týmem PhD studentů a mojí supervizorkou. Všechny analýzy jsme dělali v Jupyter notebookech, bylo to optimalizování logistiky.

Měli jsme dost dat získaných z milionu datasetů, nebo interně dostupných, a byla to velmi explorativní práce, kdy jsme museli pochopit data a spontánně přicházet s nápady, kam se vydat, jak najít vzory, které by nám pomohly předpovídat.

Takže to byl spíš agilní než vodopádový přístup?

Ano, bylo to velmi agilní, s častou iterací a zpětnou vazbou. Už tehdy jsem ale cítil problém s nástroji. Všechno probíhalo lokálně na našich Jupyter notebookech, soubory jsme si posílali přes Slack nebo občas přes GitHub verzovali. Cítil jsem potřebu lepšího workflow, kdy bych mohl přímo sdílet notebook s PhD týmem, diskutovat naživo, upravovat a rychle reagovat.

To nám později pomohlo při zakládání DeepNote s Jakubem a Janem, který je současný CEO DeepNote a který také pociťoval podobné problémy.

Mezitím jsem začal pracovat v Improbable, firmě zabývající se metaverse infrastrukturou, o které můžeme mluvit jindy. Stále jsem ale přemýšlel o notebookovém toolingu.

Potom jsme se spojili s Janem a Jakubem, začali jsme o těch problémech mluvit. Jan budoval in-house verzi Jupyteru v hedge fondu, takže zažil stejné problémy, a Jakub jako bývalý CTO v Operě (nyní Panoramic) v Praze vedl data science tým. Viděl, že náklady na udržování reprodukovatelného, sdíleného prostředí pro datový tým jsou neuvěřitelné. Říkal si, že je tu příležitost.

Takže jste se předtím neznali?

Jakuba jsem znal z anglických škol, studoval v Cambridge, já a Jan jsme studovali v Londýně, takže jsme o sobě věděli, ale nijak intenzivně jsme se neznali. S Janem jsme spolu začali hodně komunikovat během jeho práce v hedge fondu a mé v Improbable. Pak jsme se všichni setkali a odletěli do San Francisca budovat DeepNote.

Úplně skvělé. Takže do San Francisca jste jeli na Y Combinator? Nebo jste nejdříve tam řešili průzkum a hledali problémy a teprve potom přicházeli s produktem?

Přesně jak říkáš, vize DeepNote se nezměnila od začátku – budujeme lepší notebook pro týmovou spolupráci s minimálním zpožděním zpětné vazby. Věřili jsme v médium a tomu, jak s ním lidé mají pracovat. S touto hypotézou jsme přijeli do San Francisca bez Y Combinatoru na tříměsíční průzkum.

Byl to klasický hacker příběh – od rána do večera jsme hackovali produkt, demo, prototyp a večer jsme chodili na meetupy, potkávali data scientisty, analytiky a další, sbírali zpětnou vazbu a intenzivně jsme iterovali, abychom zjistili, jestli produkt má smysl, jestli lidé potřebují a chtějí produkt koupit.

Bylo to velmi pozitivní, i když ne hned od začátku. Dalo to velmi silný základ pro hodnoty a principy DeepNote, na kterých společnost stojí dodnes. Pak jsme s touto silnou ideou vstoupili do Y Combinatoru.

Byly tam pro tebe nějaké aha momenty? Myslím, že hodně našich posluchačů by chtělo být na tvém místě, chodit v Silicon Valley a bavit se s důležitými lidmi z velkých světových firem a zjišťovat, jak řeší spolupráci v datových vědách.

Pamatuji si přesně jeden moment, který byl pro mě největším učením. Přicházel jsem na to, že hodně lidí, se kterými jsem mluvil, budovalo podobná řešení jako DeepNote interně. Mluvil jsem s produktovými manažery z Uberu, Facebooku, Google a všechny velké firmy mají svou vlastní verzi DeepNote, která je pro ně přizpůsobená, ale není snadno přístupná širšímu světu.

To mi otevřelo oči. Další zásadní zjištění bylo, že do těchto nástrojů kromě datových specialistů a vědců přichází téměř každá funkce ve firmě – lidé komentují, konzumují data, dělají různé věci.

Na konci dne nejsilnější nadšení nebyli jen datoví vědci, ale velmi silná skupina lidí, pro které data nejsou každodenní prací.

To je něco, co vidím i u Figmy – design nástroje pro produktový design, kde stačí jedno kliknutí, abyste sdíleli design s kýmkoli ve firmě.

Takže museli jste počítat s uživateli z businessu, i když jste ze začátku vůbec netušili, že budou v produktu tak angažovaní?

Ano, 100 %. Ze začátku jsme měli spíše vizi silného vývojového prostředí nebo IDE, ale produkt se přirozeně posunul k něčemu jako „živý dokument“, který obsahuje data a lze je zpracovávat. To mi hodně otevřelo oči.

Příkladem bylo setkání s produktovým manažerem z Uberu, který díky internímu nástroji, který měli, zvládl naučit se základy Pythonu a nastavil si automatizaci, která mu posílá každé dva dny e-maily klientům a pomáhá mu lépe spravovat jeho práci.

Firmy vytvářely interní produkty, které ostatní kopírovali a používali, což zrychlovalo celou společnost.

Skvělé, moc se mi to líbí, těším se, až se o tom budeme bavit podrobněji.

Když jste tedy přišli na vizi, vraťme se k YC. Myslím, že moc nemusíš vysvětlovat, že je to nejznámější akcelerátor na světě, určitě nejprestižnější. Jaký byl pro vás?

Jedno slovo: intenzivní.

Byl to nezapomenutelný zážitek. Styl fungování bych popsal tak, že přijdete v pondělí s pěti otázkami, které vás trápí a chcete je vyřešit, a do příštího pondělí s jejich pomocí tyto otázky vyřešíte a přijdete s dalšími pěti. Je to obrovský tlak na to, aby člověk neustále něco posunul.

My jsme už měli demo, ale rozhodně to nebyl případ pro všechny účastníky. YC nám pomohl iterovat v prvních krocích. Hlavně ale YC velmi silně pomáhá lidem s networkingem.

Díky YC jsme se dostali k prvním investorům, mnoha anjelům, spojili jsme se například s CTO OpenAI, který je naším investorem, nebo CEO Figmy. To nám otevírá úplně jinou úroveň zkušeností a věcí, které nám dokážou přinést, a díky tomu děláme lepší rozhodnutí.

Takže zkušenost s YC lze popsat jako velmi intenzivní.

Kdy to probíhalo? Mezi lety 2019 a 2022?

Ano, bylo to léto 2019. Po YC jsme měli první kolo financování, které nám umožnilo začít DeepNote seriózně škálovat a dělat první vážnější kroky.

Přesunuli jsme se ze San Francisca do Prahy, kde jsme měli síť a zázemí pro vybudování produktové organizace, ale zároveň jsme věděli, že většina zákazníků a nejmodernější trendy jsou v USA, zejména v San Franciscu, kde máme přímý přístup k datovým týmům. Takže jsme tam pravidelně jezdili, později vybudovali kancelář a nyní máme asi osm nebo devět lidí v kanceláři v San Franciscu.

Skvělé, takže z roku 2019 do roku 2022 jste na začátku roku měli další kolo financování, kdy jste získali 20 milionů dolarů, že?

Ano.

Co je DeepNote dnes? V jakém stavu je produkt a pro koho je určen? Pojďme mluvit o DeepNote.

Jasně, momentálně je nás kolem…

400, takže stále relativně malá společnost, ale produkt se posunul milovými kroky a zároveň i zákazníci a problémy, které umíme řešit. Momentálně je už DeepNote používán stovkami, možná i tisíci zákazníků různé velikosti.

DeepNote se zaměřuje na tři segmenty. Prvním jsou jednotlivci – nadšenci, tzv. data hobíci, kteří si chtějí něco vyzkoušet v DeepNote. Dále je tam segment vzdělávání, tedy školy a univerzity, a posledním segmentem jsou firmy.

Lze se zaměřit na jakýkoliv z těchto segmentů, ale například vzdělávací segment je nám velmi blízký. Vycházíme z akademického prostředí, každý ze zakladatelů. Existují školy, kde DeepNote využívají samotní studenti, nebo se v něm přímo učí celý kurz data science, celá výuka je postavena právě v DeepNote. Všichni studenti tam pracují. Je to právě proto, že doposud neměli možnost takového kolaborativního prostředí, kde profesor může zapnout a vysvětlit všechny tyto věci.

Určitě zde zmíním Harvard, Stanford, Caltech, ETH a další univerzity – vlastně všechny, které nás mohou napadnout. Měříme tam i nějaké procento penetrace, tedy kolik univerzit po celém světě už DeepNote používá. Bohužel jsem zapomněl, jaké je momentálně číslo, ale rád si ho později zjistím.

Další jsou firemní uživatelé. Jak jsem zmínil, máme zákazníky od malých týmů po střední a nyní se začínáme soustředit i na větší týmy a enterprise firmy. Tam je to ale možná trochu jiná výzva, protože enterprise společnosti kladou větší nároky na bezpečnost, compliance a podobné věci. Proto je DeepNote zatím ideální nástroj především pro malé a střední firmy.

Když mluvíš o menších a středních firmách či date science týmech, co to vlastně znamená? Jaký je setup, na který je DeepNote ideálně designován a jak to vypadá skutečně? Řekl bych, že není přesný šablonovitý model, protože jsou firmy s tisíci zaměstnanci, kde datový tým tvoří třeba jen dva lidé. Kdybych to měl odhadnout, myslím, že ideální je firma, například SaaS startup s 100 až 500–600 lidmi, která má svůj první datový tým a potřebuje nástroj, který je sjednotí a nastaví silné základy. To je naprosto ideální využití DeepNote. Samozřejmě umíme pokrýt i jiné případy, a to je vidět i podle našich zákazníků, jako jsou Gusto, Discord, Dazen, kteří jsou tisícové firmy. I tam adopce DeepNote začíná u jednotlivců nebo malých týmů.

DeepNote se šíří díky principu, který nazýváme B2C2B – tedy začínáš jako jednotlivec, líbí se ti nástroj, doporučíš ho šéfovi, který pak koupí licenci. Začíná to u jednotlivců, a proto pečlivě dbáme na to, aby každý měl dobrý uživatelský zážitek a pochopil, jak může DeepNote sám použít. Pak ho doporučí týmu, s nadšením přichází a stává se tzv. DeepNote Championem – říká: „Toto mi skutečně pomohlo výrazně zrychlit práci, pojďme to zkusit v celém týmu.“ Když jeden tým vidíme, že díky DeepNote vyřešil dost problémů, zpravidla se přidávají i další týmy. Takhle jsme viděli, jak se DeepNote rozrůstá v rámci firmy od jednoho uživatele až třeba ke 300 a více uživatelům.

Velmi dobře je vidět, že DeepNote roste v rámci té samé společnosti. To je DeepNote.

Vidím, že jste opravdu produktová firma. Místo toho, abyste najímali velké enterprise prodejní oddělení a lovili největší Fortune 500 klienty, makáte na výrobě produktu a jeho adopci, na tom, aby ho klienti milovali. Lidé, které znám a kteří DeepNote používají, si ho jen chválí.

Jak vidíš trh? Mám dojem, že v Česku a českém kontextu je data science pořád spíše sólový sport. Není tolik firem, které mají datové týmy s dvouciferným počtem lidí a většina vašich klientů je právě v Americe, kde se říká, že jsou o tři roky napřed. Na co se můžeme tady těšit během tří let a jak vnímáš vývoj spolupráce a kolaborace v data science?

To je skvělá otázka. Vidím rozdíly mezi americkým a českým/nebo možná evropským trhem. Máme zákazníky také v západní Evropě, třeba ve Francii, Velké Británii, Španělsku, ale možná to ještě trochu rozvedu tak, že před třemi lety, když jsme s DeepNote začínali, byly v Americe diskuze v San Franciscu o podobných věcech trochu náročnější. Museli jsme lidi přesvědčovat, že kolaborativní notebook nebo řešení jako DeepNote je něco, co skutečně potřebují a že existují benefity. Byl tam prvek přesvědčování.

Nyní mám pocit, že už je to samozřejmé – jasně, potřebujeme takové řešení, potřebujeme kolaborativní notebook, toto jsou důvody.

Některé firmy, které mají první datový tým nebo menší organizaci, to vnímají velmi prakticky a mám pocit, že se tato tendence dostává i do Česka. Už zde není úplně neznámá. Byl jsem na několika komunitních akcích a komunikuji s lidmi z lokální datové komunity. Myslím, že trend je určitě pozitivní.

Z českých zákazníků máme například ShipMonk a snažíme se i něco vracet české komunitě a vysvětlovat náš úhel pohledu, proč nechceme působit jako sales lead společnost. Nepřicházíme a nebombardujeme desítkami obchodníků, kteří každý den vysvětlují jednotlivé funkce.

Budujeme produkt, který chceme, aby lidé skutečně milovali, a produkt a řešení, které nabízí, by měly zákazníka přesvědčit samy.

Není to tady tak rychlé jako v Americe, ale když se podívám na trend, tak tu pozitivně existuje a je silný.

S tím jak trh roste a poptávka roste, určitě nejste jediní, kteří na to reagují. Roste i počet řešení.

Zajímalo by mě, jak trh vlastně vypadá, na kterou část trhu se zaměřujete vy, kdo si myslíte, že se tam ještě objeví, jestli tam budou řešení vedená velikými enterprise sales týmy, která uvidíme u těch největších klientů, a s kterými se potkáte někde uprostřed.

A hlavně mě zajímá, co jsou reálné problémy. Trochu jsi to popisoval, když jsi mluvil o své historii a zkušenostech, jak bylo těžké spolupracovat, že jsi posílal verze souborů přes Slack nebo e-mailem.

Vnímám to trochu jako paralelu se softwarovým inženýrstvím, kde dnes je standard GitHub, GitLab, párové kodování – tedy týmová práce. Už málokdo vidí softwarové inženýrství jako čistě sólový sport.

Zatímco v datech, typicky v data science, mám pocit, že mnoho lidí stále pracuje sólově.

Jak to vnímáš ty? Jak se trh vyvíjí, jak bys ho popsal někomu, kdo ho vůbec nezná?

Jasně. Asi bych začal vysvětlením pojmu data scientist, protože je velmi často používaný a může znamenat hodně různých věcí pro různé lidi nebo firmy.

Dle mého vnímání existuje spektrum technické zdatnosti. Na jednom konci máme člověka, který je business analytik. Jeho primární nástroj je Excel, je spíš na začátku a určitě neřeší verze v GitHubu nebo pokročilé nastavení Pythonu.

Na druhém konci spektra je například machine learning engineer nebo data engineer, člověk, který vytváří robustní datové pipeline a jeho výstupem může být nasazený model.

Uprostřed je někdo jako data scientist nebo interně u nás nazývaný advanced analyst. Ten používá SQL i Python, kombinuje je v jednom notebooku, což je neuvěřitelně silná vlastnost, kterou mnoho týmů využívá.

Každý v tomto spektru má jiné úkoly, ale zároveň se jejich potřeby částečně překrývají.

Některé nástroje jako Tableau mohou být použity méně technickými uživateli, ale zasahují i do prostoru data science. Jiné nástroje jako VS Code nebo lokální Jupyter zase využívají více technicky zdatní uživatelé.

DeepNote stojí nějak uprostřed tohoto spektra a snaží se postupně získat uživatele na obou stranách.

Co se týče konkurence, nemůžeme opomenout Jupyter, na kterém DeepNote do značné míry stojí. Jupyter je úžasný nástroj, který otevřel možnosti explorativní práce s daty – okamžité výstupy, možnost s nimi pracovat, což je velmi důležité.

Naše vize je, že notebook jako médium, podobně jako slidy, videa nebo dokumenty, je další typ média, s výhodami i nevýhodami, ale pro datovou práci extrémně užitečný.

Popularita Jupyteru to potvrzuje.

Problém je, že toto médium má dvě zásadní výzvy: spolupráci – protože lidé nepracují sami, a snadné nastavení – jak rychle se dostat k výsledku bez potřeby otevírat terminál, instalovat balíčky, upgradovat verze a tak dále.

To není pro každého jednoduše pochopitelné.

A jeden z nejpoužívanějších programovacích jazyků na světě je vlastně jazyk Excel, tedy vzorce v Excelu. Důvod je, že Excel je vývojové prostředí, které je ihned dostupné, lidé mu rozumí, má své výhody i nevýhody.

Hlavní nevýhodou je nižší přizpůsobitelnost a nemožnost vytvářet velmi hluboké modely. Není to asi správný nástroj pro pokročilé modelování, ale je velmi přístupný.

Podobně vidíme, že v datech chybí nástroj, který by přiblížil data science těm méně technologicky zdatným lidem, což DeepNote zajišťuje.

Co se týče GitHubu a verzování, odpověď je, že to záleží na situaci.

Pokud vnímáme notebook jako médium, jakýsi papír, na kterém brainstormujeme a hledáme vzory, pak postačí, pokud DeepNote či jiné nástroje nabídnou nějaké interní verzování, bez nutnosti GitHubu.

Hlavním problémem pro uživatele je možnost snadno se vrátit k předchozím verzím, když něco pokazí.

GitHub ale je serióznější software engineering nástroj, který řeší celou řadu dalších problémů a slouží celé organizaci.

Zcela nemohu opomenout Google Colab, který je také velmi populární v tomto prostoru.

Colab byl jedním z prvních cloudových řešení, které vyřešilo problém jednoduchého nastavení – kliknu na odkaz, otevřu notebook s konfigurací, mohu pracovat.

Google Colab ale nevyřešil problém týmové spolupráce.

U nás týmy často kopírují API klíče nebo části kódu s přístupovými soubory, což není ideální.

My transformujeme nástroj v určitý workspace nebo místo, kde může tým efektivně budovat jejich společnou znalostní bázi, tedy „datový domov“.

To je podle mě velmi silný koncept: tým má své „datové doupě“, kde se sdílí a řeší vnitřní problémy a informace, které na sebe úzce navazují.

Není to rozfragmentované přes několik nástrojů, ale je to místo, kam mohou všichni přijít, podívat se, co se dělo před pár dny, vzít si to a dále na tom pracovat.

To je skvělé.

Moc se mi líbí vaše paralela s Google Apps, resp. Google Workspace a dokumenty, protože jsem velký fanoušek a zároveň kritik Wordu a emailu, který mi stále chodí s různými verzemi i v roce 2022. Takže si dovedu představit, jak to funguje v tomto prostoru.

Mluvil jsi o tom, že stavíte na Jupyterových technologiích. Co je zbytek vašeho technologického stacku? Na čem to stojí? Jak těžké je vytvořit takový nástroj?

Mám pocit, že Google Docs, Dropbox a podobné služby, které fungují hladce a v reálném čase, mají spoustu práce „pod kapotou“.

Jaký je tedy váš tech stack a jak produkt vzniká?

Určitě to patří k náročnějším nástrojům, na kterých jsem kdy ze svého inženýrského hlediska pracoval, stejně jako ostatní členové týmu, takže výzev je opravdu nekonečně mnoho.

Mohu to laicky rozdělit – já se primárně věnuji designu, ale mám i nějaký překryv s inženýrstvím.

Základem naší infrastruktury je Kubernetes, kde probíhají všechny exekuce. Tam běží naše kolaborace, kterou provozujeme jako samostatnou službu – umožňuje připojit real-time komunikaci do jednotlivých dokumentů, takže když kolega provede změnu, ihned ji vidíte.

Zaměřujeme se také na to, aby uživatelé mohli současně upravovat stejný blok nebo řádek kódu. To přináší řadu technických problémů, jak zajistit synchronizaci změn tak, aby všichni viděli konzistentní obsah.

To je hlubší téma, nejčastěji řešené algoritmy jako OT (Operational Transformations) nebo CRDT (Conflict-free Replicated Data Types), ale je to rozsáhlejší technická problematika.

Když budeš chtít, můžu ti o tom povyprávět kdykoli.

Začněme. Co jsme zjistili, když jsme se dívali na náš produkt, je, že lidé velmi často kolaborují, dá se říci, že na téže řádce. Oni kolaborují v tomtéž dokumentu, nebo se to dá vnímat tak, že ta kolaborace je vlastně – používám zde trochu přetížený termín – ale jednoduše to znamená, že s někým sdílím odkaz a ten člověk přijde do dokumentu a vidí aktualizace v reálném čase. To je kolaborace.

To ale neznamená, že si lidé právě přepisují stejný řádek, ale dívají se na stejný dokument a většinou je tam někdo, kdo jej edituje, a někdo jiný, kdo to sleduje, nebo možná pracují na úplně různých částech dokumentu. Například toto je jedna věc, kterou bychom historicky rozhodně udělali v Deepnote jinak – hlubší pochopení toho, co přesně znamená kolaborativně pracovat na živém dokumentu. To byla opravdu velká technická výzva.

Co se týče frontendu, tam používáme tradičně React a přemýšlím, zda jsou tam ještě nějaké větší věci, které stojí za zmínku, ale myslím, že to je takový obecný přehled. Máme tam hodně výzev v tom, že v Deepnote klademe velký důraz na malé interakce, které lidí často ani nenapadnou, že děláme. Je to o tom, že opravdu hluboce přemýšlíme nad tím, že mám svůj notebook, který je mým médiem, a co se stane, když označím dva buňky, kliknu na ně, přesunu je sem a udělám takové malé úpravy, které se možná stanou jednou za týden, ale když se stanou, my dokážeme nabídnout nějakou možnost nebo nápad anebo interakci, která prostě okamžitě funguje, že uživatel říká „wow, proč to jiný nástroj nedělá?“.

Takže klademe velmi velký důraz na takovéto detaily. Můžeš dát nějaký příklad? Měl jsem teď takový moment ve Slacku při vkládání odkazu, kdy když označíš text ve Slacku a stiskneš Ctrl+V, tak se ti rovnou vytvoří hypertextový odkaz, protože to je logické – bereš URL, máš označený text, tak už nemusíš klikat na „vytvořit odkaz“, ale rovnou ho tam vložíš.

To bylo pro mě ohromující, protože dělám hypertextové odkazy od doby, kdy existuje internet, a toto bylo poprvé, kdy mi někdo zjednodušil tento workflow o jeden krok. Chápu, co tím myslíš, protože to byl pro mě moment, kdy jsem Slack, ke kterému mám zmíšené emoce, v tu chvíli miloval, protože jsem si řekl, proč to tak nedělají všichni? To je skvělé. Mám z toho čerstvou zkušenost, takže chápu, o čem mluvíš.

Jaké malé věci děláte v Deepnote, aby bylo používání příjemnější? Napadají mě rychle dva příklady. Jeden je maličkost, ale velmi efektivní. Člověk má CSV soubor na svém počítači, zjistili jsme, že způsob, jak ho dostat do Deepnote, je chytnout ho z plochy a jednoduše přetáhnout do notebooku – ani nemusí mířit nikam konkrétně, prostě do středu notebooku. Posléze nahráváme CSV, nabízíme možnost vytvořit buňku, která načte CSV do dataframe a už lze s ním okamžitě pracovat.

Ušetřil jsem si tím kroky, jako psaní nějakého kódu. Druhý příklad je funkce multi-selection buněk. V normálním Jupyteru si neumím uchopit myší a označit pět buněk, které mohu přesunout jinam. V Deepnote můžu vybrat tři bloky, posunout je nahoru, doleva, pravým tlačítkem je jednoduše manipulovat jako sadou několika bloků.

Ještě mě napadá jeden příklad: když uživatel v Deepnote chce vytisknout nebo zobrazit svůj dataframe, rovnou mu nabídneme možnost vizualizace. Je to jeden klik, který přidá přednastavený graf, kde hned vidí strukturu dat i obsaženou v samotném dataframe.

Takže jsou to maličkosti, které přesně pomáhají jednotlivcům zefektivnit práci a kolektivně tyto drobnosti umožňují být efektivnější.

To je zajímavé, tyhle malé věci u mě znovu bodují. Ty vizualizace, o kterých jsi teď mluvil, jsou pro mě také velmi zajímavé, z pohledu datových aplikací a jejich vývoje. Pro mě je vizualizace velmi důležitá, protože je to poslední výstup, který ostatní ve firmě vidí. A jakýkoliv dobrý kód mám, když ho neumím předat, sdílet a dát druhým porozumět, tak se to snažení ztrácí.

Bavili jsme se o trendech, jak se vyvíjí vizualizace – jak ji vy v Deepnote vnímáte a jaké další trendy v Data Science a Data Analytics vidíte? Kam se to směřuje?

Vizualizace jsou neoddělitelnou součástí tohoto tématu, které v Deepnote intenzivně diskutujeme. Právě teď pracujeme na dalších vylepšeních samotných vizualizací v Deepnote, což je něco, na co jsem v posledních týdnech přímo navrhoval, takže mám k tomu blízko. Zjistili jsme několik velmi zajímavých věcí a je to velmi specifické na to, jak lidé využívají vizualizace v nástrojích typu notebooků.

Prostě prozkoumávám celé pole. Jsou nástroje jako Tableau, Looker, Metabase a jiné, které jsou specializované. Řekl bych, že nástroje jako Tableau a Looker se používají na finální vybrané grafy, které se prezentují před nejvýznamnějšími stakeholdry ve firmě. Většina týmů stráví desítky hodin tvořením jednoho grafu, aby všechny interakce fungovaly podle představ, což je velmi velká a intenzivní disciplína.

V Deepnote se snažíme nabízet vizualizace, a obecně notebookové nástroje, na dvou frontách, mezi kterými existují určité rozpory, ale nechci říkat, že jsou si protiřečící. Zaprvé, notebooky jsou skvělé pro exploraci a rychlou iteraci. Potřebuji intuitivní prostředí k vizualizaci dat přímo z dataframe a začlenění toho do workflow.

Na druhou stranu se však potýkáme s nároky, aby grafy vytvořené v Deepnote byly prezentovatelnější, lépe přizpůsobitelné a aby uživatelé mohli vytvářet end-to-end dashboardy, které by sloužily jako reportingový nástroj.

Je několik trendů, které vnímám jako velmi zajímavé. Jeden z nich je například možnost mít synchronizované grafické uživatelské rozhraní s kódem, který vizualizaci generuje. To znamená, že máte rozhraní, které reaguje na kód vedle sebe, a zároveň máte vizualizaci. Uživateli je umožněno vyklikat si vizualizaci intuitivně, ale kód, který vizualizaci stojí za tím, je vždy flexibilnější a výkonnější.

Je skvělé, pokud člověk může dosáhnout 80–90 % výsledku za minutu klikání a být spokojený, ale chceme se zároveň zaměřit i na pokročilejší uživatele, kteří chtějí kód vizualizace upravit a přizpůsobit ji podle vlastních představ. Třeba firma má určité standardy a principy, podle kterých vizualizace vytváří.

Tyto vizualizační náročnosti přecházejí i do tzv. opakovaně použitelných datových produktů, reportingu a datových aplikací, které vidíme, že jsou v Deepnote velmi intenzivně využívané.

Týmy staví systémy díky těmto notebookům. Například my sami v Deepnote interně využíváme Deepnote. Velká část naší infrastruktury běží v Deepnote – používáme interní nástroje, procesy a věci, které jsou všechny napsané přímo v Deepnote.

Pěstuji si například Slackbota, který nám každý den pošle aktualizaci, co se děje v Deepnote. Deepnote je prostě vynikající místo, kde se rychle připojím k datovému skladu, získám informace, transformuji je v Deepnote a pošlu do Slacku. Samozřejmě, toto by šlo udělat i jinde, ale pokud už si nástroj stavíme, proč ho taky hned nepoužívat.

Tyto datové produkty jsou velmi silné, protože umožní celé firmě být self-service v těchto oblastech. Už nejde jen o tradiční dashboard, kde změna časového rámce ukáže jiný graf – což je samozřejmě taky důležité – ale díky notebookům lze řešit i náročnější, technicky složitější problémy. Když bych měl udělat paralelu, je to takový Zapier na steroidech, nebo různé menší nástroje.

Co mě vždy fascinovalo, je způsob, jakým lze v těchto datových produktech vytvořit velmi vertikální, customizované datové zkušenosti, které sedí přesně na daný problém.

Uvedu příklad: Google Analytics, který je také – do jisté míry – datovým nástrojem, ale neposkytuje ukázky tabulek, které by musel člověk sám chápat. Místo toho ukazuje webové události, které dávají smysl lajkovému uživateli – staví funnel, geografickou mapu nebo jiné vizualizace dat, které jsou srozumitelné.

V tom vidím sílu customizovaných nástrojů – dokážeme se tak hlouběji zamyslet nad problémem. Když řešíme geolokační data, máme k dispozici různé heatmapy, mapy bodů, zvýrazněné oblasti mapy a další vizualizace, které dávají lidem mnohem lepší obrázek o tom, co v datech skutečně probíhá.

Zjednodušují možnost interpretace.

Přesně tak. Když mi jen dáš databázi, budu dlouho hledat, co tam je, ale když mi ji vizualizuješ, možná pochopím, co se mi snažíš říci.

Vlastně problém není v tom, že máme málo dat, jde o to, jak my – lidé – s nimi pracujeme, jaká rozhraní vytváříme, aby je bylo možné efektivně pochopit. Hodnota, kterou mohou data přinést, je neuvěřitelná, pokud jsou správně použita, interpretována a vizualizována.

Skvělé. Chtěl bych to zakončit zamyšlením nad tvojí kariérou a zároveň nad krajinou Data Analytics. Když mluvíš o Kubernetes, agilním vývoji, kooperaci a vícerých rolích, připomíná mi to hodně softwarový vývoj před deseti lety. Vidíš tam nějaké paralely? Co si z toho osobně odnášíš? Protože ty jsi příkladem, jak se světy datové analytiky a softwarového inženýrství propojují.

Mám pocit, že v posledních letech se hranice úplně vymazávají u datových produktů.

Ano, souhlasím, že rozdíl mezi nimi je stále více nejasný, „blurry“. Znovu bych se vrátil k tomu spektru, kdy jsem označoval různé role od datového analytika až po machine learning engineera, záleží, na jakou část procesu se díváme.

Myslím, že v datových rolích se adaptují best practices ze světa software engineeringu. Tento trend vidíme na nástrojích jako dbt, kde je kód modulární, vytváříte si vlastní pipeline, ukládáte kód na GitHub a verzujete.

Všechny tyto věci řeší obecný problém, který má každý tým.

Méně kontroverzní názor je, že mnoho datových týmů má potíže, protože nemají správný tooling. Když se podívám na software engineering landscape a vývoj nástrojů, které používám – Sublime, Atom, VS Code nebo JetBrains – vidíme obrovský vývoj.

Naopak Jupyter, který je mezi námi už několik let, nemám pocit, že se jeho ekosystém výrazně posunul. Věřím, že datový tooling je pozadu a snažíme se to napravit my i další nástroje.

Například mnoho našich zákazníků přestalo používat GitHub, když začali používat Deepnote, protože Deepnote vyřešil jejich hlavní problém. Potřebují se vracet ke kódu, mazat věci, a Deepnote jim poskytuje vlastní verzování, což dovolilo týmům odstranit jeden velký proces – onboarding do GitHubu.

Git není těžké pochopit, ale je to další věc navíc – nový framework, nový onboarding, nový nástroj. Samozřejmě Git nabízí mnoho výhod, ale pokud tým nemá potřebu jej používat, proč by ho používal?

Souhlasím.

A co vy dva? Co vás teď čeká, jaké máte výzvy, problémy, ale i radosti, na které se těšíte? Co vás čeká?

Vše bych shrnul do jedné věty: výzvy jsou zároveň radosti. Momentálně Deepnote čelí výzvám ve dvou oblastech. První je práce s enterprise zákazníky. Deepnote se snaží vstoupit více k větším hráčům a podpořit velké datové týmy. To jsou úplně jiné problémy, které zasahují organizaci jako celek.

Když máte tým 100, 200 nebo 300 datových vědců, kteří denně vytvářejí několik notebooků, množství dat už je samo o sobě výzvou. Škálování.

To je určitě jedno z hlavních témat.

Druhým tématem, které jsme tu už několikrát zmínili, je ease of use a celková zkušenost uživatele. Deepnote charakterizujeme jako low floor, high ceiling – začít s ním je velmi jednoduché, uživatel ho rychle pochopí, ale možnosti, které nabízí, jsou prakticky neomezené díky dostupnému Python ekosystému.

Snažíme se inovovat i v oblastech, jako je například to, proč se musí uživatel nutně učit používat Git, když pro něj zatím není potřeba.

Další výzvou, která mě osobně překvapila, je fakt, že Jupyter stále používá markdown, který není pro všechny uživatele přirozený. Do Deepnote dnes přicházejí studenti a začátečníci, kteří s markdwonem nikdy nepracovali.

Markdown není těžký k naučení, je to poměrně jednoduchý markup jazyk, ale i tak představuje určitou míru frikce a je to pro uživatele nový koncept.

To jsou věci, které se budeme snažit v Deepnote dále řešit.

Ote v následujících týdnech a měsících je nový způsob editování těch dokumentů, který se více dá přiblížit možná nějakým live editorem. Nějaký VisiVic úplně. Přesně něco takového. Super. Moc vám držím palce.

Děkuji moc, že jste si udělali čas a řekli nám o DeepNote a o tom, jak vypadá dnes spolupráce nad složitými data analytics problémy a data science. A určitě se nevidíme naposledy. Díky moc, Filipe. Děkuji moc za pozvání.

Děkuji, že jste doposlouchali Data Talk až sem. Jak se vám tahle epizoda líbila? Co byste na našem podcastu zlepšili? Koho pozvat příště? Dejte mi prosím vědět, co si myslíte. A to můžete buď osobně na příštím Data Mesh meetupu, nebo hned teď na mail jirka-datatalk.cz.

A pokud se vám tahle epizoda líbila, doporučte ji prosím dál. Klikněte na srdíčka, na hvězdičky, dávejte subscriby, ať nám svítí dashboardy zeleně, křivky dělají hokejku a všichni stakeholdeři schvalují extra budget.

Ještě jednou vám děkuji. Poděkování patří také mým kolegům, Nikovi a Iris, stejně jako členům našeho partnerského klubu, Big Hubu, Deep Note, Atakamě a Manitě.

Pokud máte návrhy nebo nějaké tipy na hosty či témata, děláte vlastní event nebo byste chtěli datovou komunitu podpořit jinak, určitě mi dejte vědět. Díky. Nechť vás provází data.

Odebírejte Data Talk

Apple Podcasts Spotify Deezer Overcast Podcast Index RSS Feed