Software Engineer (Java/Python + Machine Learning)
Wymagane:PythonJavaAWSDockerKubernetesCloudBackendCI/CDAIE-Commerce
Cześć! Poznaj możliwości współpracy ze Scalo!
W Scalo zajmujemy się dostarczaniem projektów software'owych i wspieraniem naszych partnerów w rozwijaniu ich biznesu. Tworzymy oprogramowanie, które umożliwia ludziom dokonywanie zmian, działanie w szybszym tempie oraz osiąganie lepszych rezultatów. Wykorzystujemy szerokie spektrum usług IT, aby wspierać naszych klientów w realizacji ich celów biznesowych.
Obszary naszej działalności obejmują m.in.:
- doradztwo technologiczne,
- tworzenie oprogramowania,
- systemy wbudowane,
- rozwiązania chmurowe,
- zarządzanie danymi,
- dedykowane zespoły projektowe.
Co oferujemy w ramach współpracy?
- możliwość świadczenia usług w różnorodnych projektach z obszaru Software, Embedded, Data i Cloud Services,
- zaangażowanie w dodatkowe inicjatywy presealsowe oraz eksperckie,
- dostęp do opieki medycznej, karty sportowej oraz platformy kafeteryjnej zgodnie z obowiązującymi zasadami współpracy.
Daily tasks
- udział w projekcie z branży e-commerce,
- projektowanie, rozwój i utrzymanie aplikacji oraz rozwiązań backendowych w języku Java, z wykorzystaniem Pythona w obszarze przetwarzania danych i rozwoju modeli Machine Learning,
- tworzenie wysokiej jakości, czytelnego i wydajnego kodu gotowego do wdrożenia na środowiska produkcyjne,
- rozwijanie i wdrażanie modeli predykcyjnych opartych na uczeniu nadzorowanym, wykorzystywanych w rozwiązaniach biznesowych dla branży e-commerce,
- przygotowywanie, przetwarzanie i analiza dużych zbiorów danych tabelarycznych z wykorzystaniem bibliotek Pandas i NumPy,
- budowanie, trenowanie i optymalizacja modeli regresyjnych, w szczególności z wykorzystaniem algorytmów Gradient Boosting (np. LightGBM) oraz scikit-learn,
- projektowanie i implementacja procesu inżynierii cech (Feature Engineering), w tym przygotowywanie cech na potrzeby modeli predykcyjnych i danych szeregów czasowych,
- projektowanie i przeprowadzanie walidacji modeli z uwzględnieniem specyfiki danych czasowych, dobór odpowiednich metryk oraz ocena jakości i stabilności predykcji,
- porównywanie wyników modeli z rozwiązaniami bazowymi oraz identyfikowanie i eliminowanie problemów związanych z overfittingiem, data leakage i niespójnością przetwarzania danych pomiędzy środowiskiem treningowym a produkcyjnym,
- integracja modeli Machine Learning z aplikacjami backendowymi opartymi na Javie oraz zapewnienie ich prawidłowego działania w środowisku produkcyjnym,
- współpraca przy projektowaniu i rozwijaniu architektury rozwiązań umożliwiających efektywne udostępnianie i wykorzystywanie modeli ML przez aplikacje biznesowe,
- udział w code review, testowaniu, optymalizacji wydajności oraz utrzymaniu rozwijanych rozwiązań,
- współpraca z międzynarodowym zespołem projektowym, analitykami danych i innymi specjalistami technicznymi w celu dostarczania rozwiązań odpowiadających na potrzeby biznesowe.
Requirements
- minimum 4 lata doświadczenia komercyjnego w podobnej roli,
- bardzo dobra znajomość języka Java,
- praktyczna znajomość języka Python,
- doświadczenie w tworzeniu czystego, czytelnego i wydajnego kodu gotowego do wdrożenia na środowiska produkcyjne,
- dobra znajomość zagadnień związanych z Machine Learning, w szczególności uczenia nadzorowanego (Supervised Learning),
- praktyczne doświadczenie w budowaniu modeli predykcyjnych na danych tabelarycznych, w szczególności modeli regresyjnych,
- znajomość algorytmów Gradient Boosting oraz praktyczne doświadczenie w pracy z biblioteką LightGBM,
- doświadczenie w przygotowywaniu, przetwarzaniu i analizie dużych zbiorów danych z wykorzystaniem bibliotek Pandas i NumPy,
- praktyczna znajomość bibliotek scikit-learn i/lub LightGBM w zakresie budowania, trenowania i oceny modeli Machine Learning,
- znajomość zagadnień związanych z Feature Engineering, w tym przygotowywaniem cech dla modeli predykcyjnych,
- umiejętność projektowania walidacji modeli z uwzględnieniem charakterystyki danych czasowych oraz doboru odpowiednich metryk oceny,
- umiejętność porównywania wyników modeli z modelem bazowym oraz identyfikowania problemów takich jak overfitting i data leakage,
- świadomość znaczenia spójności przetwarzania danych i wyliczania cech pomiędzy środowiskiem treningowym a produkcyjnym,
- umiejętność integracji modeli Machine Learning z aplikacjami opartymi na Javie,
- znajomość języka angielskiego na poziomie C1, umożliwiająca swobodną komunikację w międzynarodowym środowisku projektowym.
Mile widziane:
- praktyczna znajomość regresji kwantylowej (Quantile Regression),
- doświadczenie w inżynierii cech dla danych szeregów czasowych (Time Series Feature Engineering),
- znajomość SQL,
- doświadczenie z usługami AWS, w szczególności S3 i Athena,
- znajomość Docker i Kubernetes,
- doświadczenie w pracy z procesami CI/CD,
- znajomość narzędzi monitorujących, w szczególności Prometheus,
- doświadczenie z rozwiązaniami Machine Learning wykorzystywanymi w środowiskach produkcyjnych.
Must have: Java, Python, Machine Learning, LightGBM, scikit-learn, pandas, NumPy, Feature Engineering, Time series
Nice to have: SQL, AWS, AWS S3, Athena, Docker, Kubernetes, CI/CD, Prometheus