
Dane nie mają przed nią tajemnic. Nie boi się tabelek, wierszy pełnych informacji i szukania igły w stogu siana. Data Engineer to specjalista od pracy z danymi. Brzmi nudno? Na pewno tak nie jest! O sekretach danych i zawiłościach z nimi związanych opowiada specjalistka z branży IT zatrudniona jako Data Engineer, Weronika Witek.
Weronika Witek, specjalistka z GDG Poznan, zakochana w big data i chmurach opowiada o swojej pracy jako data enginner.
Wywiad powstał w ramach cyklu Branża IT dla laików, w którym rozmawiam ze zwykłymi osobami o niezwykłych rzeczach, które potrafią… Czyli przepytuję pracowników z branży IT na temat szczegółów ich pracy, tak by każdy, kto zastanawia się nad przebranżowieniem do IT lub kto po prostu lubi wiedzieć więcej o świecie, zrozumiał, na czym polegają poszczególne stanowiska branży IT. Przy okazji przełamujemy powszechny mit, iż branża IT to tylko programowanie!
Czytaj też inne rozmowy z cyklu Branża IT dla laików:
- Czym zajmuje się project manager? Jak zostać project managerem?
- Pracuj jako Business Intelligence Engineer – zawody branży IT
- Co to jest SEO i na czyym polega praca specjalisty od SEO? Wywiad
Sylwia Błach: Jak wytłumaczyłabyś swojej babci, czym się zajmujesz jako Data Engineer na co dzień?
Weronika Witek: Spróbuję to wytłumaczyć, bazując na moim obecnym projekcie.
Wyobraź sobie, iż idziesz do sklepu i kupujesz jakieś napoje, chleb, warzywa, jogurty i dostajesz paragon. Produkty pokazane na tym paragonie są w systemie informatycznym kas fiskalnych. To pierwsze dane, których potrzebuję, dlatego piszę program, podłączam się do systemu kas fiskalnych i wrzucam je na mój dysk w chmurze.
Te produkty były wcześniej w magazynie sklepowym, więc podłączam się do programu obsługującego dany sklep i ponownie ściągam sobie stamtąd dane, znowu napisanym przeze mnie programem. Tym razem interesuje mnie, ile tych produktów jeszcze jest w magazynie oraz ile jest w drodze (np. zostały zamówione, a dostawa przyjedzie jutro).
SB: To małe zakupy, a już bardzo dużo programów i danych!
WW: A to dopiero początek!
Okazało się, iż kupiliśmy produkty w promocji! To ja łączę się jeszcze z systemem, który tworzy promocje dla produktów we wszystkich sklepach i ściągam sobie stamtąd informacje. W tym konkretnym przypadku chcę wiedzieć, które produkty są w promocji w gazetce w tym tygodniu, które są w przyszłym tygodniu itd.
Potem te wszystkie dane dzięki moich programów są ściągane na mój dysk w chmurze.
No i potem, jak już te wszystkie dane zbiorę z tego pojedynczego sklepu, to zbieram te same dane z 300 innych sklepów! Na szczęście jest to tak zaprogramowane, iż nie muszę pisać 300 różnych programów dla wszystkich sklepu osobno. Napisany przeze mnie jeden program w pętli wykonuje się w każdym sklepie z osobna i wrzuca mi wszystkie dane na mój dysk w chmurze.
SB: Masz dane, których żaden człowiek nie dałby rady manualnie przejrzeć w sensownym czasie. Po co ci to?
WW: Zaraz zobaczysz! Najpierw wrzucam je do tabel, żeby je uporządkować. Pomaga mi w tym, oczywiście, kod komputerowy, odpowiednie algorytmy.
A potem, na podstawie wcześniej ustalonych schematów decyzji, wykonuję różne obliczenia. Na przykład ceny produktów ze sklepu we Francji przeliczam na złote i porównuję z danymi z polskich sklepów, żeby można było coś sprawdzić. Na przykład oszacować, czy ten produkt lepiej sprzedaje się w Polsce, czy we Francji!
Co jeszcze mogę robić z tym? Mogę na przykład dane przeliczyć według już wcześniej ustalonych wzorów i wysłać na inny serwer do kolejnego programu, który je przetworzy i wyśle nam informację, że: „Hej, już jest grudzień, zbliżają się święta Bożego Narodzenia. Macie tylko trzy kartony bombek w swoim sklepie! Musicie natychmiast domówić kilkadziesiąt rodzajów bombek, ponieważ za tydzień będą bombki w promocji w gazetce waszego sklepu”.
I chodzi o to, iż osoba, która zajmuje się zamówieniami, nie musi wymyślać, ile takich bombek powinna zamówić. Ponieważ ten program znając dane z ostatnich pięciu lat, wie, ile dotychczas ludzie kupowali bombek w tym konkretnym sklepie. I ten program potrafi dzięki uczenia maszynowego wyliczyć nam, ile kartonów bombek należy zamówić, żeby nie zabrakło ludziom towaru, a jednocześnie też żeby potem nie okazało się, iż w magazynie zostało go nam za dużo. To uczenie maszynowe jest tutaj bardzo ważne: nie chodzi o to, by bezmyślnie powtórzyć zakup z ostatniego roku, tylko by na podstawie licznych danych oszacować tegoroczne zainteresowanie bombkami.
SB: W powyższym przykładzie skupiasz się na sprzedaży, cenach, ilościach, czyli liczbach. Czy zawsze pracujesz z liczbami, czy też zdarza się z innymi rodzajami danych?
WW: Moje dotychczasowe doświadczenia polegały na budowaniu hurtowni danych. Aktualnie piszę kod dla branży Retail. Obecny projekt de facto nie buduje hurtowni danych, ale polega na budowaniu przepływów zbierających dane z różnych aplikacji w organizacji (np. systemu kasowego, magazynowego, systemu promocji produktów), ich analizowaniu i dostarczaniu do systemu predykcji zamówień. Są to dane z wielu systemów organizacji, które wszystkie ładujemy do jednej chmury.
Ja te dane przetwarzam i według ściśle określonych reguł biznesowych modeluję, by dostarczyć je następnie do aplikacji, która dzięki uczenia maszynowego wykona propozycję zamówień. Także dane, na których ja się opieram, są to głównie dane tekstowe i liczbowe. Ale Data Engineer może oczywiście pracować na różnych typach, w zależności od zadania.
SB: Mówisz dużo o programowaniu i analizie. A ja zawsze pytam w tym cyklu, o to, jak wygląda Twój typowy dzień pracy – od porannej kawy po zamknięcie laptopa?
WW: Odpowiedzią na to pytanie jest bardzo popularny w IT zwrot: „To zależy”.
SB: Tak, zdecydowanie, słyszę go za każdym razem (śmiech)!
WW: W mojej firmie akurat mamy elastyczny czas pracy. Wszystko zależy od aktualnie realizowanego projektu, od jego fazy, od natężenia pracy. Są dni, kiedy mogę rozpocząć pracę o dziewiątej, ze spokojem wyskoczyć na trzy godziny coś załatwić w trakcie dnia pracy albo skończyć pracę o 14:00. Ale gdy są do dowiezienia bardzo ważne zadania, to zdarza się, że choćby późnym wieczorem sprawdzam, czy automatyzacje, które stworzyłam i zaimplementowałam, wykonują się prawidłowo.
Lubię zacząć dzień od wspomnianej przez ciebie kawy, ale nie zawsze mam na to czas. Gdy jest spokojnie, to do kawy przeglądam maile, czaty… Jednak zdarza się tak, iż klient zgłasza problemy z danymi i muszę reagować błyskawicznie. Sprawdzam, czy błąd występuje po naszej stronie, czy może po stronie dostawcy oprogramowania.
Następnie mamy Daily, na którym w bardzo przyjaznej atmosferze opowiadamy o zrealizowanych zadaniach, obecnych zadaniach, ewentualnych blokerach. Często też, wybiegając naprzód, planujemy kilka następnych dni, aż do deploymentu. w tej chwili pracuję w projekcie, który nie ma sztywnych ram sprintowych, więc mamy więcej dowolności.
SB: Mówisz o daily, czyli codziennych spotkaniach podsumowujących aktualne zadania. Czy w takim ogólnym kontekście praca jako Data Engineer wymaga częstego kontaktu z ludźmi?
WW: Tak, moja praca wymaga częstego kontaktu z innymi ludźmi, ale to wynika też z mojego charakteru i takiej proaktywności w zespole. Gdy potrzebuję odpowiedzi, decyzji biznesowej, nie czekam, aż PM się zdzwoni z klientem i przekaże mi decyzje, tylko bezpośrednio, ściśle współpracujemy. Także bezpośrednio zadaję dokładne pytania, podaję dane, które mam, przedstawiam proponowane alternatywy rozwiązania danego zadania. Często też spotykamy się warsztatowo. Pracujemy i badamy różne kierunki, by biznes mógł podjąć jak najbardziej adekwatną decyzję dla siebie.
Oczywiście są dni, kiedy potrzebuję popracować sama ze sobą, pokodować w ciszy, spokoju, w skupieniu. Wtedy jestem super wydajna, ale taki okres zwykle następuje po tym bardziej intensywnym czasie spędzonym na spotkaniach, kiedy trzeba zbudować koncepcję i wypracować jakieś pomysły.
Nie określiłabym więc swojej roli w zespole jako czysto deweloperską, mimo iż działam technicznie. Posiadam również miękkie kompetencje, potrafię zaproponować klientowi różne rozwiązania, zaprojektować je. Moja rola jest bardzo interdyscyplinarna.
SB: Skoro mówimy o pracy z ludźmi, to czy inni ludzie rozumieją, na czym polega twoje zadanie? Czy ciągle istnieje stereotyp, iż „dane=Excel” i cała złożoność oprogramowania, zasad, kompetencji itd. jest ludziom niebędącym Data Engineerami obca?
WW: Już teraz coraz rzadziej muszę tłumaczyć, iż dane to coś więcej niż Excel. Mam szczęście pracować z zespołem biznesowym, który jest bardzo świadomy, z czego bardzo cieszę się każdego dnia jako inżynier. Sami często proszą o jakiś interaktywny Dashboard, byleby nie musieli przetwarzać danych w Excelu. Bardzo mnie to cieszy!
Nie ukrywajmy, są jednostki, które bazują tylko i wyłącznie na Excelu, ponieważ jest to ich podstawowe narzędzie pracy, ale są to osoby, które wywodzą się z biznesu. Wśród osób, które na co dzień pracują w IT i muszą zajmować się przetwarzaniem danych królują SQL i Python.
Parę lat temu od mojego pierwszego mentora usłyszałam taki mem właśnie: „Czy wiecie, kiedy zaczyna się Big Data? Wtedy, kiedy kończy się Excel”. I tak, ja właśnie jestem Data Engineerem od Big Data.
SB: Co chwilę wspominasz o klientach, zespole, mentorach… Widzę, iż to nie jest praca dla takich stereotypowych nerdów, którzy chcą się skupić na pisaniu kodu i boją do kogokolwiek odezwać.
WW: Zdecydowanie. Uważam, iż w ogóle na rynku jest mniej miejsca dla takich stereotypowych, nerdowskich deweloperów w związku z tym, iż otacza nas sztuczna inteligencja. Myślę, iż klienci szukają teraz deweloperów, którzy mają również mocniejsze umiejętności miękkie, związane z komunikacją i analizą danych, potrzeb klienta i potem przekładania tego faktycznie na język maszyn, by zautomatyzować pracę.
Podkreślmy jednak. Uważam iż w roli Data Engineera najważniejsze są umiejętności techniczne. I to, co nie jest tak istotne w przypadku programistów projektujących aplikacje, to ważne jest rozumienie danych, z którymi się pracuje, czyli bardzo ważna jest domena, branża, w której zajmujemy się tymi danymi, by w odpowiedni sposób je analizować i przetwarzać.
Umiejętności komunikacyjne w moim odczuciu są bardzo ważne, a na rynku będą teraz jeszcze ważniejsze w związku z tym, iż zastosowanie generatywnej sztucznej inteligencji jest w stanie wyprodukować kod programistyczny. To te umiejętności techniczne, czy deficyt umiejętności technicznych, w pewien sposób jest uzupełniony przez generatywną sztuczną inteligencję.
SB: Brak umiejętności komunikacyjnych u Data Engineer można zastąpić kimś innym z zespołu?
WW: Tak, jest to teoretycznie możliwe, ale nie o to chodzi. Chodzi o to, by Data Engineer był również swego rodzaju konsultantem. I gdy on zrozumie dane, którymi się zajmuje, i potrzebę biznesową klienta, wtedy będzie w stanie w konstruktywny sposób prowadzić komunikację i zaprojektować rozwiązania spełniające tę konkretną potrzebę biznesową.
SB: A od drugiej strony: czy trzeba być „matematycznym mózgiem”, żeby zostać Data Engineerem? Programowanie osobom spoza branży, zwłaszcza Data Engineering, często kojarzy się z bardzo skomplikowaną i zaawansowaną matematyką.
WW: Czy ja wiem, czy określenie „matematyczny mózg” jest adekwatne? Raczej analityczny, ponieważ Data Engineer nie musi pracować tylko na liczbach. Może przetwarzać obrazy, dźwięk, ale tak jak już mówiliśmy, zdecydowana większość danych to dane tekstowe i liczbowe.
I myślę, iż do pracy Data Engineera znajomość matematyki, pogłębiona znajomość matematyki czy zaawansowana sensu stricte nie jest niezbędna. Ale niezbędne są te umiejętności, które wypracowujemy, ucząc się matematyki, czyli właśnie logiczne myślenie, zdolność do analizy, kreatywność, pomysłowość. Można po poznańsku określić, iż umiejętność kombinowania i znalezienia rozwiązania.
SB: Kreatywność czy logika? Co wybiera data engineer?
WW: Myślę, iż kreatywność i logiczne myślenie to dwie podstawowe umiejętności w mojej pracy, ponieważ jest to trochę taka praca, nie bez przyczyny nazywająca się developerską. Ponieważ dostajesz od klienta informację: „Chcę to i to”.
Jednak bardzo często klient nie wie, czego chce, i Data Engineer, który ma właśnie taką żyłkę konsultanta, pomaga mu samemu do tego dojść.
Musimy wykombinować, stworzyć rozwiązanie, niekoniecznie bazując na schematach, ale na pewno zawsze bazując na dobrych praktykach. Czyli, na przykład, pamiętać o optymalnych zapytaniach, stosować sprawdzone rozwiązania, opisywać i dokumentować je w odpowiedni sposób. Trzeba rozwiązać problem w optymalny sposób i zawsze trzeba zachować logiczną sekwencję działania, aby osiągnąć zamierzony cel.
SB: Z jakich narzędzi i systemu korzystasz?
WW: Na co dzień pracuję w środowisku Google i to w szerokim tego słowa znaczeniu, ponieważ korzystam z Google Workspace, czyli narzędzi biurowych.
Bardzo lubię z nich korzystać, ponieważ mają wbudowane moduły generatywnej sztucznej inteligencji od Google’a, czyli Gemini.
Ale nie na Excelu opiera się moja praca, jak już wiecie. Buduję przepływy danych w technologii Big Data, korzystając z chmury Google, czyli Google Cloud Platform. I narzędzia, z których korzystam, to:
- Programuję w PyCharmie – to jest IDE, w którym piszę kod moich przepływów oraz kod SQL.
- Następnie implementuję ten kod już bezpośrednio do chmury i on wtedy jest uruchamiany w serwisie Google Cloud Composer. Jest to serwis, w którym dostępna jest technologia open source’owa Airflow. Jest to orkiestrator danych, który uruchamia te moje przepływy i przetwarza je.
- Następnie przechowuje przy użyciu BigQuery, czyli serwisu, w którym przechowujemy i przetwarzamy dane w bazie.
SB: Na koniec mała wycieczka w czasie. Czy pamiętasz moment, w którym po raz pierwszy pomyślałaś: „Chcę pracować w IT” i zainteresował Cię zawód data engineer?
WW: Tak, pamiętam ten moment, a choćby dwa takie momenty.
Pierwszy raz, kiedy jeszcze zajmowałam się finansami i pracowałam w księgowości, naszą firmę odwiedził konsultant IT, który utrzymywał nasz program księgowy. Rozmawiał z główną księgową jak równe z równym, a był człowiekiem z IT. I to mi bardzo zaimponowało, iż ma taką głęboką wiedzę domenową, jednocześnie dostarczając rozwiązania IT. A to był ten pierwszy moment.
A drugi moment był wtedy, gdy wykonałam swoje pierwsze zapytanie SQL podczas szkolenia. I wtedy tak naprawdę poczułam, iż chcę się zajmować danymi i pracować w tym obszarze.








