Brain Corp est une entreprise d'IA basée à San Diego, en Californie, aux États-Unis, qui crée une technologie de base transformatrice pour l'industrie de la robotique. Notre objectif est de créer une technologie autonome qui aide le monde réel à mieux fonctionner. Les solutions robotiques et d'IA de Brain aident les détaillants à s'assurer que le bon produit se trouve sur le bon rayon, au bon prix, dans un environnement propre. Grâce à la plateforme robotique BrainOS®, qui alimente la plus grande flotte mondiale de robots mobiles autonomes (AMR) en service dans les espaces publics commerciaux, Brain Corp propose des solutions automatisées intelligentes et efficaces pour le nettoyage des sols commerciaux et la gestion des stocks, permettant ainsi aux organisations et à leurs employés d'en faire plus. Brain Corp équipe actuellement plus de 30 000 AMR, ce qui représente la plus grande flotte de ce type au monde. Brain Corp est financée par le SoftBank Vision Fund, Clearbridge et Qualcomm Ventures.
Aperçu du poste :
En tant que membre de l'équipe d'ingénierie des microprogrammes, l'ingénieur principal en logiciels embarqués jouera un rôle clé dans le développement d'applications pour notre plateforme BrainOS. Ce rôle très technique implique un codage pratique en C/C++ embarqué, des tests rigoureux et une collaboration étroite avec le matériel pour développer et déboguer des systèmes robotiques. L'ingénieur principal en logiciels embarqués collaborera également avec des équipes interfonctionnelles, notamment la gestion des produits, l'ingénierie mécanique et électrique et les groupes de logiciels, afin d'assurer une intégration transparente des systèmes.
Fonctions essentielles de l'emploi :
- Concevoir, mettre en œuvre et maintenir des fonctions et des services logiciels intégrés de haute qualité et de haute performance pour les microprocesseurs ARM Cortex-M/R, en faisant preuve d'expertise technique et d'engagement dans la fourniture de solutions robustes.
- Assurer un leadership technique, en mettant en œuvre les meilleures pratiques en matière de développement de logiciels, y compris l'examen du code, les tests, le déploiement et le débogage complexe, afin de garantir des mises en production de haute qualité et d'influencer les améliorations à l'échelle de l'équipe.
- S'approprier les problèmes liés à la production et aux clients, en procédant à un triage minutieux, à une analyse des causes profondes et à une ingénierie fondée sur les données afin de développer des solutions à long terme qui améliorent la fiabilité et les performances.
- S'adapter à l'évolution des défis en collaborant avec plusieurs disciplines et équipes (matériel, micrologiciel, nuage, autonomie) pour construire un système cohérent capable de fonctionner sur plusieurs plates-formes robotiques.
- Collaborer étroitement avec les ingénieurs en matériel, les équipes logicielles et les partenaires externes pour dépanner et résoudre les problèmes au niveau du système ; faire le lien entre les exigences logicielles et matérielles afin de mettre en œuvre des solutions efficaces et d'aligner les besoins logiciels.
- Communiquer efficacement avec les partenaires externes, collecter des données et mener des enquêtes pour développer des fonctionnalités et des améliorations.
- Encourager et faciliter les discussions techniques, en veillant au respect des délais tout en influençant le développement de solutions performantes et évolutives.
- Encadrer et soutenir les ingénieurs débutants, favoriser une culture de l'apprentissage en fournissant des conseils sur les meilleures pratiques, les principes de conception et les normes de codage, avec empathie et adaptabilité.
- Faire preuve d'appropriation et d'adaptabilité en assumant des responsabilités et des projets supplémentaires si nécessaire pour soutenir les objectifs de l'équipe et les priorités de l'entreprise.
Exigences en matière de formation et/ou d'expérience professionnelle :
- Licence ou diplôme d'études supérieures en informatique ou en génie électrique
- 5 à 8 ans d'expérience professionnelle dans le développement de logiciels pour les systèmes embarqués
- 5 à 7 ans de compétences avérées en génie logiciel/codage, notamment en C/C++ et Python 3 dans un environnement de développement Linux.
Connaissances, compétences, aptitudes et autres caractéristiques requises :
- Expérience dans le domaine des véhicules autonomes, de la robotique ou d'un secteur connexe
- Maîtrise des microcontrôleurs ARM Cortex
- Expérience pratique des systèmes d'exploitation en temps réel
- Solides connaissances de l'environnement Linux
- Compréhension approfondie des protocoles périphériques courants des MCU (CAN, I2C, SPI et Ethernet).
- Expertise dans les systèmes embarqués (par exemple, JTAG, GPIO, interruptions, temporisateurs, mémoire).
- Familiarité avec la gestion des versions, la gestion des versions et l'automatisation des tests pour les logiciels embarqués.
- Excellentes compétences techniques, analytiques et de résolution de problèmes
- Excellentes capacités de communication et de collaboration
Les choses qui font la différence :
- Maîtrise en informatique, en génie logiciel ou dans un domaine connexe
- Expérience des concepts de commande de moteur et du fonctionnement de CiA CANOpen 402 FSA
- Maîtrise de l'élaboration de protocoles de communication
- Capacité avérée à exploiter des mesures fondées sur des données pour améliorer la qualité des logiciels.
- Expérience de l'évaluation des risques liés aux changements de logiciels
- Expérience dans le développement de logiciels robotiques ou dans les technologies liées à la robotique
- Compréhension des pipelines CI/CD et des outils associés (par exemple, Jenkins, GitLab CI/CD).
- Expérience des outils Github, Github Actions et JIRA pour le contrôle des sources, le suivi et les tests.
- Familiarité avec les méthodologies et les meilleures pratiques Agile
- Expérience pratique de toutes les phases du cycle de développement des logiciels
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 ; utiliser les mains pour toucher et saisir ; parler et entendre à des niveaux normaux ; avoir une acuité visuelle permettant de déterminer l'exactitude, la propreté et la minutie du travail assigné ou de faire des observations générales sur les installations ou les structures ; pousser ou tirer jusqu'à 20 livres.
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é. Les employés sont exposés à un environnement de bureau typique avec des ordinateurs, des imprimantes et des téléphones.
Salaire :
La fourchette de salaire prévue pour les candidats qui travailleront à San Diego, en Californie, est comprise entre 126 536 et 16 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
- Une prime annuelle discrétionnaire
- 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'assistance 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