Technical Lead Go
Wymagane:PythonAWSAzureKubernetesAILead
O firmie
Wspólnie z naszym Partnerem Biznesowym, amerykańską firmą z branży technologicznej, poszukujemy doświadczonego/ej specjalisty/ki do realizacji projektów jako Go Tech Lead / Architect. Projekt dotyczy rozwoju rozwiązania do zbierania, dekodowania i przetwarzania telemetrii sieciowej przy bardzo dużej przepustowości.
Zakres obowiązków
- Projektowanie architektury oraz rozwój wysokowydajnych usług w Go i asynchronicznym Pythonie, odbierających i dekodujących telemetrię sieciową (IPFIX, NetFlow, sFlow).
- Dostarczanie zoptymalizowanych potoków danych opartych na Kafce, Protocol Buffers i kolumnowych bazach danych, wraz z regularnym profilowaniem i eliminacją wąskich gardeł.
- Przygotowanie samodzielnych, łatwych we wdrożeniu artefaktów (statyczne binaria, pakiety deb/rpm, obrazy kontenerowe) wraz z procesami aktualizacji i wycofywania zmian (upgrade/rollback).
- Zapewnienie wysokiej jakości dostarczanego kodu: testy jednostkowe, snapshotowe i obciążeniowe w CI, statyczne typowanie, kontrola zależności i podatności.
- Diagnoza i rozwiązywanie problemów sieciowych oraz wydajnościowych w oparciu o analizę plików pcap, profilowanie i strojenie systemu Linux.
- Rozwój mechanizmów automatyzacji urządzeń sieciowych – idempotentne wdrażanie konfiguracji i wykrywanie dryfu konfiguracji.
Wymagania
- Dbałość o jakość: typowanie statyczne, lintery, pre-commit, testy jednostkowe, snapshotowe i obciążeniowe w CI, kontrola CVE, powtarzalne buildy.
- Automatyzacja urządzeń sieciowych (Cisco, Arista, Juniper, Palo Alto) przez SSH/CLI i API, w tym wykrywanie dryfu konfiguracji.
- Bardzo dobra znajomość Go: współbieżność, serwery UDP/TCP, wysokowydajne dekodowanie, profilowanie (pprof).
- Asynchroniczny Python: asyncio (event loop, cancellation, backpressure), async HTTP, pule workerów.
- Doświadczenie jako Tech Lead lub architekt, w tym samodzielne podejmowanie decyzji technicznych.
- Telemetria przepływów: IPFIX, NetFlow v5/v9, sFlow v5 (szablony, próbkowanie, utrata danych).
- Kafka: partycjonowanie, acks, batching, kompresja, SASL/Kerberos, diagnozowanie lagu.
- Optymalizacja wydajności: GC, lock contention, zero-copy, testy przepustowości.
- Znajomość sieci L2–L4: VLAN, MAC/IP, TCP, MTU i fragmentacja, IPv4/IPv6.
- Dobór struktur danych (LPM/Patricia, LRU, szybkie haszowanie).
- Bazy kolumnowe i szeregów czasowych (np. ClickHouse).
- Protocol Buffers oraz wydajne kodeki JSON i binarne.
- Analiza pakietów i plików pcap.
- Wzorce IPC (np. ZeroMQ).
Must have: Go, Python, Kafka, JSON, Asyncio, Kubernetes, Linux, Mypy, Golangci-lint, Pre-commit, ClickHouse, Epoll, Cgroups, Sysctl, VLAN
Nice to have: Nsq, AWS, Azure, Kerberos, Windows, Active Directory