San Diego, CA
Temps plein

Ingénieur logiciel senior, simulation

Résumé du poste :

BrainCorp est à la recherche d'un ingénieur logiciel senior, simulation, hautement qualifié et expérimenté pour rejoindre notre équipe. Le candidat retenu sera responsable de la conception et du développement d'un nouvel environnement de simulation adapté aux tests Software-in-the-Loop (SITL) et Hardware-in-the-Loop (HITL) des robots de mobilité autonomes. L'objectif principal de ce rôle est d'améliorer la couverture de l'automatisation des tests et d'aider l'équipe chargée de l'autonomie à tester efficacement les algorithmes de navigation des robots.

En tant que membre essentiel de l'équipe chargée du logiciel de la plate-forme de robots, l'ingénieur logiciel principal, simulation, travaillera avec notre équipe d'ingénieurs et de scientifiques de classe mondiale pour construire une plate-forme destinée à la prochaine génération de machines intelligentes. Son expérience sera déterminante pour faire avancer notre mission : des robots sûrs, sécurisés et fiables partout.

Fonctions essentielles de l'emploi :

  • Concevoir, développer, déployer et maintenir un environnement de simulation de pointe pour les robots à mobilité autonome, adapté aux scénarios d'essai SITL et HITL.
  • Collaborer avec des équipes interfonctionnelles pour définir les exigences en matière de simulation et assurer l'alignement sur les objectifs du projet.
  • Intégrer l'environnement de simulation aux cadres de test existants et aux pipelines d'automatisation afin de rationaliser le processus de test.
  • Intégrer les modèles de capteurs, la dynamique de l'environnement et les comportements des robots dans l'environnement de simulation.
  • Optimiser les performances et l'évolutivité des simulations, en particulier pour le déploiement dans le nuage sur Google Cloud Platform.
  • Travailler en étroite collaboration avec l'équipe chargée de l'autonomie afin de faciliter les tests des algorithmes de navigation des robots dans l'environnement de simulation. 
  • Procéder à des essais approfondis et à la validation de l'environnement de simulation afin d'en garantir l'exactitude et la fiabilité.
  • Restez informé des technologies et méthodologies émergentes dans le domaine du développement de logiciels de simulation, de la robotique et de l'informatique en nuage.
  • Fournir des conseils techniques et un encadrement aux membres juniors de l'équipe, le cas échéant.
  • Autres tâches et projets assignés.

Exigences en matière de formation et/ou d'expérience professionnelle :

  • Licence en informatique, en génie logiciel ou dans un domaine connexe.
  • Expérience confirmée (5+ ans) dans le domaine de l'ingénierie logicielle avec un accent sur la simulation ou la robotique.
  • Expérience avec des cadres de simulation tels que Isaac Sim de Nvidia ou des plateformes similaires.

Connaissances, compétences, aptitudes et autres caractéristiques requises :

  • Maîtrise des langages de programmation tels que Python ou C++, avec un accent particulier sur la conception et le développement orientés objet.
  • Solide compréhension des concepts de simulation, notamment des moteurs physiques, des modèles de capteurs et du rendu graphique 3D.
  • Familiarité avec les plateformes de cloud computing, en particulier Google Cloud Platform (GCP), et les technologies de conteneurisation (par exemple, Docker, Kubernetes).

Les choses qui font la différence :

  • Maîtrise en informatique ou dans un domaine connexe.
  • Expérience des architectures Nvidia (par exemple, Jetson).
  • Expérience des systèmes autonomes, des algorithmes de navigation des robots et des techniques de planification des mouvements.
  • Connaissance des algorithmes d'apprentissage par renforcement, d'apprentissage automatique ou de vision par ordinateur.
  • Expérience préalable des méthodologies de développement Agile et des pipelines d'intégration continue/déploiement continu (CI/CD).
  • Contributions à des projets open-source liés à la simulation, à la robotique ou à l'IA.
  • Expérience des capteurs robotiques tels que les lidars.
  • Vaste expérience de la conception en vue de faciliter les tests, tant au niveau des tests unitaires que des tests d'intégration.
  • Expérience de l'architecture, de la conception, de la mise en œuvre, des essais et du débogage de logiciels complexes au niveau du système. 
  • Excellentes compétences en matière de résolution de problèmes et capacité à travailler efficacement dans un environnement dynamique et collaboratif.
  • Solides compétences en matière de communication et capacité à transmettre des concepts techniques complexes à des publics divers.
  • Bonne connaissance pratique de la robotique et des systèmes environnants.

Exigences physiques :

Les exigences physiques décrites ici sont représentatives de celles auxquelles un employé doit satisfaire pour mener à bien les fonctions essentielles de ce poste. Des aménagements raisonnables peuvent être apportés pour permettre aux personnes handicapées de remplir les fonctions essentielles. Les fonctions essentielles peuvent nécessiter le maintien de la condition physique nécessaire pour s'asseoir, marcher ou se tenir debout pendant des périodes prolongées ; utiliser un ordinateur et un clavier ; parler et entendre à des niveaux ambiants normaux ; utiliser les mains pour toucher, saisir et sentir ; effectuer des mouvements répétitifs ; avoir une bonne acuité visuelle pour préparer et analyser des données et des chiffres ; transcrire ; consulter un terminal d'ordinateur ; lire beaucoup ; soulever, pousser, porter ou tirer jusqu'à 10 kilos.

Environnement de travail :

Les caractéristiques de l'environnement de travail décrites ici sont représentatives de celles qu'un employé rencontre dans l'exercice des fonctions essentielles de ce poste. Le niveau de bruit dans l'environnement de travail est généralement faible à modéré. L'employé est exposé à un environnement de bureau typique avec des ordinateurs, des imprimantes et des téléphones.

Échelle des salaires :

La fourchette de salaire prévue pour les candidats qui travailleront à San Diego, en Californie, est comprise entre 133 565 et 161 684 dollars. Le salaire final offert à un candidat retenu dépendra de plusieurs facteurs qui peuvent inclure, sans s'y limiter, le type et la durée de l'expérience dans le poste, le type et la durée de l'expérience dans l'industrie, l'éducation, etc. Brain Corp est un employeur présent dans plusieurs États et cette fourchette de salaire peut ne pas refléter les postes occupés dans d'autres États.

Outre le salaire de base, notre système de rémunération globale compétitif comprend les éléments suivants

  • Options d'achat d'actions
  • Plan 401(k) avec contrepartie (pas de période d'attente et acquisition immédiate des droits)
  • Ensemble complet de prestations d'assurance pour les employés (et leur famille) comprenant une variété d'options de plans médicaux (y compris un HSA avec contribution de l'employeur), dentaire, vision, assurance vie et invalidité, programme d'aide aux employés (EAP), plans de soutien juridique/identité, assurance pour animaux de compagnie.
  • Accès aux comptes de dépenses flexibles (soins médicaux et soins aux personnes dépendantes)
  • Des congés payés généreux, y compris des vacances flexibles, des congés de maladie payés, des congés pour le bénévolat dans la communauté, 10 jours fériés payés et une fermeture hivernale de l'entreprise.

Les avantages supplémentaires sont les suivants

  • Déjeuner quotidien sur place au bureau de San Diego 
  • Salle de sport sur le campus avec piscine et courts de tennis dans le bureau de San Diego 
  • Occasions de nouer des liens avec des collègues, notamment lors de soirées jeux mensuelles, de randonnées, de défis bien-être et d'événements communautaires. 
  • Événements internes de formation continue 
  • Possibilités de partager vos propres intérêts et hobbies avec l'entreprise

Notre engagement en faveur de l'inclusion

Chez Brain, notre engagement en faveur de l'inclusion, de la diversité et de l'égalité est essentiel pour construire un monde meilleur pour tous. Nous comprenons que notre mission, qui consiste à améliorer l'intelligence et l'utilité des robots, ne concerne pas seulement la technologie elle-même, mais aussi l'amélioration de la vie des gens dans le monde entier. En favorisant la diversité de notre main-d'œuvre, nous nous assurons que notre technologie est intuitive et accessible à tous, ce qui nous permet de répondre aux besoins uniques de notre communauté mondiale. Cet engagement en faveur de la diversité alimente notre innovation et nous permet de créer des produits que nos clients apprécient et aiment vraiment.

Rejoignez notre équipe !