Główny Inżynier Oprogramowania, Planowanie Ruchu Pojazdów Autonomicznych, C++

  • Full Time
Job expired!

Zespół:

Twoje solidne umiejętności tworzenia oprogramowania mogą odegrać kluczową rolę w jednym z naszych kluczowych zespołów robotycznych, planowania ruchu i kontroli. Oprogramowanie, które napiszesz, zostanie bezpośrednio włączone do gotowych do produkcji pojazdów autonomicznych, wpływając na ich decyzje dotyczące jazdy.

Nasze zespoły planowania ruchu otrzymują dane na temat różnych zdarzeń wokół pojazdu (takich jak percepcja, lokalizacja, mapowanie) i precyzyjnie decydują o najlepszym planie i działaniach do podjęcia w czasie rzeczywistym. Przykłady planowania ruchu obejmują tworzenie tras, manewrowanie w ruchu drogowym, hamowanie, przyspieszanie, skręcanie, zmiana pasów, wraz z innymi działaniami, wszystko to z naciskiem na optymalizację bezpieczeństwa i komfortu.

Będziesz mieć okazję rozwijać się w dziedzinie robotyki, a także:

  • Poznawania złożonych systemów końcowych robotyki
  • Badania i implementacji koncepcji planowania ruchu i kontroli w oprogramowaniu produkcyjnym
  • Testowanie kodów do pojazdów autonomicznych w realnym środowisku

Nasi deweloperzy oprogramowania przestrzegają jasnych i skalowalnych kodów, obejmujących:

Rozwiązanie problemów:

  • Duże grupy deweloperów współpracujących nad wspólną bazą kodów, dokumentacją i testowaniem
  • Złożone projekty oprogramowania obejmujące interakcje między wieloma procesami i modułami
  • Wzorce projektowe
  • Implementacja najnowocześniejszych algorytmów robotyki z ograniczonymi zasobami obliczeniowymi w środowiskach czasu rzeczywistego / miękkiego czasu rzeczywistego

Praktyki rozwoju oprogramowania:

  • Testowanie jednostkowe
  • Ciągła integracja / ciągłe wdrażanie (CI/CD)
  • Kontrola wersji
  • Znajomość nowoczesnych funkcji C++
  • Udzielanie i odbieranie recenzji kodów

Języki/narzędzia:

  • C++
  • Python
  • Bazel/Git

Doświadczenie i umiejętności, których szukamy / nasz proces rekrutacyjny oceni:

  • Projektowanie oprogramowania C++, implementacja algorytmów, umiejętności debugowania
  • Doświadczenie w środowisku(ech) rozwoju oprogramowania obejmującym niektóre z wymienionych powyżej aspektów (sekcja: Nasi programiści...)
  • Python ( bonus)
  • Wiedza z dziedziny robotyki / automatyki (opcjonalne)

Edukacja:

  • Stopień licencjata, magistra lub doktora w dziedzinie informatyki, inżynierii komputerowej, inżynierii mechanicznej, robotyki, matematyki stosowanej lub pokrewnej dziedzinie
  • Silne podstawy w strukturach danych informatyki i algorytmach. Znajomość konceptów opartych na wyszukiwaniu grafów i podstaw geometrii.

Podana skala wynagrodzeń dla tej roli jest szacunkiem opartym na różnych czynnikach wynagrodzenia, łącznie, ale nie wyłącznie, na specyficznych umiejętnościach, doświadczeniu, ekspertyzie, lokalizacji stanowiska, certyfikatach, licencjach i wymogach biznesowych. Szacowany zakres wynagrodzeń podany w tej ofercie pracy odzwierciedla tylko podstawowe wynagrodzenie. Ta rola może obejmować również dodatkowe formy wynagrodzenia, takie jak bonusy lub udziały w firmie. Rekruter przypisany do tej roli może podać bardziej specyficzne informacje na temat wynagrodzenia i świadczeń związanych z tą rolą podczas procesu zatrudnienia.

Kandydaci do niektórych stanowisk mają prawo do udziału w programie świadczeń Motional. Świadczenia Motional obejmują, ale nie są ograniczone do: opieki medycznej, stomatologicznej, optycznej, 401k z dopasowaniem firmy, kont oszczędnościowych na ochronę zdrowia, ubezpieczenia na życie, ubezpieczenia dla zwierząt domowych i wiele innych.