Maciej Szymczyk o Data Engineering i Big Data
100% tego, co musisz wiedzieć o Inżynierii Danych
Data Engineering – to dziś naprawdę gorący temat, jeśli nie wierzysz odsyłam do artykułu.
Tymczasem mam zaszczyt zaprosić Ciebie na wywiad z Maciej Szymczyk, który na co dzień jest (lub zdarza mu się bywać):
- inżynierem danych
- architektem rozwiązań big data
- programistą
Jeśli chcesz wiedzieć więcej na temat Maćka zapraszam na jego blog o nazwie Wiadro Danych. Tymczasem przeczytaj bardzo ciekawe odpowiedzi!
Kim jest Data Engineer?
Rozwijająca się organizacja prędzej czy później potrzebuje wykorzystać potencjał drzemiący w danych generowanych przez klientów, aplikacje, urządzenia, usługi i inne. Dane te mogą być ustrukturyzowane (ale nie muszą), o różnej jakości, rozmiarze i częstotliwości, a do tego ulokowane w różnych systemach informatycznych.
Data Engineer to osoba, która trzyma piecze nad tymi danymi. Tworzy procesy, przez które dane „wędrują” po organizacji. Procesy takie muszą być zarządzalne, odporne na awarie (zakłada się, że awaria nastąpi) oraz zapewniające używalność/jakość danych. Wymagania te powodują, że Data Engineer musi znać szereg różnych technologii. Od kwestii związanych z akwizycją, przez kolejki, bazy danych, hurtownie, formaty plików, po języki programowania i przetwarzanie rozproszone. Przydadzą się też umiejętności DevOpsa. Odbiorcą końcowym efektów pracy Data Engineera mogą być analitycy, Data Scientists, ale również inne systemy informatyczne, usługi czy aplikacje.
Jak widzisz, jest tego trochę. W artykułach i ogłoszeniach o pracę można zauważyć powiązane z Data Engineer i DevOps role takie jak DataOps, DataSecOps (tematy bardziej Security), AIOps. Działka jest obszerna, a zależnie od dziedziny, potrzebne są inne zestawy umiejętności.
Jaką przewidujesz przyszłość dla tego zawodu w IT?
Uważam, że jest to bardzo przyszłościowy zawód. Danych jest coraz więcej i coraz więcej firm dostrzega potencjał, jaki w nich drzemie. Zwróćmy uwagę na aplikacje, z których korzystamy codziennie. Prawie każda firma, która za nimi stoi jest tzw. “Data Driven”, czyli podejmuje strategiczne decyzje opierając sie na analizie danych.
Na konferencjach Big Data zobaczymy firmy takie jak Facebook, Uber, Bolt, Netflix, Zalando, Spotify i wiele innych. Niektóre z tych firm zapoczątkowały rozwiązania techniczne, z których teraz korzystamy. Apache Cassandra => Facebook. Apache Kafka => Linkedin, Presto => Facebook, Apache Hudi => Uber, Accumulo => NSA. Poprzeczka cały czas rośnie. Możemy znaleźć w internecie informacje, że już w 2014 roku Apple miało ponad 10 petebajtów danych w ponad 75000 węzłów Apache Cassandra. Oprócz rozmiaru danych liczy się również czas uzyskania z nich wartości biznesowej.
Popatrzmy na mechanizm, który wykorzystuje Uber, czyli automatyczne wyznaczanie ceny przejazdu na podstawie aktualnego zapotrzebowania w danym obszarze. Pewnie nie raz próbowałeś wrócić z sylwestra lub koncertu i szacunkowa cena przejazdu była kilkukrotnie większa niż zwykle. Przy tradycyjnym podejściu, czyli hurtownie danych i procesy ETL, takie coś nie byłoby możliwe. Mało kogo obchodzi zeszłoroczny śnieg. Innymi słowy, uważam, że świat idzie w tym kierunku.
Jakie umiejętności miękkie musi posiadać lub rozwinąć taki specjalista?
Podczas pracy mamy do czynienia nie tylko ze swoim zespołem. Będą to zespoły deweloperskie, security, administratorzy, a nawet osoby decyzyjne. Konieczna jest umiejętność klarownego przekazywania informacji, dogadania się i sprzedaży swojego pomysłu. Musimy pamiętać, że nie każdy jest osobą techniczną, a biznes ma inne sprawy na głowie niż dywagacje na temat wyższości jednej technologii nad drugą. Temat ma być dowieziony. Działa to też w druga stronę. Nie zawsze znamy obszar biznesowy i warto po prostu zadać parę pytań.
Jak budujesz markę osobistą w sieci?
Do tej pory skupiałem się na moim blogu. Mam kanał na YouTube, na którym widnieje nagranie mojego wykładu z meetup-u Warszawskiej Grupy .NET. Planuję nagrać parę filmów i zobaczyć, jaki będzie odzew.
Brałem udział w CFP na kilku konferencjach IT. Będę prelegentem na konferencji 4developers w Warszawie. Tematem mojego wykładu będzie logowanie i monitorowanie aplikacji korzystając z biblioteki Serilog oraz Elastic Stack (Elasticsearch, Kibana, Logstash, Beats) na ścieżce .NET. Co ciekawe, prezentacja będzie po angielsku. Konferencja miała być jakoś w kwietniu, ale w związku z koronawirusem, przełożona została na 18 września. (https://4developers.org.pl/festiwal-2020/)
Jakie masz korzyści z prowadzenia bloga?
Przede wszystkim jest to mój motor napędowy i dobry trening kreatywności. Nie chcę sobie pozwolić na długie przestoje w braku nowych treści. Feedback czytelników daje dużo wartości. Niektórzy obawiają się krytyki. Uważam, że niesłusznie. Każdy ma prawo do błędów. Dopiero gdy udostępnimy treść publicznie, mamy okazję zweryfikować jej jakość. „Czasem wygrywasz, czasem się uczysz”
Blog sprawa mi wiele frajdy, ale buduje też moją markę osobistą. Czasem słyszę, że ktoś wspomina o Wiadrze Danych np. na przerwie podczas meetupu. Daje to dużo satysfakcji. Dostałem też propozycję bycia trenerem w firmie NobleProg, z której skorzystałem.
Ostatnią korzyścią, o której chce wspomnieć, to fakt, że sam korzystam ze swojego bloga. Często mamy tak, że napiszemy kawałek kodu, a potem po jakimś czasie chcemy do niego wrócić. Blog pozwala zmaterializować pewne pomysły i wnioski. O wiele łatwiej i szybciej wrócić do artykułu, niż przeszukiwać stare foldery i repozytoria, a przy okazji korzystają na tym inni.
Czy myślałeś o działaniach w sieci po Angielsku?
Mój pierwszy blog (mszymczyk.com) starałem się pisać po angielsku, ale zabrakło zaangażowania. Teraz zdarza mi się tłumaczyć moje wpisy na angielski i wrzucać na Medium oraz promować na reddit i hackernews. Wybrałem Medium, ponieważ był to najprostszy sposób na globalne działanie w sieci. Gotowa platforma, na której wystarczy założyć konto i można publikować. Łapki w górę na reddit i oklaski na medium dają sporo satysfakcji. Jest też okazja poćwiczyć aktywną umiejętność, jaką jest pisanie w języku angielskim.
Jakie masz rady dla kogoś, kto zaczyna swoją przygodę w temacie Big Data?
Przede wszystkim: nie bać się i być aktywnym. Warto osłuchać się tematów Big Data np. z podcastów. Z czasem będziesz kojarzyć coraz więcej nazw, których używają. Warto chodzić na meetupy, rozmawiać z ludźmi, pytać. To samo tyczy się social media np. linkedin lub konferencji. Ludzie chętnie dzielą się swoją wiedzą. Napisz, podejdź, zpytaj. Napisałem artykuł na blogu p.t. Jak zacząć ( https://wiadrodanych.pl/big-data-jak-zaczac/ ). Już 2 razy go aktualizowałem i coś czuję, że wkrótce znów to nastąpi.
Wiem, że uwielbiasz sport (kolarstwo i triathlon). Czy uprawianie sportu pomaga Ci w pracy jako inżynier danych?
Bieganie lub jazda na rowerze to idealny czas na słuchanie książek i podcastów. Jeśli akurat nic nie słuchasz, masz sporo czasu na wszelkie rozmyślania i planowanie. Nie raz zdarzyło mi się, że dobre pomysły przychodziły mi do głowy właśnie podczas biegu.
Jakie masz plany na przyszłość związane z technologiami i prowadzeniem bloga?
Aktualnie skupiam się na Kursie Elastic Stack ( https://wiadrodanych.pl/elastic ). Jest to ciekawy zestaw produktów przydatnych zarówno dla programistów, jak i administratorów, devopsów, analityków i osób związanych z cyberbezpieczeństwem. Może pełnić rolę zaawansowanego silnika wyszukiwarki, systemu agregującego i monitorującego logi/metryki/ zdarzenia, bazy analitycznej jak i SIEM-a, czyli systemem zarządzania informacją i zdarzeniami bezpieczeństwa.
Czym zajmę się później, ciężko powiedzieć 🙂 Mam wiele tematów w backlogu. Padło w komentarzu pytanie o kurs z Apache Spark, ale narazie nic nie obiecuje.
Zapraszam do dołączenia na naszej grupie Facebook “Umiejętności miękkie w IT”
Ostatecznie w zamian za dostarczoną treść, proszę więcej uśmiechu w cyfrowym świecie! 😉