Senior Go Developer / Tech Lead

New
L
Lumicode Sp. z o.o.Network data processing
Workplace type: remote; Locations: Warszawa, Al. Jerozolimskie, Warszawa, Country code: PLContractLead
Salary160 - 190 PLN per hour
Apply NowOpens the employer's application page

Job Details

Languages
En C1
Required Skills
DockerKafkaKubernetesGoLinux

Requirements

  • Bardzo dobrze znasz Go i masz doświadczenie w tworzeniu wydajnych, współbieżnych usług, serwerów TCP/UDP i systemów przetwarzających duże wolumeny danych.
  • Potrafisz profilować aplikacje z wykorzystaniem pprof.
  • Znasz sieci komputerowe na poziomie L2-L4, w tym TCP/IP, VLAN, adresację IPv4/IPv6, MTU i fragmentację pakietów.
  • Znasz protokoły IPFIX, NetFlow v5/v9 lub sFlow v5, w tym dekodowanie danych, obsługę szablonów, próbkowanie i wykrywanie utraty danych.
  • Masz doświadczenie w analizie ruchu sieciowego i diagnozowaniu problemów z wykorzystaniem przechwyconych pakietów oraz plików pcap.
  • Potrafisz optymalizować wydajność aplikacji, analizować zużycie pamięci i zasobów, identyfikować wąskie gardła oraz przeprowadzać testy obciążeniowe.
  • Masz 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.
  • Znasz Linux i zagadnienia wydajności komunikacji sieciowej, w tym gniazda, epoll i konfigurację systemu.
  • Masz doświadczenie z Kafka, w szczególności z producentami i konsumentami, partycjonowaniem, batchingiem, kompresją i diagnozowaniem opóźnień.
  • Znasz Protocol Buffers oraz masz praktyczną znajomość Docker i Kubernetes.

Responsibilities

  • Projektuj i rozwijaj wydajne usługi backendowe w Go obsługujące duże wolumeny danych sieciowych.
  • Twórz serwery TCP/UDP oraz mechanizmy dekodowania i przetwarzania danych telemetrycznych.
  • Implementuj parsery protokołów IPFIX, NetFlow i sFlow, uwzględniając utratę danych, próbkowanie i zmiany szablonów.
  • Projektuj przepływy danych z wykorzystaniem Kafka, formatów binarnych i rozwiązań do przechowywania danych szeregów czasowych.
  • Analizuj wydajność aplikacji, profiluj kod i eliminuj wąskie gardła związane z pamięcią, GC, blokadami i przepustowością.
  • Projektuj mechanizmy synchronizacji stanu, obsługi ponownych połączeń i bezpiecznego odtwarzania danych.
  • Rozwijaj i utrzymuj rozwiązania działające w Linux, kontenerach i Kubernetes.
  • Podejmuj decyzje techniczne dotyczące architektury, struktur danych i komunikacji między komponentami.
  • Wspieraj zespół w rozwiązywaniu złożonych problemów technicznych oraz dbaj o jakość kodu, testy i standardy.
View Full Description & ApplyYou'll be redirected to the employer's site
160 - 190 PLN per hour
Apply Now