TeamQuest Blog

Jak stać się data engineerem

Jak stać się data engineerem

Marcin Sarna , 13.01.2021 r.

To jest ciekawa ścieżka dla programisty z zacięciem naukowo-badawczym.

Kim jest ten data engineer?

Zapotrzebowanie na inżynierów danych szybko rośnie. Według hired.com popyt wzrósł o 45% w 2019 roku. Ale czym oni się zajmują?

Inżynieria danych jest ściśle związana z danymi, jak widać po jej nazwie. Ale o ile „zwykła” analityka danych zwykle oznacza wydobywanie wniosków z istniejących danych, inżynieria danych oznacza proces budowania infrastruktury w celu dostarczania, przechowywania i przetwarzania danych. Zgodnie z The AI Hierarchy of Needs proces inżynierii danych znajduje się na samym dole: zbieranie, przenoszenie i przechowywanie, przygotowanie danych. Jeśli więc dana firma chce być silnie oparta na danych lub sztucznej inteligencji, powinna zatrudnić (przeszkolić) inżynierów danych.

Ale co właściwie robią inżynierowie danych? Ilość danych szybko rośnie każdego dnia. Nawet małe urządzenia są podłączone do Internetu. Inżynierowie danych z przeszłości byli odpowiedzialni za pisanie złożonych zapytań SQL, budowanie procesów ETL (extract, transform & load) przy użyciu dużych narzędzi korporacyjnych, takich jak Informatica ETL, Pentaho ETL czy Talend. Ale teraz rynek wymaga szerszego zestawu umiejętności.

Jeśli chcesz pracować jako inżynier danych…

To musi Cię cechować:

  • Średnio zaawansowana znajomość SQL i Python
  • Doświadczenie w pracy z dostawcami chmury, takimi jak AWS, Azure czy GCP
  • Znajomość Java / Scala (duży plus)
  • Zrozumienie SQL / NoSQL (modelowanie danych, hurtownie danych, optymalizacja wydajności)

Zestaw umiejętności jest więc całkiem podobny do tego, co zwykle znają programiści backendowi. W rzeczywistości, jeśli firma stopniowo rozwija się pod względem danych, idealnym kandydatem do przekształcenia w inżyniera danych jest właśnie backend developer. Oczywiście poszczególne technologie i narzędzia mogą się różnić w zależności od wielkości firmy, ilości danych i szybkości przesyłania danych.

Dane to bazy

Inżynieria danych to dziedzina inżynierska, dlatego wymagana jest znajomość podstaw informatyki, a zwłaszcza znajomość najpopularniejszych algorytmów i struktur danych. Ponieważ inżynierowie danych codziennie mają do czynienia z danymi, zrozumienie zasad działania baz danych jest ogromnym plusem. Na przykład najpopularniejsze bazy danych SQL, takie jak SQLite, PostgreSQL, MySQL, używają w rzeczywistości („pod maską”) struktury danych B-Tree - więc warto ją rozumieć.

Może zaczniesz od tego kursu (Data Structures and Algorithms Specialization)?

SQL został opracowany w latach 70-tych i nadal jest najpopularniejszym językiem do pracy z danymi. Zapewne pozostaniemy przy SQL przez następną dekadę lub dwie. W ekosystemie dużych zbiorów danych istnieje wiele różnych silników SQL: Presto (Trino), Hive, Impala itp.

Programowanie

Python to bardzo popularny język programowania do tworzenia aplikacji internetowych, ale także do analizy danych i nauki. Ma bardzo bogaty ekosystem i ogromną społeczność. Wiele systemów big data jest jednak napisanych w Javie lub Scali, np. Apache Kafka (Scala) czy Hadoop HDFS (Java). Aby zrozumieć, jak działają te systemy, warto znać język, w którym są napisane. Największym zmartwieniem Pythona jest jego słaba wydajność, dlatego znajomość bardziej wydajnego języka będzie dużym plusem dla Twojego zestawu umiejętności. A do tego jeszcze wybierz wygodne IDE?

Narzędziownia

W krajobrazie Big Data istnieje wiele różnych technologii. Najpopularniejsze to:

  1. Apache Kafka - kolejka komunikatów / magistrala zdarzeń / przesyłanie strumieniowe zdarzeń
  2. Apache Spark - ujednolicony silnik analityczny do przetwarzania danych na dużą skalę
  3. Apache Hadoop - platforma do dużych zbiorów danych, która składa się z różnych narzędzi, bibliotek i struktur, w tym rozproszonego systemu plików (HDFS), Apache Hive, HBase itp.
  4. Apache Druid - baza danych do analiz w czasie rzeczywistym

Naprawdę trudno jest się wszystkiego nauczyć, dlatego skup się na najpopularniejszych i naucz się podstawowych pojęć, które się za nimi kryją.

Sprawdź oferty pracy na TeamQuest

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej