Senior Python Developer
Machine Learning

Ciekawostki i wyzwania

Infrastruktura, którą projektujemy jest najprawdopodobniej jedną z najbardziej rozwiniętych technologicznie w naszym rejonie. Budujemy platformę do zarządzania danymi (DMP), w której tylko jedno ze źródeł danych zawiera ponad 400 GB danych skompresowanych w formacie parquet na godzinę. Zgodnie z założeniem, platforma jest w stanie przetwarzać dane pochodzące z różnych źródeł oraz wykonywać predykcje dla różnych zdarzeń.
Modele, które przygotowujemy, poddawane są procesowi optymalizacji wielokryterialnej, która jest w stanie wyłonić odpowiednie podejście do dalszego ich rozwijania. Stojące przed nami wyzwania sprawiają, że na co dzień mamy styczność z niesamowitymi zagadnieniami, jak:

  • Klasyfikacja, klasteryzacja, enkodowanie danych wejściowych
  • Porównanie uczenia nadzorowanego i nienadzorowanego w modelach ML
  • Wybór wejść dla algorytmów predykcyjnych
  • Projektowanie automatycznych samooptymalizujących algorytmów dla detekcji różnych wzorców
  • Optymalizacja algorytmów pod kątem skali oraz określenie ewentualnych wymogów segmentacji danych
  • Przetwarzanie NLP
  • Badanie i implementacja wyodrębniania audiencji (wykrywanie wzorców typu: lookalike i performalike)

Do realizacji powyższych korzystamy z:

  • Sieci neuronowych/Deep Learning
  • Sieci Kohonena/Sieci samoorganizujących SOM
  • Regresji
  • Maszyn wektorów nośnych (SVM)
  • Drzew decyzyjnych
    • na podstawie losowego zestawu danych (Random Forests)
    • Gradient Boosting
  • Modeli grupowych (Ensemble Methods)
  • Algorytmów genetycznych

Jeśli wszystko powyżej brzmi dla Ciebie jak spełnienie marzeń, nie czekaj – odezwij się!

Czekamy na Ciebie, jeżeli:

  • Masz minimum 3 lata doświadczenia w Pythonie lub Javie/Scali
  • Posiadasz umiejętność pisania czystego, czytelnego i wydajnego kodu
  • Miałeś okazję uczestniczyć w rozwoju skalowalnych, rozproszonych aplikacji
  • Radzisz sobie z rozwiązaniami o wysokiej złożoności algorytmicznej
  • Potrafisz testować i wiesz, jak optymalizować testy (my bazujemy na py.test)
  • Znasz narzędzia do automatyzacji deploymentu i zarządzania infrastrukturą
  • Odnajdujesz się na Linuxie (najlepiej bazującym na rodzinie Debian)
  • Swobodnie poruszasz się w Gitcie
  • Lubisz pracować z ludźmi
  • Jesteś otwarty na poznawanie nowych technologii i nie chcesz ograniczać się tylko do wybranej dziedziny wiedzy czy języka programowania

Będzie super, jeśli dodatkowo:

  • Kojarzysz rozwiązania cloudowe i masz pojęcie, jak zarządzać infrastrukturą rozproszoną (u nas króluje AWS)
  • Masz doświadczenie z obliczeniami rozproszonymi (np. bazującymi na Apache Spark)
  • Pracowałeś przy implementacji produkcyjnych systemów wykorzystujących uczenie maszynowe
  • Znasz MySQL, PostgreSQL lub inny RDBMS (za AWS Redshift leci do Ciebie plus)
  • Masz doświadczenie z NoSQL

Możemy obiecać:

  • Elastyczne formy współpracy
  • Wynagrodzenie na poziomie 8000 – 11000 zł netto na fakturze (przy współpracy w oparciu o kontrakt B2B)
  • Pakiet narzędzi rozwojowych, jak: dostęp premium do wiodących serwisów edukacyjnych (np. egghead), biblioteczka firmowa, regularne firmowe eventy z prelekcjami, spotkania grup tematycznych (technologicznych i branżowych)
  • Prywatną opiekę medyczną
  • Kartę Multisport
  • Kartę lunchową
  • Możliwość elastycznego dopasowania godzin pracy
  • Możliwość pracy zdalnej (w części wymiaru)
  • Niezapomniane imprezy i wyjazdy integracyjne
  • Pracę w unikatowej atmosferze (cenimy sobie nieformalne relacje)

Nie zapomnij dołączyć klauzuli: “Wyrażam zgodę na przetwarzanie moich danych osobowych zawartych w ofercie pracy dla potrzeb niezbędnych do realizacji procesu rekrutacji zgodnie z ustawą z dn. 29 sierpnia 1997 r. o ochronie danych osobowych (Dz. Ust. Nr 133 poz. 883).”

Lokalizacja

Wrocław

Wynagrodzenie

8000 - 11000 zł netto na fakturze (B2B)

Wymagamy znajomości

AWS, Cloudformation, Linux, Python

Aplikuj

O zespole

Łukasz Małecki - Python PM

Jak pracujemy?

Znaczna część pracy naszego zespołu koncentruje się na zagadnieniach badawczych w zakresach uczenia maszynowego. Produkt, który przygotowywujemy dla naszego klienta jest innowacyjny i bazuje na najnowszych narzędziach używanych do przetwarzania danych i tworzenia systemów samouczących. W ramach pracy w zespole często sięgamy po programowanie w parach (pair programming), które pozwala nam zapoznać się z podejściem kolegów i koleżanek do określonego tematu, a dodatkowo przekłada się na możliwość znalezienia optymalnego rozwiązania dla napotkanego problemu. Dodatkowo bardzo cenimy możliwość dzielenia się doświadczeniem, rozwijania się i uzyskiwania wiedzy w nowych dziedzinach.

Co sprawia, że jesteśmy wyjątkowi?

Jesteśmy pierwszym zespołem w firmie, który implementuje uczenie maszynowe (Deep Learning) na skalę produkcyjną, co dzieje się dzięki naszemu koledze - specjaliście od Machine Learningu (pierwszemu w całej firmie!), który aktywnie dzieli się swoją wiedzą. Mamy też w składzie człowieka, który po godzinach aktywnie rozwija projekty Mozilli. Stawiamy na aktywną wymianę wiedzy (brainstorming), którą wspiera nasza wielka tablica - to na niej zwykle lądują będące efektem brainstormingu skomplikowane diagramy i widoki architektury. W kluczowych momentach projektu organizujemy zorientowane na dyskusję spotkania architektów, podczas których zasięgamy opinii najbardziej doświadczonych osób z innych zespołów i wspólnie wypracowujemy ważne dla projektu decyzje. Ale przede wszystkim nie boimy się wyzwań i mamy całą masę pozytywnej energii, która nakręca nas do działania i odkrywania najnowszych technologii.

Zapraszamy osoby, które:

  • Cenią dobrą atmosferę w zespole i lubią pracować z innymi
  • Łączą kreatywność i logiczne myślenie przy rozwiązywaniu problemów
  • Czekają na nowe wyzwania i nie obawiają się konfrontacji z nimi
  • Nie boją się komunikacji w języku angielskim

Najczęściej używamy: