Charakter pracy na stanowisku Big Data Engineer/Developer

0

Hej! Obecnie pracuję jako ETL/PL/SQL Developer (exp około 11 miesiecy) tworząc rozwiązania zasilające hurtownie danych w Informatica PC i budując strukturę hurtowni. Zastanawia mnie charakter pracy Big Data Developera i własnie tego chciałbym się dowiedzieć od osoby, która pracuje na takim stanowisku, ponieważ w przyszłości chciałbym startować właśnie na takie stanowisko. Od czego zacząć naukę oprócz Javy i pakietu HDFS + Sparka? Jakie są perspektywy takiego stanowiska w Polsce/na świecie i czy ciężko się załapać do takiej pracy? Mile widziane wszystkie spostrzeżenia.

0

Cóż.... to zależy... gdzie, u kogo, w jakich projektach. W Polsce trafisz na zabawy w Excelu (VB), po ewentualnie zagadnienia wymagające magistra matematyki stosowanej wzwyż. Tych ostatnich najmniej.

0

Dzięki za odpowiedź, ale chodzi mi bardziej o integracje systemów, integracje danych czy zasilanie DWH i rzeczy z tym powiązane, bardziej niż analitykę danych.

0
b36 napisał(a):

Dzięki za odpowiedź, ale chodzi mi bardziej o integracje systemów, integracje danych czy zasilanie DWH i rzeczy z tym powiązane, bardziej niż analitykę danych.

Adekwatnie do tego co napisano. Chcesz umieć wyszukać rozwiązania - miej świadomość wokół czego są budowane. Nie wiem czego się spodziewasz prawdę mówiąc - że przedstawimy ci każdy możliwy produkt, rozwiązanie, technikę. Możesz spodziewać się wszystkiego co podpada pod dziedzinę. Czasem może to wymagać nawet głębszej znajomości przedmiotu który usprawniasz. Część rozwiązań jest współdzielona z innymi dziedzinami. Część nie - i tutaj masz wyszukiwarki internetowe, fora dyskusyjne, listy dyskusyjne i prasę branżową.

0

Nie oczekuję przedstawienia wszystkich produktów, a oczekuję odpowiedzi na to jak wygląda taka praca - ile procent czasu to praca z kodem, a ile modelowanie danych rozwiązań czy analiza architektury, po drugie czy firmy zatrudniające osoby na takie stanowisko rzeczywiście oczekują, że ktoś będzie znał wszystkie technologie, które mają w wymaganiach... mam tutaj na myśli to, że mało kto wpasowuje się idealnie w profil kandydata i odważę się rzec, że skille osób zmieniających pracę w danych technologiach często pokrywają się jedynie do max 60%. Czy programiście rozwiązań ETL podpasowałaby taka praca? Jak myślicie? Niestety, nie mam realnego wglądu w pracę na takim stanowisku i dlatego pytam. :P

0
b36 napisał(a):

Nie oczekuję przedstawienia wszystkich produktów, a oczekuję odpowiedzi na to jak wygląda taka praca -

pytania zbyt ogólne, by zadowoliły cię odpowiedzi

ile procent czasu to praca z kodem,

to zależy od firmy i projektu

a ile modelowanie danych rozwiązań czy analiza architektury

to zależy od firmy i projektu

, po drugie czy firmy zatrudniające osoby na takie stanowisko rzeczywiście oczekują, że ktoś będzie znał wszystkie technologie, które mają w wymaganiach... mam tutaj na myśli to, że mało kto wpasowuje się idealnie w profil kandydata i odważę się rzec, że skille osób zmieniających pracę w danych technologiach często pokrywają się jedynie do max 60%. Czy programiście rozwiązań ETL podpasowałaby taka praca? Jak myślicie?

to zależy od firmy i projektu i konkurentów w rekrutacji

3
Satanistyczny Awatar napisał(a):
b36 napisał(a):

Nie oczekuję przedstawienia wszystkich produktów, a oczekuję odpowiedzi na to jak wygląda taka praca -

pytania zbyt ogólne, by zadowoliły cię odpowiedzi

aż się zarejestrowałem bo nie mogłem patrzeć na takie odpowiedzi. Przyznaję, że pytania są mało konkretne, ale odpowiedzi jeszcze bardziej nie wnoszą nic do wątku, IMO lepiej chyba nie pisać nic, niż rzucać posty w stylu elektrody.

ile procent czasu to praca z kodem, a ile modelowanie danych rozwiązań czy analiza architektury

zalezy od firmy. Często jest to głównie korpo, więc od takich rzeczy jak modele danych czy architektura to powinni być architekci systemowi, zwykły dev raczej zamyka się w obrębie swojej aplikacji. Ewentualnie jak nie pracujesz dla danej firmy, a bardziej działasz jako konsultant z ramienia innej to często doradzasz jak pewne rzeczy zaprojektować, żeby to miało ręce i nogi. Jednak to bardziej wynika z doświadczenia niż charakteru samej pracy. Junior nie będzie doradzał z modelem danych, bo odpowiedzialna firma powierzy to bardziej ogarnietemu devowi. Bardziej ogarniety dev z kolei nie bedzie ukladal architektury, tylko spojrzy w stronę architekta/kogos ze sporym doswiadczeniem. Mowie tutaj oczywiscie o duzych firmach, bo takie najczesciej maja projekty big data. W startupach tez sie zdarzy ale tam rzadziej chyba mozna liczyc na pomoc ludzi z 10-15 letnim doświadczeniem.

czy firmy zatrudniające osoby na takie stanowisko rzeczywiście oczekują, że ktoś będzie znał wszystkie technologie, które mają w wymaganiach...

generalnie im więcej technologii wypisanych tym mniej powinny firmy oczekiwac ze znajdą alfe i omege. Z doswiadczenia powiem ze jak w ogloszeniu jest sporo technologii to sa dwie opcje: oczekuja ze znasz wycinek z nich i to jest ok albo nie warto sie tym ogloszeniem interesowac bo albo sami nie wiedza kogo szukaja, a zakres zadan bedzie od sasa do lasa, albo ukladal to ktos nietechniczny.

Czy programiście rozwiązań ETL podpasowałaby taka praca? Jak myślicie?

no z tym pytaniem to poleciales. A skad ktos ma to wiedziec :) Myślę, że to nie kwestia programisty ETL czy JSa czy czegokolwiek innego, a juz konkretnej osoby. Weź sobie odpal jakiś zbior danych i naklep projekt w Sparku. Np jakies dane z ocenami filmow i napisz sobie wyznaczanie rekomendacji. Albo dane wejsciowe w Avro, zdeserializuj, powyliczaj pare kolumn, porob jakies operacje na tych danych zeby zmienic strukture (kolumny typu STRUCT itp) i wypluj dane w formacie Parquet.

Od czego zacząć naukę oprócz Javy i pakietu HDFS + Sparka

w sumie nie wiem czy częsciej nie jest Scala używana. HDFS to chyba nie jest jakoś bardzo istotny, ważne żebyś wiedział jak działa, a to czy umiesz korzystac z libki javowej to juz bardziej sprowadza sie do umiejętności programowania samego w sobie. Do tego streaming jest tez całkiem popularny wiec mozesz sobie np napisać apke w Scali we Flinku do przetwarzania danych z Twittera - przykładów w necie znajdziesz mnóstwo. Do tego na big data deva/eng licza sie tez mocno umiejetnosci dev opsowe - zeby pocwiczyc to mozesz sobie postawic Kafke i Flinka za pomoca Dockerow i Ansibla.

TL;DR - ogólne umiejętności programistyczne, olej w głowie (jak do każdej roboty w IT) i umiejętności dev ops

0

zacząć naukę oprócz Javy i pakietu HDFS + Sparka? Jakie są perspektywy takiego stanowiska w Polsce/na świecie i czy ciężko się załapać do takiej pracy? Mile widziane wszystkie spostrzeżenia.

Java może okazać się za dużym krokiem. Proponowałbym Pythona, którego możesz też używać ze Sparkiem (PySpark), a dodatkowo przyda Ci się przy eksploracji danych oprócz SQL przy pomocy notebookow. Super właśnie, że używasz SQL. Na przykład taki Spark pozwala na pisanie całej logiki przetwarzania danych właśnie w SQL - moduł Spark SQL. Dodatkowo naucz się jakiegoś orchetratora jak np. Apache Airflow no i liźnij podstawy przetwarzania danych na jednej z chmur publicznych, żeby wiedzieć co można zrobić i jak. Przyda się też jakieś pojęcie o przetwarzaniu danych w czasie rzeczywistym (streaming). Jeśli chodzi o Sparka, to polecam Github Jacka Laskowskiego, który jest jedną z ważniejszych osób w środowisku Open Source Apache Spark https://github.com/jaceklaskowski A jeśli interesujesz się przetwarzaniem danych, to zapraszam też na swojego bloga, gdzie piszę co nie co na ten temat https://www.waitingforcode.com/

Jeśli chodzi o możliwości pracy, to data engineer, bo tak nazywa się pozycja, na którą wnioskując po Twojej wypowiedzi, chcesz startować, jest dosyć popularna. Podyktowane jest to głównie możliwościami w przetrzymywaniu danych i przetwarzaniu ich na dużą skalę z serwisami jak BigQuery czy Redshift, czy też wspominany już Apache Spark. Jeśli interesuje Cię sama ewolucja i specyfika pracy, to polecam ten post napisany przez autora Apache Airflow; https://medium.com/@maximebeauchemin/the-downfall-of-the-data-engineer-5bfb701e5d6b

0

Dziękuję @PAWEŁ K i @bartosz25 za obszerne i konkretne odpowiedzi! 👌 Na pewno będę śledził Twojego bloga! 🙃

0

Jeżeli można się podpiąć pod wątek i zapytać, czy stawki w narzędziach, o których piszecie (Scala, HDFS, Python, Spark, cały ten hadoopowy ecosystem) są rzeczywiście wyższe niż w klasycznym ETL np. Powercenter ? Czy to jednak ten sam poziom ?

Np. widziałem wielokrotnie widełki dla doświadczonego ETL developera 12.000-18.000 tys. brutto.

0

Czy w ogóle w naszym kraju bardziej opłaca się męczyć i zajmować dość ciężkimi technologiami BigDatowymi niż po prostu nauczyć się klepać CRUDy i iść do firmy outsouringującej usługi na Zachód?

0

Odnośnie widełek, to nie mam pojęcia i polecam analizę rynku.

A co do samej opłacalności CRUD vs Big Data, to zależy od osoby. Sam mogę powiedzieć, że klepałem CRUDy, dodatkowo byłem na pierwszej linii ognia supporcie do jednego z modułów PHP, byłem też full stackiem przez pewien okres czasu (Java, Spring + JavaScript), I po 10 latach zobaczyłem, że dopiero praca z systemami danych sprawia mi największą frajdę. Domena jest cały czas dynamiczna, ale na szczęście nie zmienia się aż tak dynamicznie jak niektóre frameworki JavaScript. Nie ma jednej dobrej bazy danych pasującej do wszystkiego. No i dodatkowo problemy są o wiele bardziej zróżnicowane niż w wypadku klasycznych webowych apek. Na przykład: masz dane w streamingu i coś poszło nie tak - co robisz, żeby wszystko przekalkulować ? Użyjesz batcha czy po prostu przesuniesz offset w brokerze ? A co jeśli nie ma tam wszystkich danych albo dane przychodzą z dużym opóźnieniem ? Jak zachowa się Twoja logika przy x2 większym ruchu ? Jak skonfigurujesz auto scaling ? Jak zachowa się group by, gdy do klastra dołączy dodatkowy worker ? Piszę może bez ładu i składu, ale te problematyki spotkałem dopiero w kontakcie z inżynierią danych i systemami rozproszonymi w kontekście zarządzania danymi.

Może mój zachwyt jest tylko tymczasowy i niedługo wrócę do micro serwisów, CRUDów albo czegoś podobnego, ale osobiście polecam jako odskocznię, jeśli CRUDY czy full stacki kogoś męczą. W dodatko z inżynierii danych można łatwiej przeskoczyć w sztuczną inteligencję czy szerzej rozumiane Data Science lub nawet devops.

0

@goJavaGo: Generalnie zarobki są porównywalne między klasycznym ETLem a narzędziami Big Data, ale dla ludzi zajmujących się narzędziami "Big Data" jest nieco więcej ofert, chociaż firmy, które mają oferty na stanowiska związane z Big Data Developmentem często w rzeczywistości mają się nijak do przetwarzania większych volumenów danych, dlatego trzeba uważać co się wybiera.

@To Tomki: Czemu wszystko musi się kręcić wokół hajsu? Jak ktoś to lubi to czemu nie? :P Poza tym za dużo ludzi już pcha się w klepanie formatek czy CRUDów.

0

Jakby co to ja tu zadałem swoje pytanie na poważnie, nie chciałem w żaden sposób podejść lekceważąco do tematu czy coś w ten deseń.

@b36
Nie wszystko musi się kręcić wokół hajsu, ale ja piszę z perspektywy osoby, która siedzi w modelach i w bankowości w zasadzie z przypadku. Chciałem robić apki webowe w Javie (jeśli by się w przyszłości udało - zdalnie pracować na zachodzie za stawkę bliską zachodniej), ale akurat praca się trafiła jaka się trafiła i już się temat ciągnie. Trochę ogarniam tematy związane z tym ogólnym data science czy big data, więc w połączeniu z moim doświadczeniem komercyjnym łatwiej mi będzie siedzieć w tej branży, natomiast nie jestem pasjonatem. Wolałbym robić apki webowe, ale ich pasjonatem też nie jestem, ale lubię mieć trochę kasy i nie żyć od dziesiątego do dziesiątego (a tak by wyglądał mój tryb życia gdybym zajmował się tym, co faktycznie w miarę lubię), albo bać się, że zaraz wyczyści mi się budżet. Z tych powodów nie widzę nic złego w pytaniu o szczegóły branż, które są dla mnie podobnie nijakie (nie mylić z ich nielubieniem, nijakość nie jest zła! Czasem wręcz lubię to, co robię :)) w kontekście pasji, a mogą zapewnić pieniążki.

@bartosz25
Taka poprawnie wykonana analiza rynku to temat na magisterkę albo wręcz doktorat, więc nie wiem czy prawdę mówiąc chciałoby mi się aż tak bardzo wgłębiać w temat nawet jeśli by od tego zależała moja kariera. Dzięki za podzielenie się swoimi wrażeniami :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1