Lead Go Developer + Python
Naszym klientem jest firma z branży Konsultingowej IT. Branża: Technology & Telecoms Obszar: IT Development Oferujemy
Umowa B2B via Mihcael Page
Praca w 100% zdalna
Daily tasks
- Projektowanie i rozwój wysokowydajnych usług backendowych w Go i Pythonie.
- Tworzenie aplikacji przetwarzających duże wolumeny danych sieciowych w czasie rzeczywistym.
- Projektowanie architektury systemów rozproszonych oraz mechanizmów synchronizacji stanu.
- Analiza i optymalizacja wydajności aplikacji, usług oraz procesów przetwarzania danych.
- Implementacja integracji z systemami przesyłania danych i kolejkowania wiadomości.
- Automatyzacja zarządzania urządzeniami sieciowymi oraz integracja z rozwiązaniami różnych producentów.
- Budowanie i utrzymywanie rozwiązań działających w środowiskach Linux i Kubernetes.
- Współpraca przy projektowaniu procesów CI/CD, testów wydajnościowych oraz standardów jakości kodu.
- Rozwiązywanie złożonych problemów związanych z wydajnością, niezawodnością i skalowalnością systemów.
Requirements
Programowanie
Bardzo dobra znajomość języka Go.
Bardzo dobra znajomość asynchronicznego programowania w Pythonie (asyncio).
Doświadczenie w budowie wielowątkowych i wysokowydajnych aplikacji backendowych.
Znajomość narzędzi do profilowania i optymalizacji aplikacji.
Jakość i dobre praktyki
Doświadczenie ze statyczną analizą kodu oraz narzędziami typu mypy i golangci-lint.
Umiejętność tworzenia testów jednostkowych, integracyjnych i wydajnościowych.
Dbałość o bezpieczeństwo zależności, zarządzanie podatnościami i powtarzalność procesów buildowania.
Sieci komputerowe
Bardzo dobra znajomość protokołów TCP/IP oraz modelu sieciowego L2/L3/L4.
Doświadczenie z IPv4, IPv6, VLAN, MTU, fragmentacją pakietów i analizą ruchu sieciowego.
Znajomość protokołów telemetrycznych takich jak IPFIX, NetFlow i sFlow.
Umiejętność analizy ruchu sieciowego z wykorzystaniem plików PCAP.
Doświadczenie w automatyzacji konfiguracji urządzeń sieciowych Cisco, Juniper, Arista lub Palo Alto.
Przetwarzanie danych
Doświadczenie z Protocol Buffers.
Bardzo dobra znajomość Apache Kafka.
Doświadczenie z bazami danych kolumnowymi lub typu time-series (np. ClickHouse).
Wydajność i skalowalność
Praktyczna znajomość profilowania aplikacji i optymalizacji wykorzystania zasobów.
Doświadczenie w testach obciążeniowych i wysokiej przepustowości.
Umiejętność doboru odpowiednich struktur danych oraz oceny kompromisów projektowych.
Systemy i infrastruktura
Bardzo dobra znajomość systemu Linux.
Doświadczenie z kontenerami Docker i środowiskiem Kubernetes.
Znajomość zagadnień związanych z budowaniem, wdrażaniem i utrzymaniem aplikacji w środowiskach produkcyjnych.
Doświadczenie z komunikacją międzyprocesową (IPC), np. ZeroMQ.
Język angielski na poziomie umożliwiającym swobodną komunikację
Must have: Go, Golang, Python, TCP, L2, VLAN, Cisco, Protocol Buffers, Apache Kafka, Linux, Docker, Kubernetes