Splunk Staff Software Engineer in Kraków

Splunk Staff Software Engineer in Kraków

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

W skrócie

  • Zadania: Optymalizuj wydajność oprogramowania i współpracuj nad innowacyjnymi projektami.
  • Firma: Innowacyjna firma technologiczna z kulturą współpracy.
  • Benefity: Konkurencyjne wynagrodzenie, elastyczny czas pracy i możliwości rozwoju zawodowego.
  • Pozostałe informacje: Dynamiczne środowisko z doskonałymi możliwościami rozwoju kariery.
  • Dlaczego ta praca: Pracuj z najnowszymi 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 filtrów kwiatowych, 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.

Twój wpływ

  • Starszy inżynier wydajności doradza zespołom w zakresie planu działania 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 zmierzonego 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żywamy profilowania, wykresów płomieni, analizy kontencji blokad, benchmarków i bramek regresji CI, aby identyfikować i zapobiegać problemom z wydajnością.
  • Instrumentujemy produkcję telemetrią, eBPF i ciągłym profilowaniem, aby mierzyć wydajność w rzeczywistych obciążeniach roboczych.
  • Porównujemy opcje wydajności, kwantyfikujemy koszty i ryzyka oraz przedstawiamy oparte na dowodach rekomendacje partnerom.
  • Wielokrotne przepływy pracy AI skracają analizę wydajności z dni do godzin.
  • Inżynierowie ustalają cele, weryfikują wyniki za pomocą profili i benchmarków oraz dostosowują się, 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 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 telemetrii 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 podejmowanie decyzji technicznych - kwantyfikacja kompromisów, wczesne ujawnianie ryzyk.
  • 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 kierownictwem, na poziomie wpływu z klientami.
  • Znajomość AI zastosowana do szybkości dostarczania - codzienne korzystanie z agentów kodujących AI w pracy produkcyjnej, budowanie agentowych przepływów pracy, które zespół przyjmuje i stosowanie wysokich standardów weryfikacji wyników AI w odniesieniu do profili, benchmarków i telemetrii.
  • Mentorowanie 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 doświadczenia w pokrewnej dziedzinie, 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!
  • Stały strumień nowych rzeczy do nauki. Zawsze rozszerzamy się na nowe obszary, wprowadzając projekty open source i oddając je, oraz eksplorując nowe technologie.
  • Wyjątkowo wszechstronni i oddani koledzy, od inżynierii po zarządzanie produktem i wsparcie klienta.
  • Rozwój kariery poprzez techniczne posiadanie, możliwości przywódcze i coaching.
  • Stabilne środowisko pracy z wyraźnym posiadaniem i mierzalnymi celami.
  • Elastyczny model pracy hybrydowej (zrównoważona praca zdalna i współpraca w biurze).

Splunk jest pracodawcą równych szans. Witamy kandydatów z różnych środowisk i zapewniamy rozsądne udogodnienia w całym procesie rekrutacyjnym. Korzyści obejmują elastyczną pracę hybrydową, możliwości rozwoju i mentorskie oraz współpracujący, wspierający zespół.

Splunk Staff Software Engineer in Kraków – pracodawca: 541 Cisco Systems Poland sp. Z o.o.

Cisco Systems Poland sp. Z o.o. to doskonały pracodawca, który oferuje dynamiczne środowisko pracy w sercu innowacji technologicznych. Pracownicy mogą liczyć na rozwój zawodowy poprzez dostęp do szkoleń oraz możliwości współpracy z ekspertami w dziedzinie komunikacji i chmury. Dodatkowo, firma promuje kulturę otwartości i współpracy, co sprawia, że każdy członek zespołu czuje się doceniony i ma realny wpływ na rozwój projektów.

5

Dane kontaktowe:

Zespół rekrutacyjny 541 Cisco Systems Poland sp. Z o.o.

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

C++
Zarządzanie pamięcią
Profilowanie CPU/pamięci
Analiza flamegraph
Rozwiązywanie problemów z kontencją blokad
Optymalizacja opóźnień w architekturach rozproszonych
Benchmarking