Waymo

Ingénieur Logiciel Senior, Automobile Android

PythonC++
Traduction automatique. Consultez l’original.

À propos du poste

Waymo est une entreprise de technologie de conduite autonome dont la mission est d'être le conducteur le plus fiable au monde. Depuis ses débuts en tant que projet de voiture autonome de Google en 2009, Waymo s'est concentrée sur la création du conducteur Waymo — le conducteur le plus expérimenté au monde™ — pour améliorer l'accès à la mobilité tout en sauvant des milliers de vies perdues dans des accidents de la route.

Le conducteur Waymo alimente le service de covoiturage entièrement autonome de Waymo et peut également être appliqué à une gamme de plateformes de véhicules et de cas d'utilisation de produits.

Le conducteur Waymo a effectué plus de dix millions de trajets réservés uniquement aux passagers, grâce à son expérience de conduite autonome sur plus de 100 millions de kilomètres sur des routes publiques et des dizaines de milliards en simulation dans plus de 15 États américains.

L'infrastructure embarquée de Waymo est responsable du logiciel de bas niveau et de l'infrastructure sur divers composants du système de conduite autonome de Waymo.

La portée de l'équipe couvre tout, du logiciel système de bas niveau à l'enregistrement de données à large bande passante, en passant par l'IPC (faible latence et haut débit), l'analyse des performances et le débogage complet du système.

Nous travaillons avec les équipes Matériel, Calcul, Capteurs, Perception, Comportement et Machine Learning pour construire la solution de conduite autonome la plus performante et à faible latence de l'industrie.

Nous recherchons un ingénieur logiciel système Android expérimenté pour rejoindre notre équipe dans le développement de la plateforme d'infodivertissement embarqué (IVI) pour notre système sur puce (SOC) de nouvelle génération, développé en interne. Ce rôle exige une base solide en fondamentaux des systèmes d'exploitation de bas niveau, en logiciels embarqués, et une approche proactive pour valider et garantir que le matériel répond aux exigences critiques de performance logicielle.

Dans ce rôle, vous serez amené à :

  1. Mise en service et intégration système : Implémenter et intégrer des logiciels de bas niveau, y compris la configuration du chargeur de démarrage, les arbres de périphériques et le portage du noyau lors de la phase initiale de mise en service du matériel.
  1. Développement et optimisation du noyau/système d'exploitation : Personnaliser, optimiser et déboguer le noyau Linux et les parties pertinentes du projet open source Android (AOSP) pour le SOC partenaire, en garantissant un fonctionnement robuste et efficace.
  1. Implémentation de la couche d'abstraction matérielle (HAL) : Développer et maintenir des HAL de fournisseur fiables pour interfacer la propriété intellectuelle matérielle interne unique (par exemple, modules de sécurité, unités de gestion de l'alimentation, contrôleurs d'affichage) avec le framework Android.
  1. Ingénierie des performances : Piloter l'optimisation des performances au niveau du système, y compris la réduction du temps de démarrage, l'ajustement de la planification, la gestion thermique et l'efficacité énergétique en fonction de l'architecture spécifique du SOC.
  1. Résolution de l'ambiguïté : Gérer et clarifier de manière proactive les exigences techniques pour les fonctionnalités qui sont encore en cours de définition interne, en documentant et en stabilisant rapidement les interfaces pour l'équipe logicielle élargie.

Prérequis

Au minimum, nous aimerions que vous ayez :

  1. Formation : Diplôme de licence en informatique, en génie informatique, en génie électrique ou dans un domaine technique étroitement lié.
  1. Minimum 3+ années d'expérience professionnelle en développement logiciel, avec un accent sur les systèmes embarqués, le bas niveau Android ou le développement de systèmes d'exploitation.
  1. Expertise approfondie des fondamentaux des systèmes d'exploitation : Solide connaissance pratique du noyau Linux (par exemple, pilotes de périphériques, gestion de la mémoire, IPC, planification) et des concepts des systèmes d'exploitation embarqués.
  1. Expérience dans l'interface avec les équipes matérielles : Capacité avérée à lire les spécifications matérielles (fiches techniques, schémas fonctionnels) et à communiquer efficacement les exigences logicielles, en fournissant des commentaires techniques constructifs sur les choix de conception matérielle.
  1. Maîtrise du C/C++ essentielle, ainsi qu'une expérience des langages de script (Python/Shell) pour les outils et l'automatisation.
  1. Solide compréhension du développement système Android : Expérience pratique de la modification, du débogage et de la construction d'AOSP, y compris une familiarité avec les HAL Android, Treble/VNDK et les outils de débogage système.
  1. Adaptabilité et initiative : Capacité démontrée à prospérer dans un environnement où les spécifications techniques évoluent, nécessitant une résolution proactive des problèmes et la définition de solutions.

Il est préférable que vous ayez :

  1. Expérience directe dans le développement ou l'intégration de systèmes utilisant le système d'exploitation automobile Android ou Android pour des environnements embarqués/IVI.
  1. Expérience des fondamentaux de la sécurité système, en particulier la mise en œuvre ou le débogage de l'amorçage sécurisé et des environnements d'exécution de confiance (TEE).
  1. Expérience des technologies de virtualisation au niveau système (par exemple, KVM, hyperviseurs, séparation sécurisée) pour les plateformes embarquées ou automobiles.

Expérience avec les piles audio (par exemple, ALSA, Audio HAL, Android AudioFlinger) ou les piles visuelles/graphiques (par exemple, SurfaceFlinger, V-sync, pipelines d'affichage).

La fourchette de salaire de base attendue pour ce poste à temps plein dans les différents lieux aux États-Unis est indiquée ci-dessous. Le salaire de départ réel sera basé sur des facteurs liés au poste, y compris le lieu de travail exact, l'expérience, la formation et l'éducation pertinentes, et le niveau de compétence. Votre recruteur pourra vous fournir plus d'informations sur la fourchette salariale spécifique pour le lieu du poste ou, si le poste peut être effectué à distance, sur la fourchette salariale spécifique pour votre lieu préféré, au cours du processus d'embauche.

Les employés de Waymo sont également éligibles à participer au programme discrétionnaire de bonus annuel de Waymo, au plan d'incitation en actions et au généreux programme d'avantages sociaux de l'entreprise, sous réserve des conditions d'éligibilité.

Fourchette de salaire

$204,000—$259,000 USD

Plus d’opportunités avec un seul profil

Vous souhaitez accéder à plus de postes sans répéter tout le processus ? Créez votre profil pour être trouvé par les entreprises utilisant Nort.

Créer mon profil

Ton prochain jobest déjà à ta recherche.

Nort

Plateforme de recrutement inversé pour développeurs

Réseaux sociauxInstagramLinkedInTwitter