Data Platform, czyli jak w 6 tygodni nauczyć się podstaw data engineering

10 lipca, 2020 Joanna Rychel

Jak poradzić sobie z brakiem specjalistów Data Engineering na rynku? Przy dużej konkurencji i zapotrzebowaniu sama rekrutacja nie wystarczy. Wykształcenie nowego pokolenia specjalistów jest ważne, ale nie rozwiązuje problemu tu i teraz. Co pozostaje? Spojrzeć do wnętrza organizacji, poszukać ludzi z odpowiednim zestawem umiejętności i na kilka tygodni wrzucić ich do intensywnego świata inżynierii danych. Sprawdźcie, co można osiągnąć w tym czasie.

 

Data Engineers wanted!

Serwis Dice przeanalizował 6 milionów ofert pracy z branży technologicznej na amerykańskim rynku pracy od 2018 do końca 2019. Największy, 50% procentowy wzrost zanotowały oferty na stanowisko Data Engineer! Nic dziwnego, skoro wartość rynku big data wzrasta rocznie o około 10%. Obecnie na poziomie około 56 miliardów dolarów, do 2027 wartość ta może się podwoić.

Jak firmy mogą radzić sobie z zapotrzebowaniem na specjalistów data (I nie tylko)? Rekrutacja nie zaspokoi wszystkich potrzeb. A szkolenia? „Najlepsi nauczyciele jakich możesz znaleźć, pracują już w twojej firmie… Pozwól im przekazywać posiadaną wiedzę!” napisał Laszlo Bock, były szef HR w Google w swojej książce „Praca rządzi”. Najlepsi w firmie są nie tylko świetni w tym, co robią, ale lepiej niż ktoś z zewnątrz rozumieją specyfikę organizacji i jej klientów. Takie podejście do nauki zastosowaliśmy już przy programie PGS Upskill, który pozwala naszym pracownikom na praktyczne zdobywanie nowych umiejętności technicznych. Tym razem, zamiast pracy na linii Mentor-Mentee postawiliśmy na współpracę Mentor-Zespół. Efektem był Proof of Concept rozwiązania Data Platform. Zobaczcie, co udało się osiągnąć zespołowi w ciągu zaledwie 6 tygodni.

 

Dlaczego akurat Data Platform?

Google od lat mówi, że „Every company is a data company”. Każda firma dysponuje jakimiś danymi: często heterogenicznymi, przechowywanymi lub pochodzącymi z różnych źródeł. Przygotowanie prognoz na podstawie tych danych to efekt pracy analityków, ale żeby było to możliwe, potrzebne jest właśnie narzędzie typu data platform stworzone przez specjalistów data engineering.

Data Platform pozwala na łatwy dostęp do danych: pobiera je, organizuje, ujednolica formaty i dba o to, żeby były aktualne.

„Użycie takiej platformy może obniżyć koszty utrzymania źródeł danych, z których korzysta biznes. Szczególnie wtedy, gdy pochodzą od różnych dostawców, są w różnych formatach, trzeba je aktualizować i wiele obszarów firmy z nich korzysta” mówi Witold Ergietowski, Analityk Biznesowy w PGS Software. Przy pomocy Data Platform robimy to raz a dobrze dla wszystkich, którzy tego potrzebują, więc koszt rozwiązania rozkłada się na wszystkich beneficjentów u klienta.”

 

Data Engineering w praktyce

Co konkretnie, pod kątem technicznym zrobił zespół i jak wyglądała współpraca? W zespole Data Platform znaleźli się analitycy biznesowi, project manager, tester oraz oczywiście programiści, którym bliska jest kultura DevOps i chmura AWS.  

Celem było stworzenie platformy, która będzie:

  • przechowywać dane z różnych źródeł (m.in. CSV, SIP Calls, XML, ProtoBuff, grafiki z opisem metadata)
  • przetwarzać dane efektywnie pod względem kosztów,
  • umożliwiać łatwe analizowanie danych zapytaniami
  • unifikować format dat i radzić sobie ze strefami czasowymi.

Następnie, wszystkie dane miały być pokazane w formie raportu BI, z zagregowanymi na osi czasu wydarzeniami i możliwością interaktywnego zagłębiania się w szczegóły.

„Mieliśmy do rozwiązania realny problem – mówi Jerzy Dörfler, Solutions Architect, który w projekcie pełnił rolę klienta i mentora w jednym. „Chcieliśmy, aby zespół od podstaw wymyślił rozwiązanie, aby poeksperymentował z narzędziami, których do tej pory nie używał wcale lub znał w ograniczonym zakresie. Uczestnicy mieli też dowolność w doborze i testowaniu narzędzi. Nie prowadziłem ich za rękę, raczej dawałem bieżący feedback.”

Zespół mógł więc posmakować Data Engineering w praktyce. Od podstaw konfiguracji Kafki, budowę ETL z użyciem Kafka Connect, efektywne przetwarzanie dużych plików danych, wraz z ich segmentacją i łączeniem wyników, z wykorzystaniem AWS Lambda, aż po wizualizację przetransformowanych danych z bucketu S3 z wykorzystaniem narzędzia AWS QuickSight. Całość została dostarczona w wymaganym w warunkach produkcyjnych podejściu IaC.

Członkowie zespołu odpowiedzialni za testy i jakość również eksperymentowali z technikami weryfikacji spójności danych w przetwarzaniu strumieniowym, testami wydajnościowymi platformy, oraz poznawali narzędzia typu KafDrop (polecamy!) do podglądu przepływu zdarzeń w systemie.

Co poza tym?  “Z perspektywy biznesowej nauczyliśmy się, jak jeszcze lepiej formułować uzasadnienia dla rozwiązań konkretnych problemów technicznych. Inżynierowie wiedzą, jak je ugryźć, ale biznes trzeba przekonać, że warto za to zapłacić” – podkreśla Witold Ergietowski. „Nawet tak mały PoC pokazał, jak ważna jest świadomość biznesowa u wszystkich członków zespołu, którzy mogą mieć dzięki temu lepszy wpływ na wymagania i decyzje techniczne.”

Co o projekcie mówią uczestnicy?

„Cieszę się, że mogłem dołączyć do projektu, bo bardzo interesowała mnie tematyka związana z Data Platform.” – mówi Robert Drewniak, programista Java w PGS Software. „Nigdy komercyjnie nie miałem okazji używać Kafki, znałem jedynie suche podstawy z jednego kursu online. Tutaj jednak mogłem pracować na żywym organizmie i rozwiązywać realne problemy.” Robert podkreśla też profesjonalne podejście do projektu, mimo że był to „tylko” proof of concept. „Pracowaliśmy w scrumie, pod wodzą project managera, biznes analityka i product ownera. Jak w rzeczywistym projekcie dla klienta.”

Dla niektórych, zwłaszcza seniorów, dużą wartością była możliwość pozwolenia sobie na błędy i eksperymentowanie, co nie jest oczywistością w codziennej pracy.

“Najbardziej podobało mi się używanie nowych, ciekawych technologii oraz dowolność w wyborze narzędzi” – dodaje Jakub Stanisławczyk, programista Java. „Wypróbowaliśmy wiele z nich i dzięki temu wiemy lepiej, co i gdzie dobrze wykorzystać, a czego lepiej w danym przypadku unikać.” Przykład? AWS Lambda ma ograniczenia czasowe i pamięciowe (maksymalnie 15 minut i 3GB). Mimo że świetnie się skaluje, nie nadaje się do zadań, które mogą przekroczyć powyższe limity. Takie zadania należy wcześniej podzielić lub użyć np. bardziej standardowej aplikacji działającej na ECS.

Krzysztof Dziuban, DevOps Engineer, docenia możliwość zaprojektowania całego rozwiązania od początku. „Znałem i używałem wcześniej AWS czy Kafkę, ale tym razem miałem okazję połączyć wszystko w całość w jednym projekcie. Teraz wiem, jak się zabierać za takie rzeczy w przyszłości.”

Piotr Zembura, Delivery Manager w PGS Software zaznacza, że przyjemnością było używać Scrum, w pełnym tego słowa znaczeniu, ze wszystkimi rolami i eventami. Jak można podejrzewać – Scrum świetnie się sprawdza przy takich inicjatywach.

 

Co dalej?

Czy 6 tygodni wystarczy, aby nauczyć się podstaw Data Engineering? “Tak, jeśli proces zostanie odpowiednio zorganizowany” – zaznacza Witold. “Trzeba najpierw określić czego chcemy się dowiedzieć i na jakie pytania znać odpowiedź. A to wcale nie jest takie oczywiste”.

Ważne jest też zebranie zespołu z odpowiednimi umiejętnościami wstępnymi, chęcią do nauki i odwagą w eksperymentowaniu. Nie można też zapominać o wkładzie Analityka i Project Managera, którzy prowadzą taki projekt.

Na koniec, nad całością czuwa mentor, który daje wskazówki i gra rolę klienta.

Czy planujemy kontynuację nauki w formie mini-projektów?  „Zdecydowanie tak!” – odpowiada Jerzy Dörfler – „Ale tym razem pójdziemy o krok dalej i korzystając z wypracowanego rozwiązania, planujemy budować system do analityk i wizualizacji online oraz wpięcie elementów uczenia maszynowego. W końcu duży zestaw danych już mamy.”

Podobne proof of concepts realizujemy też w obszarze wizualizacji danych, 5G oraz MEC. Przestrzeń do eksploracji i podnoszenia umiejętności jest duża. Widzimy, że takie działania upskillowe przynoszą konkretne korzyści – pracownicy mają szansę rozwijać się w interesujących ich obszarach i zdobywać brakujące na rynku kompetencje. Z kolei firma może realizować więcej ciekawych projektów komercyjnych związanych z big data.

Jeśli interesujesz się tematyką danych sprawdź inne artykuły naszych ekspertów na blogu:

 

Najnowsze wpisy