Co powinni umieć kandydaci na inżynierów machine learningu?
Sprawdziliśmy, czego oczekują przedsiębiorcy w Polsce od kandydatów na stanowisko inżyniera machine learningu. Wśród języków programowania dominuje Python. Równie istotny jest język zapytań SQL. I choć specjaliści od algorytmów muszą być przede wszystkim biegli w technologiach, pracodawcy mają nadzieję, że przyszli pracownicy wykażą się też licznymi umiejętnościami miękkimi.
Głównym zadaniem inżyniera machine learningu jest tworzenie i udoskonalanie modeli uczenia maszynowego. Jest to proces iteracyjny, który z jednej strony wymaga oprogramowywania teoretycznego modelu, a z drugiej dostarczania do niego strumienia danych, będących podstawą dla systemu - to z ich pomocą będzie się uczył. Z tego powodu inżynier ML powinien mieć zarówno umiejętności analityczne dotyczące modelowania statystycznego, jak i biegle posługiwać się różnymi językami programowania oraz narzędziami ML. W pracy przyda mu się również wiedza dziedzinowa z zakresu tematyki realizowanych projektów, ponieważ ułatwi wychwytywanie ewentualnych nieprawidłowości w działaniu modelu.
Jakie języki programowania powinien znać inżynier uczenia maszynowego?
W większości ofert pracy dla inżynierów machine learningu pojawia się konieczność biegłej znajomości Pythona i bibliotek programistycznych, takich jak TensorFlow, PyTorch, Pandas, czy NumPy. Dodatkową zaletą kandydatów na to stanowisko jest doświadczenie w budowaniu i zarządzaniu pakietami w Pythonie. Ze znalezieniem pracy na stanowisku ML Engineer nie powinni mieć problemu również programiści Javy i Scali, a dobrym uzupełnieniem powyższych będzie znajomość języka R, który jest powszechnie używany w analizie danych.
Podstawą SQL
Najważniejszym językiem w analizie danych bez wątpienia jest SQL, bo praca z bazami
danych jest pierwszym krokiem do stworzenia modelu. Wykorzystanie tego popularnego
języka zapytań w naturalny sposób łączy się z innymi językami programowania. Niezależnie
zatem, czy algorytmy uczenia maszynowego będą powstawały w Javie, Pythonie, czy Scali,
znajomość SQL będzie nieodzowna, aby taki model w ogóle uruchomić, a potem go "karmić"
nowymi danymi i obserwować jak ewoluuje. Stąd w większości ogłoszeń pracodawcy
poszukujący inżynierów uczenia maszynowego jako warunek konieczny wymieniają biegłą
znajomość SQL i umiejętność wychwytywania błędów w zapytaniach.
Standard REST API i chmura
Wśród narzędzi, które warto poznać, decydując się na pracę jako inżynier ML, nie brakuje standardu REST API, którego zrozumienie pomoże w bezproblemowym kontrolowaniu przepływu danych pomiędzy różnymi systemami. Jest to kluczowe dla konstruowania bardziej precyzyjnych modeli odpowiadających rzeczywistym procesom. Z tego samego powodu dodatkowym atutem będzie znajomość systemów bazodanowych i technologii chmurowych (najczęściej pracodawcy wyszczególniają w tej kategorii rozwiązania Amazonu i Microsoftu).
Wykształcenie i kursy
Programiści sztucznej inteligencji i uczenia maszynowego nie powinni narzekać na liczbę i atrakcyjność ofert na rynku pracy, ponieważ ciągle jest to rozwijająca się dziedzina i często trudno o znalezienie odpowiednich ekspertów. Jednocześnie przedsiębiorcy oczekują od kandydatów odpowiednich kompetencji, które mogą być poświadczone np. dyplomem uczelni wyższej z takich kierunków, jak informatyka z odpowiednią specjalizacją (machine learning i/lub artifficial inteligence, programowanie etc.). Często jednak posiadanie tytułu naukowego nie jest konieczne. Wtedy jednak warto udokumentować wiedzę w inny sposób, np. odnosząc się do doświadczenia z pracy nad wcześniejszymi projektami z zakresu AI/ML, lub przedstawiając certyfikaty ukończonych kursów, które poświadczają znajomość konkretnej technologii.
Umiejętności miękkie
Pomimo że machine learning engineer jest zawodem stricte technicznym, to pracodawcy w ofertach często zaznaczają, że biorą pod uwagę także umiejętności miękkie kandydatów. Istotne są takie cechy jak umiejętność pracy zespołowej (szczególnie w metodyce Scrum), dobra organizacja pracy, samodzielność, a także chęć ciągłego podnoszenia kwalifikacji i otwartość na nowe technologie oraz narzędzia. Choć inżynierowie uczenia maszynowego większość czasu poświęcają programowaniu i modelowaniu algorytmów, niektóre firmy oczekują wysokiego poziomu zdolności komunikacyjnych.
Język angielski - jaki poziom jest wymagany dla Machine Learning Engineer?
Coraz więcej jest dostępnej literatury na temat data science i machine learningu w języku polskim, jednak aby zajmować się sztuczną inteligencją i big data, nieodzowna jest znajomość angielskiego, w którym powstaje najwięcej aktualnych materiałów na temat machine learningu oraz data science. Język Szekspira przyda się też w komunikacji ze współpracownikami, zwłaszcza jeśli firma, do której aplikujemy, działa także poza Polską, albo planuje rozszerzyć działalność na inne kraje. Pracodawcy zazwyczaj oczekują od kandydatów na stanowisko inżyniera ML znajomości angielskiego na poziomie co najmniej średniozaawansowanym (B2/C1).
Inżynier machine learningu czy Data Scientist?
Kompetencje specjalistów uczenia maszynowego częściowo pokrywają się z wymogami, jakie pracodawcy stawiają osobom zatrudnianym na stanowisku data scientisty. W obu wypadkach konieczna jest znajomość języków programowania i bibliotek programistycznych do uczenia maszynowego, a także dobra znajomość statystyki matematycznej i rachunku prawdopodobieństwa. Ostatnie z wymienionych dziedzin przydadzą się szczególnie w analizie zachowania algorytmów machine learningu i budowania coraz lepszych modeli predykcyjnych. O ile jednak data scientist zajmuje się głównie tworzeniem teoretycznych modeli na podstawie istniejących danych, to już do zadań inżyniera ML będzie należało nadzorowanie przepływu danych i działania algorytmów w środowisku produkcyjnym, a także testowanie teoretycznych modeli na zmieniających się zbiorach.
Zarobki
Zarobki na omawianym stanowisku wahają się w zależności od organizacji, formy współpracy (najczęściej przedsiębiorcy oferują B2B lub umowę o pracę), a także doświadczenia kandydata. Może to być od 12 tys. do nawet 60 tys. złotych netto miesięcznie. Przeszukując oferty pracy, warto też zwrócić uwagę, czy przyszły pracodawca oferuje wsparcie przy uzyskaniu ulgi IP Box, co może znacząco podnieść wypłatę, jaką ostatecznie dostaniemy na rękę.