Starszy Inżynier Oprogramowania Systemowego, C++ i CUDA - Przyspieszony Apache Spark

  • Full Time
Job expired!

Poszukujemy inżynierów oprogramowania systemowego do naszego zespołu zajmującego się przyspieszeniem Apache Spark. Jako lider na świecie w dziedzinie przyspieszonego obliczania, tworzymy nową generację ekosystemu przetwarzania danych. Apache Spark to najpopularniejszy silnik przetwarzania danych rozproszonych w data center, używany do szerokiej gamy zadań, w tym przygotowywania danych, generowania cech, raportowania, analizy i nie tylko. Naukowcy od danych spędzają znaczącą część czasu na eksplorowaniu danych i iterowaniu doświadczeń z maszynowym uczeniem się (ML). Każda godzina obliczeń potrzebna do przeglądania zestawów danych, wyodrębniania cech i dopasowywania algorytmów ML utrudnia efektywny przepływ pracy biznesowej.

W NVIDIA jesteśmy pasjonatami podejmowania ambitnych wyzwań znacząco wpływających na rzeczywistość. Aby do nas dołączyć, musisz posiadać silne umiejętności programistyczne, głębokie zrozumienie budowy i pakowania oprogramowania, zwłaszcza w odniesieniu do C++. Będziesz pracować w zespole, który korzysta z otwartoźródłowych bibliotek – RAPIDS libcudf, RMM i cuIO – aby przyspieszyć operacje w Apache Spark Extract, Transform, Load (ETL) i ML.

Twoje obowiązki:

  • Rozwijanie bibliotek CUDA/C++ do użytku przez silniki przetwarzania danych rozproszonych, przyspieszając operacje w Apache Spark
  • Zwiększanie możliwości oprogramowania open-source RAPIDS poprzez techniczne dyskusje i wkład w kod
  • Współpraca z zespołami systemów rozproszonych w celu projektowania rozwiązań dla problemów związanych z przetwarzaniem na dużą skalę
  • Propozycje i sugestie dla zespołów dotyczące decyzji dotyczących infrastruktury, ciągłej integracji i strategii testowania
  • Budowanie, testowanie i optymalizowanie bibliotek CUDA/C++ na różnych platformach
  • Tworzenie automatyzacji i narzędzi, które zwiększą efektywność zespołów rozwijających systemy rozproszone

Podstawowe wymagania:

  • BS, MS, lub PhD z informatyki, inżynierii komputerowej albo pokrewnego kierunku, lub równoważne doświadczenie
  • Minimum 8 lat doświadczenia w rozwijaniu oprogramowania
  • Wyjątkowe umiejętności techniczne w projektowaniu i implementacji systemów rozproszonych wysokiej jakości
  • Świetne zdolności programowania w C++, Java, i/lub Scala
  • Umiejętność pracy z zespołami wielofunkcyjnymi w różnych rejonach
  • Wysoka motywacja i silne umiejętności interpersonalne

Czym będziesz wyróżniać się od innych:

  • Znajomość RAPIDS libcudf, RMM i cuIO
  • Doświadczenie w pisaniu efektywnego oprogramowania rozproszonego na dużą skalę
  • Doświadczenie w tworzeniu jądra systemu operacyjnego
  • Doświadczenie w programowaniu w CUDA na GPU
  • Solidne zrozumienie C++ 17/20

Nasza firma jest powszechnie uważana za jednego z najbardziej atrakcyjnych pracodawców w świecie technologii, zatrudniając niektóre z najbardziej postępowych i ciężko pracujących osób. Jeśli jesteś pełen pasji, kreatywny i zmotywowany, chcielibyśmy, abyś dołączył do naszego zespołu. Oferujemy konkurencyjne wynagrodzenia i hojny pakiet świadczeń, dzięki czemu jesteśmy uważani za jednego z najbardziej atrakcyjnych pracodawców w branży technologicznej. Doświadczamy bezprecedensowego wzrostu, co prowadzi do szybkiego rozszerzania naszych ekskluzywnych zespołów inżynieryjnych. Jeśli jesteś kreatywnym inżynierem z prawdziwą pasją do technologii, chcielibyśmy usłyszeć od ciebie.

Zakres wynagrodzenia zasadniczego dla tego stanowiska to 176 000 - 333 500 USD. Twoje wynagrodzenie zasadnicze będzie ustalone na podstawie twojego miejsca zamieszkania, doświadczenia i wynagrodzenia pracowników na podobnych stanowiskach. Będziesz również uprawniony do udziału w zyskach i świadczeń. NVIDIA przyjmuje aplikacje na bieżąco.