22

Jak zostać Big Data Engineerem? Odkrywamy tajniki pracy jako inżynier danych

big data engineer
Big Data Engineer wydaje się być teraz jednym z najbardziej poszukiwanych specjalizacji wśród osób z sektora IT. Trudno się temu dziwić, ponieważ to oni odpowiadają za przygotowanie całego "rurociągu" danych (z ang. data pipeline) oraz ich przygotowaniem, a czasami również analizą. Jak można zostać jednym z inżynierów danych?

Inżynier danych – świetna ścieżka

Warto zacząć od tego, czym właściwie zajmuje się inżynier danych. Cały proces, którym się opiekuje, można określić następującymi etapami: zebraniem, przeniesieniem i przechowywaniem, przygotowaniem do dalszej obróbki oraz wstępną analizą. W świecie, w którym to dane pełnią główną rolę, jest to kluczowy zawód. Obecnie trudno by było mówić o jakiejkolwiek sztucznej inteligencji bez wszystkich potrzebnych danych, a do tego wszystkiego to Data Engineerowie odpowiadają za tworzenie kluczowych rurociągów danych. Nic zatem dziwnego, że aktualnie specjaliści z tej dziedziny są pożądani i wysoko opłacani.

big data engineer

Sam sektor Big Data jest stosunkowo młody i liczy sobie nieco ponad dziesięć lat, choć naturalnie wcześniej również pracowano z danymi. Popularyzacja Hadoopa, pojawienie się chmury publicznej oraz dynamiczny rozwój wielu rozwiązań open-source do takich zadań jak, m.in. Apache Spark, Apache Flink czy Apache Kafka, miały wpływ na rozwój tej kategorii. Wciąż zresztą ten rynek dynamicznie się zmienia i zdecydowanie nie można narzekać na nudę.

Jeżeli chodzi o perspektywy zatrudnienia w konkretnych branżach, to tu nie ma żadnych ograniczeń. Aktualnie każda firma chce lepiej rozumieć swoje dane, a co za tym idzie, dbają o to, aby wewnątrz organizacji powstał odpowiedni łańcuch, który zapewni odpowiedzi na interesujące ich pytania. W ten sposób tworzone mogą być bardziej dopasowane do klientów oferty czy lepiej przygotowane oferty, a do tego można zdecydowanie skuteczniej zbierać dane ze wszystkich potrzebnych źródeł.

Javovy świat

Nie da się ukryć, że w świecie Big Data kluczowa jest znajomość przynajmniej jednego języka programowania. Można tu wspomnieć o tych królujących w segmencie inżynierii danych: Javie i Scali; choć również osoby od Pythona będą mogły liczyć na zatrudnienie w tej branży. Trzeba zresztą dodać, że bez wiedzy o Javie i jej pochodnych trudno będzie analizować wiele serwisów, ponieważ najczęściej są one napisane w Javie lub Scali. To zdecydowanie pomaga w pracy.

big data engineer

Do tego dochodzi konieczność znajomość składni języka SQL. Warto też napisać o zrozumienie baz danych NoSQL oraz umiejętność nieszablonowego myślenia, ponieważ często będzie można natknąć się na zupełnie nowe problemy do rozwiązania.

Wywiad z inżynierami danych

Przeprowadziłem wywiad z dwójką inżynierów danych ze sporym doświadczeniem i ogromną wiedzą, którzy na co dzień pracują w firmie Getindata: Grzegorzem Kołakowskim i Piotrem Pękałą.

Jak opisałbyś/opisałabyś swoje codzienne obowiązki?

Piotr Pękała: Moje codzienne obowiązki są bardzo zróżnicowane. Jednego dnia jestem Software Engineerem, innego DevOpsem a jeszcze innego Data Analystem. Wszystko zależy od projektu oraz potrzeb w danym momencie.

Grzegorz Kołakowski: Bardzo różne :) PoC nowych technologii i pomysłów, wdrażanie nowych rozwiązań, optymalizacja i debugowanie istniejących procesów.

Jakie umiejętności techniczne są kluczowe, aby zostać Big Data Engineerem?

PP: Jestem zdania, że wszystkiego można się nauczyć i jeżeli ktoś bardzo chce zostać Engineerem (nie tylko w Big Data) to może się tego nauczyć. Pytanie tylko czy będzie wystarczająco wytrwały w osiągnięciu celu. Natomiast myślę ze, takie rozsądne minimum, które umożliwia w miarę komfortowy rozwój to podstawowa wiedza informatyczna oraz umiejętność programowania.

Teamwork concept.Young creative coworkers working with new startup project in modern office.Group of three people analyze data on desktop computer.Horizontal,blurred background; Shutterstock ID 583869832

GK: Ciężko powiedzieć. Warto być po prostu solidnym, wszechstronnym programistą z wyrobionymi dobrymi praktykami, a nauka Big Daty przyjdzie łatwiej. Jeśli mam już coś wymienić to:

  • Warto rozumieć podstawy distributed programming.
  • Przydaje się dobra znajomość Javy, gdy trzeba zajrzeć w kod narzędzi, zrozumieć jego działanie i ewentualnie łatać.
  • Znajomość SQL-a.

Jakie umiejętności miękkie są przydatne w roli Big Data Engineera?

PP: Myślę, ze tak jak w każdej dziedzinie informatyki jest to logiczne myślenie oraz chęć ciągłego podnoszenia kwalifikacji. W Big Data możliwe, ze przyda się również większy upór w dążeniu do celu. Jako młoda dziedzina posiada nadal wiele problemów wieku dziecięcego, które wymagają sporej cierpliwości.

GK: Nie wiem czy Big Data Engineer różni się w tym względzie od podobnych stanowisk developerskich. Umiejętność pracy w zespole i komunikatywność niezbędna do pracy z klientem.

Co spowodowało, że postanowiłeś zostać Big Data Engineerem?

PP: Chęć dalszego rozwoju i poszerzania horyzontów. Mój background to mikroserwisy oraz zamiłowanie do systemów rozproszonych. Czułem że Big Data jest pewnym niezdobytym przeze mnie obszarem, który może dać inne spojrzenie.

GK: Przypadek :)

Jak oceniasz perspektywy rozwoju?

PP: Big Data jest stosunkowo młodą dziedziną i zarazem rozwijającą się bardzo dynamicznie. Z drugiej strony świat jest zalewany informacjami, które odpowiednio przetwarzane mogą być bardzo cenne. Myślę, ze jest to zarazem ciekawy jak i niemal nieskończony (na ten moment) kierunek rozwoju.

GK: Bardzo dobrze :)

Z jakimi technologiami głównie pracujesz?

PP: Kafka, Spark, Hadoop, Hive, GCP, JVM, Python, Airflow, Kubernetes.

GK: Nifi, Kafka, Hadoop, Hive, Flink, Beam, Debezium.

Co polecasz do nauki i treningu osobom, które chcą zostać Big Data Engineerem?

PP: Zawsze uważam, ze najlepiej uczyć się sposobów rozwiązywania problemów, co daje w dalszej kolejności lepsze zrozumienie jak działają różne technologie i wykorzystywane narzędzia. Jako, ze dziedzina Big Data jest dość rozległa, trudno jednoznacznie określić czym warto zając się na początku. Na pewno zrozumienie zasady działania Map Reduce oraz poznanie jak jest to zaimplementowane na przykładzie np. Sparka daje inne spojrzenie na przetwarzanie informacji.

GK: Czytać tematyczne blogi i listy mailingowe (na przykład Data Eng Weekly). Wiadomo – najwięcej uczymy się pracując z danymi technologiami.

Jakie są największe zalety pracy jako Big Data Engineer?

PP: Świat „wielkich danych” jest znacząco odmienny od „standardowego” tworzenia oprogramowania, co daje możliwość rozwiązywania ciekawych problemów z którymi nie spotkamy się nigdzie indziej. Można się tutaj spotkać z mocno odmiennymi podejściami co znacząco poszerza horyzonty.

GK: Młody dynamiczny zespół ;) Mnogość problemów i narzędzi do ich rozwiązywania.

Jesteś zainteresowana/y pracą w świecie Big Data? Śledź oferty pracy w Getindata albo wyślij CV na info@getindata.com.

Kluczowa osoba w zespole

Stopniowo każdy z nas wytwarza coraz więcej danych. To wszystko powinno zostać odpowiednio przetworzone i przeanalizowane, aby móc zapewniać wyższą jakość usług czy lepiej dopasowane oferty. Niewątpliwie to interesująca dziedzina, w której nie można liczyć na nudę. Moim zdaniem to ciekawy kierunek rozwoju dla każdej osoby odnajdującej się w informacjach i programowaniu.

Dowiedz się więcej o zawodach IT