Senior Developer (Go / Python)
- Salary
- PLN 165–PLN 195/hr
- Hiring from
- Poland
- Work type
- Remote
- Posted
603,995 remote jobs, straight from company career pages
100% free · New jobs every minute
Show job descriptionHide job description
Poszukujemy doświadczonego Senior Developera, który będzie projektować, rozwijać i optymalizować wysokowydajne systemy sieciowe w Go oraz asynchronicznym Pythonie.
Projekt koncentruje się na przetwarzaniu dużych wolumenów ruchu sieciowego i telemetrii, analizie pakietów oraz integracji z infrastrukturą sieciową. Kluczowe znaczenie mają wydajność, skalowalność, niezawodność i odporność na utratę danych.
Szukamy osoby o silnym profilu technicznym, która swobodnie porusza się zarówno w obszarze projektowania architektury, jak i implementacji rozwiązań. To rola dla inżyniera, który samodzielnie podejmuje decyzje techniczne, pracuje blisko kodu i potrafi diagnozować oraz optymalizować złożone systemy działające pod dużym obciążeniem.
Wymagania
Go i asynchroniczny Python
- Bardzo dobra znajomość Go, w tym współbieżności, serwerów TCP/UDP, wydajnego dekodowania i profilowania z użyciem
pprof. - Zaawansowana znajomość asyncio: event loop, tasks, cancellation, backpressure oraz asynchroniczna komunikacja HTTP.
- Doświadczenie z multiprocessingiem i pulami workerów.
Sieci komputerowe i telemetria
- Praktyczna znajomość protokołów L2/L3/L4, Ethernet, VLAN, MAC/IP, flag TCP, MTU i fragmentacji oraz IPv4/IPv6.
- Doświadczenie z IPFIX, NetFlow v5/v9 i sFlow v5, w tym dekodowaniem opartym na szablonach, samplingiem i obsługą utraty danych.
- Umiejętność analizy ruchu z wykorzystaniem PCAP oraz tworzenia pakietów sieciowych.
- Doświadczenie w automatyzacji urządzeń Cisco, Arista, Juniper lub Palo Alto przez SSH/CLI i API, w tym wykrywaniu driftu konfiguracji.
Wydajność i infrastruktura
- Praktyczne doświadczenie z profilowaniem aplikacji, optymalizacją GC, analizą lock contention, zero-copy i doborem struktur danych.
- Znajomość Linuksa na poziomie socketów, epoll, strojenia sysctl i cgroups.
- Doświadczenie z Kafką: partycjonowanie, acks, batching, SASL/Kerberos oraz diagnozowanie consumer lag.
- Znajomość Protocol Buffers oraz baz kolumnowych lub time-series, np. ClickHouse.
- Doświadczenie z Dockerem, Kubernetesem, IPC (np. ZeroMQ) i dystrybucją samodzielnych binariów, w tym pakietów deb/rpm, aktualizacji i rollbacków.
- Rozumienie systemów rozproszonych: eventual consistency, synchronizacja stanu i cache, idempotentny replay oraz resynchronizacja po rozłączeniu.
- Dbałość o jakość i bezpieczeństwo kodu: mypy, golangci-lint, pre-commit, testy asynchroniczne, snapshot tests i testy obciążeniowe w CI.
Obowiązki
- Projektowanie i rozwój wysokowydajnych, współbieżnych usług w Go oraz systemów asynchronicznych w Pythonie.
- Implementacja serwerów TCP/UDP oraz mechanizmów dekodowania i przetwarzania dużych wolumenów pakietów.
- Rozwój systemów zbierających i analizujących telemetrię sieciową, w tym IPFIX, NetFlow i sFlow.
- Analiza ruchu sieciowego, debugowanie z wykorzystaniem plików PCAP oraz praca z nagłówkami i protokołami sieciowymi.
- Profilowanie aplikacji, identyfikacja wąskich gardeł i optymalizacja zużycia CPU oraz pamięci.
- Integracja z urządzeniami sieciowymi i automatyzacja konfiguracji oraz wykrywania zmian w infrastrukturze.
- Rozwój potoków danych opartych na Kafka, Protocol Buffers oraz bazach kolumnowych i time-series.
- Projektowanie mechanizmów synchronizacji stanu, cache, odtwarzania danych i odporności na długotrwałe rozłączenia.
- Przygotowywanie i dostarczanie oprogramowania do środowisk klienta, w tym samodzielnych binariów i pakietów instalacyjnych.
- Dbanie o jakość kodu, testy automatyczne, bezpieczeństwo zależności i niezawodność wdrożeń.
Oferujemy
Stawka do 195 zł/h netto na B2B
Przelew w dogodnej formie
Krótki 14-dniowy termin płatności faktury
Bogaty pakiet usług prywatnej opieki medycznej
Dostęp do platformy kafeteryjnej MyBenefit (umożliwiającej zamawianie kart Multisport, kart przedpłaconych do Ikea, Zalando, Notino i wielu innych)