Splunk Staff Software Engineer in Kraków

Splunk Staff Software Engineer in Kraków

Kraków Pełny etat 123750 - 151250 zł / rok (szac.) Stacjonarnie
C

W skrócie

  • Zadania: Optymalizuj wydajność oprogramowania i współpracuj nad innowacyjnymi projektami.
  • Firma: Dynamiczna firma technologiczna z kulturą współpracy.
  • Benefity: Atrakcyjne wynagrodzenie, benefity zdrowotne, praca zdalna i rozwój zawodowy.
  • Pozostałe informacje: Świetne możliwości rozwoju kariery w dynamicznym środowisku.
  • Dlaczego ta praca: Pracuj z nowoczesnymi technologiami i wpływaj na doświadczenia klientów.
  • Kwalifikacje: Doświadczenie w programowaniu w C++ i umiejętności współpracy w zespole.

Przewidywane wynagrodzenie mieści się w przedziale 123750 - 151250 zł za rok.

Meet The Team

Zespół Performance Optimization and Innovation (PerfOpt) poprawia doświadczenia klientów Splunk poprzez głęboką pracę nad wydajnością oraz ustala długoterminowe standardy wydajności Splunk poprzez wytyczne i projektowanie. Pracujemy tam, gdzie wydajność jest wygrywana lub przegrywana: ścieżki gorące wyszukiwania i indeksowania, efektywność pamięci podręcznej i bloomfilterów, przepustowość transferu S3, zarządzanie obciążeniem I/O oraz równoległość w ścieżce pobierania danych. To rdzeń C++ przesuwający dane w skali petabajtów przez dużą rozproszoną architekturę, a wyniki wpływają na to, co odczuwają klienci - opóźnienie wyszukiwania, przepustowość wprowadzania i koszty infrastruktury. Jesteśmy również centrum ciężkości wydajności organizacji: benchmarking, wzorce projektowe i standardy inżynieryjne, które przyjmują inne zespoły, pochodzą stąd.

Twoje Wpływy

  • Starszy inżynier wydajności doradza zespołom w zakresie mapy drogowej i architektury, rozwiązuje problemy z wydajnością klientów oraz ustala kierunek techniczny w zespołach partnerskich.
  • Prowadzenie prac nad wydajnością od hipotezy przez instrumentację i projektowanie do mierzonego wpływu na klientów, koordynując działania między zespołami w razie potrzeby.
  • Projektowanie komponentów w skali petabajtów dla pamięci, współbieżności, I/O i opóźnienia ogonowego, prowadząc architekturę w kierunku skalowalności i niezawodności.
  • Używanie profilowania, wykresów płomieni, analizy kontencji blokad, benchmarków i bramek regresji CI do identyfikacji i zapobiegania problemom z wydajnością.
  • Instrumentowanie produkcji telemetryką, eBPF i ciągłym profilowaniem w celu pomiaru wydajności w rzeczywistych obciążeniach roboczych.
  • Porównywanie opcji wydajności, kwantyfikacja kosztów i ryzyk oraz przedstawianie rekomendacji opartych na dowodach partnerom.
  • Wykorzystanie wielokrotnego użytku AI do skrócenia analizy wydajności z dni do godzin.
  • Inżynierowie ustalają cele, weryfikują wyniki za pomocą profili i benchmarków oraz dostosowują, gdy dowody są niewystarczające.
  • Planowanie prac nad wydajnością, szacowanie wysiłku i prowadzenie postmortem w celu identyfikacji przyczyn źródłowych i zapobiegania regresjom.
  • Mentorowanie rówieśników i mniej doświadczonych inżynierów w zespole.

Minimalne Kwalifikacje

  • Zaawansowana znajomość C++ w produkcji, w tym zarządzanie pamięcią, alokatory, semantyka przenoszenia, struktury świadome pamięci podręcznej i kompromisy wydajnościowe.
  • Głęboka inżynieria wydajności - doświadczenie produkcyjne w kilku z poniższych: profilowanie CPU/pamięci i analiza wykresów płomieni (perf, eBPF, VTune), w tym profilowanie off-CPU i ciągłe profilowanie.
  • Rozwiązywanie kontencji blokad - gorące mutexy, fałszywe dzielenie, atomiki i porządek pamięci, techniki bezblokadowe i kiedy ich nie używać.
  • Optymalizacja opóźnień w architekturach rozproszonych - opóźnienie ogonowe, kolejkowanie, amplifikacja fan-out, ciśnienie zwrotne, analiza krytycznej ścieżki.
  • Benchmarking - mikro i obciążeniowe benchmarki, solidny projekt testów i analiza statystyczna, walidacja podsystemów detekcji regresji CI.
  • Modelowanie wydajności - modele analityczne lub pojemnościowe, które pomagają przewidywać limity skalowania i walidować zmierzone wyniki.
  • Architektura i projektowanie systemów - projektowanie i poprawa istniejących rozwiązań pod kątem wydajności, skalowalności i operacyjności oraz wyjaśnianie tych projektów krytycznej publiczności.
  • Docker i Kubernetes - charakteryzacja wydajności w środowiskach kontenerowych.
  • Silny Python do narzędzi, zestawów benchmarkowych, potoków telemetrycznych i analizy danych wydajnościowych.
  • Wnętrza wydajności Linuxa - harmonogram, podsystem pamięci, pamięć podręczna stron, systemy plików, I/O blokowe, stos sieciowy.
  • Git i CI (np. GitLab CI) do automatyzacji budowy, testów, benchmarków i wydań.

Przywództwo

  • Udokumentowane osiągnięcia w informowaniu decyzji technicznych - kwantyfikacja kompromisów, wczesne ujawnianie ryzyka.
  • Destylowanie skomplikowanych problemów w porównywalne punkty danych bez utraty niuansu lub ukrywania niepewności.
  • Jasna, zwięzła, wysokosygnałowa komunikacja wśród różnych odbiorców - na poziomie mechanizmu z inżynierami, na poziomie kompromisu z mentorami i rozwijanie inżynierów - coaching młodszych inżynierów w kierunku odpowiedzialności oraz wpływanie na rówieśników poprzez przywództwo techniczne, a nie autorytet.

Doświadczenie

  • Licencjat plus 8 lat pokrewnego doświadczenia, magister plus 6 lat lub doktorat plus 3 lata.

Preferowane Kwalifikacje

  • Doświadczenie z silnikami wyszukiwania lub przechowywania oraz platformami danych w dużej skali.
  • Wnętrza Splunk.
  • Praca na poziomie sprzętu - SIMD, NUMA, zachowanie pamięci podręcznej/TLB, PGO/LTO, optymalizacja kompilatora.
  • Go, Rust lub inny język systemowy obok C++.
  • AWS, Azure lub GCP - charakterystyka przechowywania, sieci i wydajności instancji.
  • Terraform, Puppet lub Ansible do reprodukowalnych środowisk testowych wydajności.

Co Oferujemy

Problemy z wydajnością w skali, jakiej bardzo niewiele firm ma - petabajty danych, prawdziwi klienci i wymierny wpływ z każdej milisekundy, którą usuniesz! Ciągły strumień nowych rzeczy do nauki. Zawsze rozszerzamy się na nowe obszary, wprowadzając projekty open source i oddając je z powrotem oraz eksplorując nowe technologie.

Splunk Staff Software Engineer in Kraków – pracodawca: Cisco

Cisco Kraków to doskonały pracodawca, który oferuje dynamiczne środowisko pracy w sercu innowacji technologicznych. Dzięki elastycznemu modelowi pracy hybrydowej oraz możliwości współpracy z utalentowanymi zespołami w obszarze inżynierii oprogramowania, UX i produktu, pracownicy mają szansę na rozwój zawodowy i osobisty. Dodatkowo, firma promuje kulturę współpracy i otwartości, co sprawia, że każdy członek zespołu czuje się doceniony i ma realny wpływ na rozwój produktów.

C

Dane kontaktowe:

Zespół rekrutacyjny Cisco

Naszym zdaniem te umiejętności pozwolą ci błyszczeć jako Splunk Staff Software Engineer in Kraków

C++
Memory Management
Performance Engineering
CPU Profiling
Flamegraph Analysis
Lock Contention Resolution
Latency Optimization