Point your AI agent at freehire and let it find you a job.

Get the CLI →

jellylabs

NewBe an early applicant

Senior Software Engineer (Go / Python)

Posted Updated 2 views
Discussion

Summary

Senior engineer building a high-scale network telemetry system that collects and decodes IPFIX/NetFlow/sFlow flow data, pipelines it via Protocol Buffers, Kafka and ClickHouse, and ships it as packaged binaries to customer infrastructure. Core stack: Go (UDP/TCP servers), async Python, Linux performance tuning.

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.

Skills

What Senior Software Engineering jobs ask for — and how much of it you have →
Apply

See also

Software Engineering jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.