Poszukujemy doświadczonego specjalisty na poziomie Senior lub Software Architect do projektu wymagającego zaawansowanej wiedzy z zakresu programowania w Go i Pythonie, protokołów sieciowych oraz projektowania wysokowydajnych systemów przetwarzania danych.
Poszukujemy osoby, która łączy zaawansowane kompetencje programistyczne z wiedzą z zakresu sieci komputerowych i inżynierii wydajności, potrafi podejmować decyzje architektoniczne oraz projektować niezawodne rozwiązania przystosowane do przetwarzania danych na dużą skalę.
Nasze wymagania
Bardzo dobra znajomość Go oraz asynchronicznego programowania w Pythonie.
Doświadczenie w projektowaniu i optymalizacji wysokowydajnych usług sieciowych oraz systemów przetwarzających duże wolumeny danych.
Zaawansowana znajomość protokołów sieciowych L2/L3/L4, TCP/IP, IPv4/IPv6, VLAN oraz MTU.
Praktyczna znajomość protokołów telemetrycznych NetFlow v5/v9, IPFIX i sFlow.
Doświadczenie w pracy z Apache Kafka, Protocol Buffers oraz bazami kolumnowymi lub szeregów czasowych, np. ClickHouse.
Umiejętność profilowania i optymalizacji wydajności aplikacji, w tym zarządzania pamięcią, wykorzystania CPU i przepustowości.
Znajomość wewnętrznych mechanizmów systemu Linux, konteneryzacji oraz Kubernetes.
Doświadczenie w automatyzacji testów, testach obciążeniowych i utrzymaniu wysokich standardów jakości kodu.
Umiejętność diagnozowania problemów sieciowych z wykorzystaniem przechwytywania i analizy pakietów.
Mile widziane
Znajomość eBPF, NATS, NSQ lub ZeroMQ.
Doświadczenie w automatyzacji konfiguracji urządzeń sieciowych, m.in. Cisco, Arista, Juniper i Palo Alto.
Znajomość usług chmurowych Azure lub AWS oraz integracji z Windows/Active Directory.
Doświadczenie w projektowaniu systemów rozproszonych, synchronizacji stanu i mechanizmach odzyskiwania połączenia.
Praktyka w przygotowywaniu i wdrażaniu samodzielnych aplikacji w środowiskach infrastruktury klienta.