← Back to jobs

Senior Software Engineer (Go / Python)

Skills

aristaasyncioawsazureciscoclickhousedockeripv6kafkakuberneteslinuxnatspythonudpvlanzeromqPythonAWSAzureDockerKubernetesKafkaLinux

Description

O roli

Budujemy system do zbierania, dekodowania i analizy telemetrii sieciowej (IPFIX, NetFlow, sFlow) w skali, w której liczy się każda alokacja. Szukamy inżyniera, który czuje się dobrze zarówno na poziomie nagłówków pakietów, jak i w profilerze, i potrafi dowieźć gotowy produkt do infrastruktury klienta.

Czym się zajmiesz

  • Projektowaniem i rozwojem usług w Go (serwery UDP/TCP, szybkie pętle dekodowania) oraz w async Python.
  • Dekodowaniem protokołów flow: IPFIX (RFC 7011), NetFlow v5/v9, sFlow v5, w tym obsługą szablonów, samplingu i luk w sekwencjach.
  • Budową potoków danych: Protocol Buffers → Kafka (lub NSQ/NATS) → ClickHouse.
  • Optymalizacją wydajności: pprof, redukcją presji na GC, zero-copy, testami przepustowości.
  • Automatyzacją urządzeń sieciowych (Cisco, Arista, Juniper, Palo Alto): idempotentny push konfiguracji, wykrywanie driftu.
  • Pakowaniem i dostarczaniem samodzielnych binariów (deb/rpm) z obsługą upgrade’u i rollbacku.
  • Projektowaniem synchronizacji stanu i cache (eventual consistency, resync po długim rozłączeniu, idempotentny replay).

Wymagamy

Programowanie

  • Go: usługi współbieżne, serwery UDP/TCP, profilowanie z pprof.
  • Python asyncio: event loop, taski, anulowanie, backpressure, async HTTP, pule procesów roboczych.

Sieci

  • Praktyczna znajomość L2/L3/L4: VLAN-y, MAC/IP, flagi TCP, MTU/fragmentacja, IPv4 i IPv6.
  • Doświadczenie z protokołami flow (IPFIX, NetFlow, sFlow).
  • Praca z pcap jako podstawowym narzędziem diagnostycznym, przechwytywanie i tworzenie pakietów.

Dane

  • Protocol Buffers: projektowanie schematów, ewolucja, codegen.
  • Kafka: partycjonowanie, acks, batching, kompresja, SASL/Kerberos, diagnozowanie lagu.
  • Doświadczenie z ClickHouse lub podobną bazą kolumnową/szeregów czasowych.

Wydajność

  • Profilowanie jako rutyna, nie reakcja na incydent.
  • Dobór struktur danych (trie LPM/Patricia, LRU, szybkie hashowanie) wraz ze świadomością kompromisów.
  • Generowanie obciążenia i testy ciągłej przepustowości.

Systemy i dostarczanie

  • Linux: sockety, epoll, tuning sysctl pod wysoki ruch pakietowy, cgroups.
  • Docker i Kubernetes: multi-stage buildy, manifesty.
  • Pakowanie deb/rpm, budowanie statycznych binariów.
  • IPC (ZeroMQ lub równoważne).

Jakość

  • Statyczne typowanie (mypy, golangci-lint), formattery, pre-commit.
  • Testy async, snapshot testy dekoderów, testy obciążeniowe w CI.
  • Higiena zależności i CVE, powtarzalne buildy z przypiętymi wersjami.

Mile widziane

  • eBPF.
  • NSQ / NATS.
  • Windows/AD: WinRM, SMB, Kerberos.
  • Azure lub AWS SDK do pobierania zasobów i logów.

Get similar jobs in Poland by email

We'll email you when new jobs similar to this one appear.

Similar jobs

Explore more Software Developer jobs in Poland.

Finding similar jobs…