Czy ktoś mógłby w paru zdaniach przedstawić jak wygląda dzień osoby, która pracuje na stanowisku Data Engineer?
Domyślam się, że praca takiej osoby często powiązana jest z dużymi zbiorami danych trzymanych w rozproszonych bazach jak np. cassandra i przetwarzanych z pomocą takich narzędzi jak spark, storm, hadoop i języka Scala.
Widzę też pojęcie ETL (extract, transform & load) i mniej więcej mam przeczucie, że taka osoba raczej nie pracuje jak normalny developer (w sensie tworzenie docelowej aplikacji, czy usługi), lecz raczej produkuje skrypty do obróbki lub jakiś obliczeń, analiz dostępnych np. w trybie realtime.
Czy ktoś byłby w stanie opisać szerzej to stanowisko? Np. zwrócić uwagę na czym generalnie koncentruje się ta praca, jakiego typu zadania można tu realizować?
Tutaj dodatkowe pytania:
-
Scala jest często używana (bo np. spark jest zrobiony w scala). W Scali mamy też platformę akka, która udostępnia możliwość programowania agentowego. No i tutaj pytanie, dlaczego programowanie agentowe tutaj się przyjeło? Czy tu chodzi o coś w stylu jak w Elixir, że jak mamy wiele połączeń to możemy je tanio obsłużyć i zebrać mnóstwo zdarzeń? Jeśli tak, to dlaczego scala oraz akka jednocześnie wpasowały się do przetwarzania danych (bo np. elixir to słabo sobie z tym radzi).
-
Czy Data Engineer zajmuje się programowaniem ukierunkowanym w stronę współbieżności, asynchronicznych akcji? Czy raczej tym się zajmują tylko osoby tworzące rozwiązania takie jak Storm?
-
Czy Data Engineer to również administrator, który studiuje konfiguracje np. cassandry i zajmuje się jej utrzymaniem?
-
Czy można powiedzieć, że Data Engineer to również analityk? Jeśli tak to jakie tematy z matematyki warto znać i rozumieć?
Zapraszam do dyskusji osoby powiązane z wyżej wymienionymi technologiami, a szczególnie: @Wibowit @Krolik