Splunk Staff Software Engineer in Kielce

Splunk Staff Software Engineer in Kielce

Kielce Pełny etat 123750 - 151250 zł / rok (szac.) Hybrydowo
C

W skrócie

  • Zadania: Optymalizuj wydajność oprogramowania i współpracuj nad innowacyjnymi projektami.
  • Firma: Cisco - lider w innowacjach technologicznych z kulturą współpracy.
  • Benefity: Elastyczny model pracy, możliwości rozwoju i mentoringu oraz wspierający zespół.
  • Pozostałe informacje: Dynamiczne środowisko z doskonałymi możliwościami rozwoju kariery.
  • Dlaczego ta praca: Pracuj nad problemami wydajności w skali petabajtów i wpływaj na rzeczywistych klientów.
  • Kwalifikacje: Zaawansowana znajomość C++ i doświadczenie w inżynierii wydajności.

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 w dużej rozproszonej architekturze, 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 pracy 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 celu 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 pracy 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 wiedza z zakresu inżynierii 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 poza 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óźnienia 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 - charakterystyka wydajności w środowiskach kontenerowych.
  • Silna znajomość Pythona 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 osiągnięcia w informowaniu decyzji technicznych - kwantyfikowanie kompromisów, ujawnianie ryzyka na wczesnym etapie.
  • 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 rekrutacji. Korzyści obejmują elastyczną pracę hybrydową, możliwości rozwoju i mentorstwa oraz współpracujący, wspierający zespół.

Splunk Staff Software Engineer in Kielce – pracodawca: Cisco Systems, Inc

Cisco Systems, Inc. to doskonały pracodawca, oferujący wyjątkowe możliwości rozwoju zawodowego w dynamicznym środowisku technologicznym. Pracując w zespole zajmującym się systemami rozproszonymi, będziesz miał okazję nie tylko rozwijać swoje umiejętności, ale także wpływać na przyszłość platformy Splunk, wprowadzając innowacyjne rozwiązania w chmurze. Nasza kultura pracy opiera się na współpracy i wsparciu, co sprawia, że każdy pracownik czuje się doceniony i zmotywowany do osiągania wspólnych celów.

C

Dane kontaktowe:

Zespół rekrutacyjny Cisco Systems, Inc

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

C++
Zarządzanie pamięcią
Profilowanie CPU/memory
Analiza flame graph
Rozwiązywanie problemów z kontencją blokad
Optymalizacja latencji w architekturach rozproszonych
Benchmarking