San Diego, Kalifornia
Pełny etat

Starszy inżynier oprogramowania Embedded Linux

Brain Corp to firma AI z siedzibą w San Diego w Kalifornii, USA, tworząca transformacyjną podstawową technologię dla branży robotyki. Naszym celem jest tworzenie autonomicznych technologii, które pomagają lepiej funkcjonować w świecie rzeczywistym. Rozwiązania Brain w zakresie robotyki i sztucznej inteligencji pomagają sprzedawcom detalicznym zapewnić, że właściwy produkt znajduje się na właściwej półce w odpowiedniej cenie, w czystym środowisku. Dzięki platformie robotyki BrainOS®, która zasila największą globalną flotę autonomicznych robotów mobilnych (AMR) działających w komercyjnych przestrzeniach publicznych, Brain Corp dostarcza wnikliwe i wydajne zautomatyzowane rozwiązania zarówno w zakresie komercyjnego czyszczenia podłóg, jak i zarządzania zapasami, umożliwiając organizacjom i ich pracownikom osiągnięcie więcej. Brain Corp obsługuje obecnie ponad 30 000 robotów AMR, co stanowi największą tego typu flotę na świecie. Brain Corp jest finansowany przez SoftBank Vision Fund, Clearbridge i Qualcomm Ventures.

Podsumowanie stanowiska:

Jako członek zespołu inżynierii oprogramowania, Senior Staff EmbeddedLinux Software Engineer jest odpowiedzialny za kierowanie rozwojem i integracją komponentów na poziomie systemu w robotach Brain. Inżynier będzie współpracował z różnymi zespołami na różnych poziomach stosu oprogramowania robota, w tym: systemu kamer, integracji czujników, uruchamiania systemu i systemu operacyjnego. Roboty te rozwiązują złożone, rzeczywiste problemy. Jako główny członek naszego działu oprogramowania, Sr Staff Embedded Linux Software Engineer będzie współpracować z naszym światowej klasy zespołem inżynierów i naukowców, aby zbudować platformę dla następnej generacji inteligentnych maszyn. Ich doświadczenie będzie miało kluczowe znaczenie dla realizacji naszej misji: bezpiecznych i niezawodnych robotów w każdym miejscu.

Podstawowe obowiązki zawodowe:

  • Prowadzenie interakcji z dostawcami sprzętu w celu przełożenia potrzeb biznesowych na specyfikacje techniczne.
  • Integracja BSP (w tym obsługa jądra dla czujników) dostarczonego przez dostawców z naszym systemem wbudowanym i praca nad wprowadzeniem oprogramowania na wiele platform.
  • Projektowanie, wdrażanie i testowanie ulepszeń naszego jądra i sterowników urządzeń w celu spełnienia określonych wymagań.
  • Debugowanie problemów związanych z jądrem i dostarczanie terminowych rozwiązań w celu zapewnienia stabilności i wydajności systemu.
  • Dostosuj proces uruchamiania systemów wbudowanych, aby spełnić określone wymagania.
  • Współpraca z inżynierami sprzętu, programistami oprogramowania układowego i zespołami programistycznymi w celu zapewnienia płynnej integracji oprogramowania i komponentów sprzętowych.
  • Przeprowadzanie dokładnych testów i walidacji systemów wbudowanych w celu zapewnienia zgodności ze standardami i specyfikacjami branżowymi.
  • Ulepszenie naszego mechanizmu aktualizacji Over The Air (OTA) w celu bardziej wydajnych zdalnych aktualizacji i flashowania płyt.
  • Identyfikowanie, proponowanie, projektowanie, wdrażanie i wspieranie nowych funkcji, poprawek i funkcjonalności, aby rozwijać zarówno nasze produkty, jak i organizację oprogramowania.
  • Dostarczanie funkcji oprogramowania, które poprawiają bezpieczeństwo, niezawodność i wydajność oprogramowania zasilającego roboty Brain.
  • Zwiększenie zwinności/częstotliwości wydawania oprogramowania przez zespół i organizację poprzez refaktoryzację, uproszczenie i usunięcie kodu.
  • Mentorowanie i kierowanie innymi członkami zespołu.
  • Pomoc w ustalaniu i realizacji technicznej mapy drogowej dla naszych zrobotyzowanych linii produktów.
  • Pomoc w rozwiązywaniu problemów produkcyjnych i problemów klientów oraz opracowywanie długoterminowych rozwiązań poprzez analizę przyczyn źródłowych i analizę danych.
  • Inne przydzielone obowiązki i projekty.

Wymagania dotyczące wykształcenia i/lub doświadczenia zawodowego: 

  • tytuł licencjata lub magistra informatyki, inżynierii oprogramowania lub pokrewnej dziedziny
  • Ponad 12 lat udokumentowanego doświadczenia w rozwoju systemów wbudowanych Linux.
  • Doświadczenie w pisaniu skryptów powłoki dla systemu Linux
  • Doświadczenie w dostosowywaniu rozruchu w systemach wbudowanych
  • Doświadczenie w tworzeniu architektury, projektowaniu, wdrażaniu, testowaniu i debugowaniu złożonego oprogramowania na poziomie systemu.

Wymagana wiedza, umiejętności, zdolności i inne cechy: 

  • Szczegółowa znajomość systemd, udev i innych podsystemów konfiguracji i inicjalizacji używanych w Ubuntu Linux
  • Doświadczenie z pakietami wsparcia dla systemu Linux (BSP) dla układów SoC opartych na architekturze ARM.
  • Doświadczenie w tworzeniu jądra dla procesorów wbudowanych.
  • Doświadczenie z potokami kamer, w tym z dostawcami usług internetowych.
  • Doświadczenie w zabezpieczaniu urządzeń IOT z wbudowanym systemem Linux.
  • Silne umiejętności debugowania w kontekście jądra.
  • Znajomość podstaw systemu operacyjnego: systemy plików, komunikacja międzyprocesowa, sieci komputerowe, wywołania systemowe, zasoby systemowe, bezpieczeństwo itp.
  • Umiejętność przekładania wymagań wysokiego poziomu na oprogramowanie gotowe do produkcji.
  • Umiejętność dostarczania wskazówek technicznych innym członkom zespołu poprzez dostarczanie jasnych definicji architektury i projektów, a także dostarczanie informacji zwrotnych w przeglądach kodu.

Rzeczy, które robią różnicę:

  • Tytuł magistra informatyki lub pokrewnej dziedziny.
  • Doświadczenie w pracy z architekturami Nvidia (np. Jetson).
  • Doświadczenie z czujnikami robotycznymi, takimi jak lidary.
  • Doświadczenie w tworzeniu pakietów Ubuntu debian.
  • Doświadczenie w pisaniu w C++11 (lub nowszym).
  • Doświadczenie w pisaniu aplikacji w języku Python oraz znajomość konstrukcji i wewnętrznych elementów języka Python.
  • Rozległe doświadczenie w projektowaniu pod kątem łatwości testowania, zarówno na poziomie testów jednostkowych, jak i integracyjnych.
  • Doświadczenie w dostarczaniu wysokiej jakości oprogramowania systemowego dla produktu opartego na IOT z wbudowanym systemem Linux.
  • Dobra znajomość robotyki i systemów otaczających.

Wymagania fizyczne:

Opisane tutaj wymagania fizyczne są reprezentatywne dla tych, które muszą być spełnione przez pracownika, aby z powodzeniem wykonywać podstawowe funkcje tego stanowiska. Rozsądne udogodnienia mogą zostać wprowadzone, aby umożliwić osobom niepełnosprawnym wykonywanie podstawowych funkcji. Podstawowe funkcje mogą wymagać utrzymania kondycji fizycznej niezbędnej do siedzenia, chodzenia lub stania przez pewien czas; obsługi komputera i klawiatury; mówienia i słyszenia na normalnym poziomie w pomieszczeniu; używania rąk do palcowania, chwytania i dotykania; powtarzalnych ruchów; ostrości wzroku w celu przygotowania i analizy danych i liczb; przepisywania; przeglądania terminala komputerowego; obszernego czytania; podnoszenia, pchania, przenoszenia lub ciągnięcia do 10 funtów.

Środowisko pracy:

Opisane tutaj cechy środowiska pracy są reprezentatywne dla tych, które pracownik napotyka podczas wykonywania podstawowych funkcji tej pracy. Poziom hałasu w środowisku pracy jest zazwyczaj cichy lub umiarkowany. Pracownik jest narażony na typowe środowisko biurowe z komputerami, drukarkami i telefonami.

Zakres wynagrodzenia:

Przewidywany zakres wynagrodzeń dla kandydatów, którzy będą pracować w San Diego w Kalifornii wynosi od 169 526 USD do 205 215 USD. Ostateczne wynagrodzenie oferowane wybranemu kandydatowi będzie zależało od kilku czynników, które mogą obejmować między innymi rodzaj i długość doświadczenia na danym stanowisku, rodzaj i długość doświadczenia w branży, wykształcenie itp. Brain Corp jest pracodawcą działającym na terenie wielu stanów, w związku z czym podany zakres wynagrodzeń może nie odzwierciedlać stanowisk w innych stanach.

Oprócz wynagrodzenia zasadniczego, nasz konkurencyjny pakiet nagród obejmuje

  • Uznaniowa roczna premia docelowa
  • Opcje na akcje
  • Plan 401(k) z dopasowaniem (bez okresu oczekiwania i natychmiastowe nabycie uprawnień)
  • Kompleksowy pakiet świadczeń ubezpieczeniowych dla pracowników (i ich rodzin) obejmujący różne opcje planu medycznego (w tym HSA ze składką pracodawcy), ubezpieczenie dentystyczne, wzroku, życia i niepełnosprawności, program pomocy pracowniczej (EAP), plany wsparcia prawnego / tożsamości, ubezpieczenie zwierząt domowych.
  • Dostęp do elastycznych kont wydatków (opieka medyczna i opieka nad osobami zależnymi)
  • Hojny płatny czas wolny, w tym elastyczny urlop, płatny urlop chorobowy, czas wolny na wolontariat w społeczności, 10 płatnych świąt firmowych i zimowy przestój firmy

Dodatkowe korzyści obejmują:

  • Codzienny lunch dostępny na miejscu w biurze w San Diego
  • Siłownia na terenie kampusu, w tym basen i korty tenisowe w biurze w San Diego 
  • Możliwości nawiązywania kontaktów ze współpracownikami, w tym comiesięczne wieczory gier, wycieczki, wyzwania wellness i wydarzenia społecznościowe. 
  • Wewnętrzne wydarzenia edukacyjne 
  • Możliwość dzielenia się z firmą własnymi zainteresowaniami i hobby

Dołącz do naszego niesamowitego zespołu!