IT and R&D

Remote

Backend Python Developer (Stats)

52

current job openings

30+

global offices

1,000+

people on board

Jako backend developer dołączysz do zespołu rozwijającego platformę przetwarzającą ogromne ilości danych źródłowych w kompaktowe agregaty publikowane za pośrednictwem szybkich, nowoczesnych API. Będziesz miał okazję pracować z najnowszym stackiem technologicznym w dojrzałym projekcie o bardzo dużej skali, w którym główny nacisk położony jest na niezawodność i wysoką wydajność tworzonych rozwiązań.

Twoje zadania:

  • Projektowanie i implementacja wydajnych procesów do przetwarzania i agregowania dużych zbiorów danych;
  • Implementacja i utrzymanie rozwiązań do udostępniania przeliczonych statystyk innym systemom i użytkownikom wewnętrznym;
  • Modernizacja i optymalizacja istniejących systemów w odpowiedzi na ciągle zwiększającą się skalę;
  • Zapewnienie niezawodności i skalowalności budowanych rozwiązań;
  • Tworzenie wysokiej jakości kodu adresującego potrzeby biznesowe;
  • Współpraca z innymi zespołami przy budowaniu komponentów rozproszonego systemu;
  • Udział w budowaniu kultury technicznej opartej na dbałości o jakość tworzonych rozwiązań.

Wykorzystywanie narzędzia i technologie:

  • Python (m.in. asyncio, FastAPI, Pydantic, typowanie, lintery);
  • Google Cloud (m.in. BigQuery, Cloud SQL for Postgres);
  • PostgreSQL (raw SQL, query builders);
  • Docker, Kubernetes, Argo CD, Argo Workflows;
  • Github;
  • Sentry.

Nasze wymagania:

  • Doświadczenie w programowaniu w języku Python, z wykorzystaniem nowoczesnych mechanizmów, m. in. asyncio, typing;
  • Wiedza w zakresie programowania współbieżnego i asynchronicznego;
  • Bardzo dobra znajomość SQL-owych baz danych (PostgreSQL, mile widziane BigQuery);
  • Umiejętność projektowania i implementacji serwisów (HTTP, REST, mile widziane GraphQL);
  • Znajomość zagadnień architektury systemów z naciskiem na wydajność i skalowalność;
  • Doświadczenie w pracy na dużych zbiorach danych;
  • Poczucie odpowiedzialności za dostarczane rozwiązania;
  • Komunikatywność, umiejętność pracy w zespole.

Przykładowe tematy:

  • Stworzenie joba liczącego agregaty na podstawie surowych danych;
  • Optymalizacja czasu wykonania i kosztów joba liczącego agregaty;
  • Optymalizacja zużycia zasobów instancji PostgreSQL przez dobór parametrów konfiguracyjnych;
  • Zbudowanie serwisu HTTP udostępniającego dane użytkownikom;
  • Projektowanie rozwiązań do efektywnego przechowywania i zarządzania danymi w partycjonowanych tabelach PostgreSQL;
  • Migracja na Capacity Based pricing BigQuery z modelu On Demand;
  • Stworzenie dashboardu do obserwacji wydajności i kosztów utrzymywanych jobów;
  • Migracja tabel z bazy danych on-premise do instancji na Cloud SQL;
  • Stworzenie mechanizmu śledzenia zmian w tabelach z danymi źródłowymi;
  • Stworzenie asynchronicznego klienta do BigQuery;
  • Migracja serwisu z Flask na FastAPI;
  • Optymalizacja zapytań do BigQuery poprzez użycie partycjonowanych tabel lub zmaterializowanych widoków.

W zamian oferujemy:

  • Przyjazną atmosferę współpracy z jasno określonymi zadaniami, w zorganizowanym zespole profesjonalistów;
  • Wyjątkowo elastyczne warunki współpracy;
  • Dostęp do najnowocześniejszych technologii i możliwość realnego wykorzystywania ich w projekcie o dużej skali i wysokiej dynamice.