Dzień z życia specjalisty BI, developera ETL i badacza danych [artykuł]

sty 25, 2018

Business Intelligence

Data Science

ETL

banery data science

Rosnące wolumeny danych gromadzonych przez organizacje, a także coraz powszechniejsze dostrzeganie w nich biznesowej wartości sprawiają, że zespoły analityczne w firmach nieustannie się rozrastają i specjalizują. Przekłada się to na ogromną liczbę znanych oraz zupełnie nowych profesji, których głównym celem jest monetyzacja danych. Czym na co dzień zajmuje się specjalista Business Intelligence, developer ETL oraz Data Scientist? Jakich kompetencji wymaga od niego rynek i co oferuje w zamian?  

Jaką rolę pełni w firmie specjalista BI?

Business Intelligence to niezwykle pojemny termin, stąd też dość trudno wskazać na konkretne zadania, które wprost przypisane mogą być specjaliście BI w organizacji. Jak definiuje się termin Business Intelligence? Najogólniej rzecz ujmując jest to ogół działań, praktyk i narzędzi, które mają na celu przekształcenie danych w informacje biznesowe. Kluczowa jest tym samym transformacja danych w realne i możliwie największe korzyści biznesowe. Potwierdza to definicja rozpowszechniona przez firmę Gartner, która charakteryzuje BI jako zorientowany na użytkownika proces gromadzenia, eksploracji, interpretacji i analizy danych, który prowadzi do doskonalenia procesu podejmowania decyzji w organizacji. Więcej o systemach Business Intelligence oraz korzyściach płynących z ich wdrożenia pisaliśmy tu.

Duże organizacje, w tym przede wszystkim międzynarodowe korporacje, ze względu na wolumen analizowanych danych posiadają bardzo rozbudowane zespoły analityczne, w których pracuje wielu specjalistów BI – począwszy od administratorów i analityków, poprzez programistów i na managerach zespołów skończywszy. Postępująca specjalizacja ról w obszarze Business Intelligence dostrzegalna jest również na polski rynku, gdzie nie brak ogłoszeń o naborze na takie stanowiska jak: BI Developer, BI Analyst, BI Specialist, BI Consultant itd. Mimo pewnych różnic, obowiązki na poszczególnych stanowiskach każdorazowo zawierają wiele elementów wspólnych, które pozwalają na stworzenie obrazu codziennych obowiązków specjalisty Business Intelligence w dużej organizacji. Już krótka analiza ofert pozwala wywnioskować, iż koncentrują się one głównie na zbieraniu i standaryzowaniu danych pochodzących z różnych źródeł wewnętrznych i zewnętrznych, implementacji reguł biznesowych oraz budowanie modeli statystycznych do zaawansowanej analizy danych. Zadaniem specjalisty BI jest ponadto projektowanie raportów odpowiadających nowym bądź zmieniającym się wymaganiom biznesowym, przeprowadzanie cyklicznych kontroli działania systemu raportowego, implementacja nowych funkcjonalności, a także bieżące wsparcie użytkowników w zakresie korzystania z platformy. Nieco inaczej wygląda praca w organizacjach zajmujących się wdrożeniami systemów BI. Praca w tego typu firmach ma charakter projektowy i najczęściej realizowana jest bezpośrednio w biurze klienta, co ma zarówno wady jak i zalety. Największą zaletą jest niewątpliwie fakt, iż realizacja projektu wdrożenia ma charakter kompleksowy – rozpoczyna się gruntowną analizą biznesową, a kończy testami i oddaniem funkcjonującego narzędzia klasy Business Intelligence. Biorąc pod uwagę powyższe codzienne obowiązki specjalisty BI w takiej firmie będą nieco inne. Obejmują bowiem one bowiem najtrudniejszy i jednocześnie najbardziej interesujący etap – proces projektowania i implementacji modeli danych, a także tworzenie i testowanie kostek analitycznych i raportów, opracowywanie dokumentacji projektowej oraz szkolenia dla przyszłych użytkowników systemu.

Wypełnianie takich funkcji w firmie wiąże się z koniecznością posiadania odpowiedniego zestawu kompetencji – zarówno tych twardych jak i miękkich. Wymagane są zwykle: wyższe wykształcenie na technicznym kierunku, doskonała, potwierdzona przynajmniej rocznym doświadczeniem znajomość branży BI, analityczny umysł, znajomość zagadnień bazodanowych, a także umiejętność programowania w językach SQL czy PL/SQL. Mile widziane są ponadto kompetencje w zakresie obsługi narzędzi ETL oraz wizualizacji danych przy pomocy chociażby Tableau czy Qlik. Co rynek oferuje w zamian? Warunki proponowane specjalistom BI nie należą wprawdzie do najwyższych w szeroko rozumianym obszarze analitycznym, aczkolwiek zaliczyć je należy do bardzo konkurencyjnych. W Polce wynagrodzenia w tym obszarze mieszczą się w przedziale od kilku do nawet kilkunastu tysięcy złotych miesięcznie, przy czym uzyskanie pięciocyfrowego wynagrodzenia wiąże się zwykle z koniecznością posiadania przynajmniej kilkuletniego doświadczenia. Zarobki poza granicami kraju kształtują się jeszcze bardziej zachęcająco (ok. 88 000 dolarów rocznie wg Glassdoor), a liczba ofert jest odpowiednio większa.

Czym na co dzień zajmuje się developer ETL?

Developer ETL to jedna z wielu specjalistycznych ról wywodzących się z obszaru Business Intelligence. Co konkretnie kryje się pod  pojęciem ETL? Skrót pochodzi od ang. Extract, Transform oraz Load i obejmuje następujące po sobie czynności mające na celu przygotowanie danych do dalszych działań analitycznych. Mowa o pozyskiwaniu danych z najróżniejszych źródeł zewnętrznych (extract), ich standaryzowaniu, czyszczeniu i wzbogacaniu (transform) oraz zasilaniu firmowej hurtowni (load), będącej swoistym repozytorium  danych dla wykorzystywanego w organizacji systemu Business Intelligence. Więcej o procesie ETL oraz narzędziach wspomagających jego realizację pisaliśmy tu.

Czym zajmuje się developer ETL? Z jakich narzędzi korzysta i posiadania jakich kompetencji wymaga od niego rynek? Rola developera, alternatywnie programisty bądź architekta ETL, polega na określeniu optymalnego podejścia do pozyskiwania danych z różnych systemów źródłowych i przenoszenia ich do wykorzystywanego w organizacji narzędzia BI. Zadanie pozornie proste dla doświadczonego fachowca, jednak jak pokazuje rzeczywistość zaprojektowanie odpowiednich struktur i programowanie procesów ETL stwarza wiele wyzwań i trudności. Wymaga bowiem zrozumienia działania systemów źródłowych, architektury aplikacji i systemów DBMS, nieustannego monitoringu procesu i jego optymalizacji, a także ścisłej współpracy z użytkownikiem końcowym. Trudności rodzi również wolumen danych gromadzonych przez organizację. Zaprojektowanie, implementacja struktury i procesów ETL, a następnie utrzymanie stosunkowo niewielkich hurtowni danych nie stwarza zwykle zbyt dużych problemów. Pojawiają się one najczęściej w przypadku prac projektowych nad bardzo dużymi hurtowniami, które ze względu na swoją wielkość i złożoność wymagają wykorzystania odmiennych narzędzi i technologii.

Niełatwe zadanie stojące przed developerem ETL znajduje odzwierciedlenie w stawianych przez rynek wymaganiach na takim stanowisku. Większość pracodawców preferuje kandydatów z technicznym bądź informatycznym wykształceniem wyższym, doskonałą znajomością baz danych (języków SQL i PL/SQL) oraz przynajmniej dwuletnim doświadczeniem na podobnym stanowisku. Cenione są ponadto znajomość konkretnych, wykorzystywanych w danej organizacji systemów zarządzania relacyjną bazą danych (np. MS SQL Server, Oracle czy Teradata), wiodących na rynku narzędzi ETL (np. Informatica, Alteryx, IBM Data Storage czy SSIS), a także technologii związanych z segmentem Big Data (np. NoSQL czy Spark). Istotne są również doskonale rozwinięte kompetencje komunikacyjne, umiejętność rozwiązywania problemów, a także gotowość do odbywania częstych podróży, gdyż praca developera ETL to w dużej mierze praca projektowa bezpośrednio w biurze klienta. Wysokie wymagania przekładają się jednak korzystnie na wysokość proponowanych wynagrodzeń. Kształtują się one ponadprzeciętnie nie tylko poza granicami kraju (ok. 85 000 dolarów rocznie wg Glassdoor), ale również w Polsce, gdzie nierzadko sięgają poziomu kilkunastu tysięcy złotych miesięcznie.

Jak wygląda codzienna praca Data Scientist?

Branżą Data Science, podobnie jak Business Intelligence, z każdym rokiem zyskuje na znaczeniu, co w konsekwencji prowadzi do rozwoju zespołów analitycznych i postępującej ich specjalizacji. Do niedawna Data Scientist niczym człowiek renesansu musiał łączyć w jednej osobie szereg interdyscyplinarnych kompetencji – zarówno tych stricte technicznych jak i miękkich. Więcej o wymaganiach stawianych przez rynek przed badaczami danych pisaliśmy tu. Stale rozrastające się zespoły analityczne w konsekwencji doprowadziły do sytuacji, w której kompetencje członków zespołu analitycznego wzajemnie się uzupełniają. W konsekwencji tych zmian niewiele jest dziś zespołów tworzonych wyłącznie przez badaczy danych. Znacznie częściej jednemu bądź dwóm badaczom danych towarzyszą analitycy danych, statystycy, administratorzy baz danych,  inżynierowie oraz architekci. Na ich czele stoi zwykle manager zespołu analityków, a ze światem biznesu łączy wszystkich analityk biznesowy, który odpowiada za analizę procesów biznesowych i zbieranie wymagań. Biorąc pod uwagę powyższe, a także specyfikę branży oraz samej organizacji, praca w charakterze Data Scientist będzie w każdym przypadku wyglądać nieco inaczej. Rola lidera polega przede wszystkim na koordynowaniu prac zespołu, odbywaniu wielu spotkań, omawianiu postępów realizacji poszczególnych etapów prac analitycznych czy zmieniających się wymagań biznesowych. Badacz danych będzie z kolei skoncentrowany na poszukiwaniu najlepszego rozwiązania dla konkretnego problemu biznesowego.

Praca w obszarze Data Science to w dużej mierze praca projektowa, a więc niezwykle dynamiczna i zmienna. Każdy kolejny dzień jest tym samym inny od poprzedniego. Nie zmienia to jednak faktu, iż pewne elementy są stałe – doskonały przykład sanowi chociażby czyszczenie danych, które w większości przypadków zajmuje większą część czasu przeznaczonego na rozwiązanie konkretnego problemu biznesowego. Tworzenie modeli analitycznych również stanowi jedno z zadań, z jakim mierzyć się musi badacz danych, jednak wbrew pozorom nie zawsze jest to konieczne. Oczywiście wiele zależy od organizacji, branży i projektów, w jakie angażowany jest Data Scientist, jednak znacznie trafniej jego codzienne obowiązki określa wspomniane wcześniej rozwiązywanie problemów biznesowych. Należy bowiem mieć świadomość, że porównywalne efekty (rozwiązany problem) uzyskać można zarówno poprzez budowę zaawansowanych modeli jak i znalezienie prostych rozwiązań alternatywnych – chociażby wykorzystanie niedocenianego SQL-a. Im rozwiązanie prostsze i szybsze w implementacji tym bardziej pożądane. Dlaczego? Gdyż za każdym projektem Data Science stoją pieniądze i określone cele biznesowe, których realizacja powinna zamknąć się w określonym czasie i budżecie. Między innymi z tego względu świadomość biznesowa, umiejętność rozwiązywania problemów i doskonale rozwinięte zdolności komunikacyjne stanowią tak istotne i cenione przez rynek kompetencje badaczy danych.

Niestety znalezienie kandydatów do pracy w charakterze Data Scientist, którzy posiadali by takie kompetencje, nie jest prostym zadaniem. Wbrew pozorom nie zawsze silny technicznie kandydat, ze znajomością kilku języków programowania oraz obsługą narzędzi wizualizacyjnych czy ETL jest najlepszym kandydatem do objęcia takiej roli. Wiele organizacji preferuje kandydatów nieco słabiej przygotowanych, znających jedynie SQL-a i podstawy innych języków, ale posiadających bogate doświadczenie biznesowe, którzy doskonale wiedzą jak posiadane umiejętności wykorzystać w realiach biznesowych. Inną kwestię stanowi fakt, iż rynek poszukuje dziś zarówno badaczy danych z wieloletnim doświadczeniem i bogatym portfolio projektów jak i początkujących, którzy dopiero rozpoczynają swoją przygodę z zaawansowaną analityką. Zatrudnienie znaleźć oni mogą w dużych, międzynarodowych korporacjach oraz niewielkich firmach, które dostrzegają wartość ukrytą w firmowych bazach danych i korzyści płynące z ich wykorzystania w procesie podejmowania kluczowych decyzji biznesowych. Duża różnorodność ról, odmienne zakresy odpowiedzialności oraz wymagania przekładają się na niemałe zróżnicowanie zarobków w obszarze Data Science. Średnio kształtują się one w Polsce na poziomie kilkunastu tysięcy złotych miesięcznie. Dojrzałe rynki, w tym szczególnie rynek amerykański, mają do zaoferowania znacznie więcej – nie tylko w kontekście zarobków (ok. 120 000 dolarów rocznie wg Glassdoor), ale również w kontekście różnorodności i liczby stanowisk.