
Lumicode Sp. z o.o. (Pentacomp Group) · Warszawa
Senior Go Developer / Tech Lead (k/m)
W skrócie
zdania wybrane z oferty- Projektowanie i rozwijanie wydajnych usług backendowych w Go, obsługujących duże wolumeny danych sieciowych.
- Szukamy doświadczonego developera Go, który poza mocnymi kompetencjami technicznymi potrafi również wyznaczać kierunek rozwoju rozwiązań i wspierać zespół w podejmowaniu decyzji architektonicznych.
- Tworzenie serwerów TCP/UDP oraz mechanizmów dekodowania i przetwarzania danych telemetrycznych.
Technologie
Pełny opis
z justjoin.itKim jesteśmy?
Lumicode Sp. z o.o. jest częścią Grupy Pentacomp, która od blisko 30 lat dostarcza rozwiązania IT i usługi technologiczne dla największych przedsiębiorstw oraz instytucji sektora publicznego.
Realizujemy projekty wspierające cyfrową transformację naszych klientów, łącząc doświadczenie z nowoczesnymi technologiami.
Kogo szukamy?
Szukamy doświadczonego developera Go, który poza mocnymi kompetencjami technicznymi potrafi również wyznaczać kierunek rozwoju rozwiązań i wspierać zespół w podejmowaniu decyzji architektonicznych. Dołączysz do projektu z obszaru zaawansowanego przetwarzania danych sieciowych, telemetrii i komunikacji z urządzeniami sieciowymi. Kluczowe będą wydajność, niezawodność oraz umiejętność projektowania usług obsługujących duże wolumeny danych.
Co oferujemy?
Współpracę w 100% zdalną.
Stawkę do 190 PLN/h
Możliwość skorzystania z prywatnej opieki zdrowotnej oraz dofinansowania do karty sportowej.
Projekt dla klienta, w którym istotne są zarówno zaawansowane kompetencje programistyczne, jak i techniczne przywództwo.
Twój zakres obowiązków
Projektowanie i rozwijanie wydajnych usług backendowych w Go, obsługujących duże wolumeny danych sieciowych.
Tworzenie serwerów TCP/UDP oraz mechanizmów dekodowania i przetwarzania danych telemetrycznych.
Implementowanie parserów protokołów sieciowych,m,in. IPFIX, NetFlow i sFlow, z uwzględnieniem utraty danych, próbkowania i zmian szablonów.
Projektowanie przepływu danych z wykorzystaniem Kafka, formatów binarnych i rozwiązań do przechowywania danych szeregów czasowych.
Analizowanie wydajności aplikacji, profilowanie kodu oraz eliminowanie wąskich gardeł związanych z pamięcią, GC, blokadami i przepustowością.
Projektowanie mechanizmów synchronizacji stanu, obsługi ponownych połączeń i bezpiecznego odtwarzania danych.
Rozwijanie i utrzymywanie rozwiązań działających w środowisku Linux, kontenerach i Kubernetes.
Podejmowanie decyzji technicznych dotyczących architektury, struktur danych i sposobu komunikacji między komponentami.
Wspieranie zespołu w rozwiązywaniu złożonych problemów technicznych oraz dbanie o jakość kodu, testy i standardy wytwarzania oprogramowania.
Wymagane umiejętności
Bardzo dobra znajomość Go i doświadczenie w tworzeniu wydajnych, współbieżnych usług, serwerów TCP/UDP oraz systemów przetwarzających duże wolumeny danych. Przyda Ci się również umiejętność profilowania aplikacji z wykorzystaniem pprof.
Dobra znajomość sieci komputerowych na poziomie L2-L4, w tym TCP/IP, VLAN, adresacji IPv4/IPv6, MTU i fragmentacji pakietów.
Praktyczna znajomość protokołów telemetrii sieciowej: IPFIX, NetFlow v5/v9 lub sFlow v5, w tym dekodowania danych, obsługi szablonów, próbkowania oraz wykrywania utraty danych.
Doświadczenie w analizowaniu ruchu sieciowego i diagnozowaniu problemów z wykorzystaniem przechwyconych pakietów oraz plików pcap.
Umiejętność optymalizacji wydajności aplikacji, analizowania zużycia pamięci i zasobów, identyfikowania wąskich gardeł oraz przeprowadzania testów obciążeniowych.
Doświadczenie w projektowaniu systemów współbieżnych i rozproszonych, w tym mechanizmów synchronizacji stanu, obsługi ponownych połączeń i idempotentnego przetwarzania danych.
Znajomość Linux i zagadnień związanych z wydajnością komunikacji sieciowej, w tym gniazd, epoll i konfiguracji systemu.
Doświadczenie w pracy z Kafka, w szczególności w zakresie producentów i konsumentów, partycjonowania, batchingu, kompresji oraz diagnozowania opóźnień w przetwarzaniu danych.
Znajomość Protocol Buffers, w tym projektowania i rozwijania schematów oraz generowania kodu.
Praktyczna znajomość Docker i Kubernetes w kontekście budowania, wdrażania i utrzymywania usług.
Dbałość o jakość kodu i niezawodność rozwiązań produkcyjnych, w tym stosowanie testów jednostkowych i obciążeniowych, statycznej analizy kodu, kontroli zależności oraz dobrych praktyk bezpieczeństwa.
Kompetencje technicznego lidera: samodzielność w podejmowaniu decyzji, projektowaniu rozwiązań, uzasadnianiu kompromisów technicznych oraz wspieraniu innych developerów.
Mile widziane
Znajomość Python i programowania asynchronicznego z wykorzystaniem asyncio.
Doświadczenie z eBPF oraz optymalizacją przetwarzania pakietów na poziomie systemu.
Znajomość ClickHouse lub podobnych baz kolumnowych i systemów szeregów czasowych.
Doświadczenie z automatyką konfiguracji urządzeń sieciowych przez SSH, CLI lub API, np. Cisco, Arista, Juniper czy Palo Alto.
Znajomość ZeroMQ, NSQ lub NATS.
Doświadczenie w przygotowywaniu samodzielnych pakietów binarnych dla infrastruktury klienta, w tym aktualizacji i wycofywania wdrożeń.
Znajomość integracji z Azure lub AWS, szczególnie w zakresie pobierania danych o zasobach i logach.
Doświadczenie w integracjach z Windows Active Directory, Kerberos, SMB lub WinRM.
Treść ogłoszenia pochodzi z justjoin.it i należy do jego autora.
Historia oferty
bez zmian od publikacji- Opublikowana na justjoin.it