Fonction : Recherche & Développement - Jaipur
Échelle de rémunération : E4 à M2
Rôle : Ingénieur Logiciel AI/ML
Si vous êtes passionné par le développement et la mise en œuvre d'algorithmes AI et ML pour des unités de contrôle automobiles nécessitant beaucoup de R&D, ce rôle axé sur un objectif précis est fait pour vous. En interaction continue avec les équipes matériel, logiciel et tests, vous développerez des modules logiciels garantissant une livraison de qualité dans les délais impartis.
- Focus : Développer et implémenter des algorithmes d'AI et de machine learning sur des systèmes embarqués.
- Développer et implémenter des algorithmes de ML sur des systèmes embarqués pour identifier, suivre et classer des objets.
- Concevoir et optimiser des modèles AI/ML pour leur déploiement sur des plateformes embarquées à ressources limitées, en tenant compte de la mémoire, de la puissance de traitement et de l'efficacité énergétique.
- Participer à l'ensemble du cycle de vie de développement logiciel, de la collecte des exigences et la conception du système à la test, au déploiement et à la maintenance.
- Évaluer et optimiser les algorithmes pour garantir une performance en temps réel efficace et précise des systèmes de vision par ordinateur.
- Effectuer des analyses de performance et des débogages pour identifier et résoudre les problèmes.
- Se tenir au courant des avancées en matière d'AI et de machine learning et proposer des solutions innovantes pour améliorer nos produits.
- Documenter et communiquer efficacement les concepts techniques, les algorithmes et les détails de mise en œuvre aux membres de l'équipe et aux parties prenantes.
- Encadrer les membres juniors de l'équipe en leur fournissant des conseils et une expertise technique pour favoriser leur croissance professionnelle.
- Suivre les processus de versionnage et de libération des logiciels.
- Développer des fichiers de simulation CAN/dbc à partir de la matrice CAN et utiliser les outils Vector CAN (comme CANalyzer, CANoe), ETAS-INCA, etc.
- Effectuer des tests unitaires logiciels et de validation, y compris une maîtrise des tests en boîte noire et en boîte blanche.
- Préparer une documentation concise des fonctions du logiciel ECU et des tests de vérification.
- Effectuer des tests logiciels en utilisant des outils de simulation CAN comme CAPL.
BTech/MTech en informatique, électronique, instrumentation, automobile ou équivalent. Les qualifications avancées sont un atout.
- Conception et développement de logiciels embarqués, y compris Embedded Linux et Embedded C/C++.
- Compréhension solide des techniques de ML, des frameworks de deep learning (TensorFlow, PyTorch) et de la vision par ordinateur.
- Expérience en intégration et optimisation matériel-logiciel pour systèmes embarqués, y compris l'accélération GPU et la mise en œuvre FPGA.
- Maîtrise des plateformes embarquées populaires, telles que les systèmes-sur-puce (SoCs) basés sur ARM et les microcontrôleurs.
- Connaissance des systèmes d'exploitation en temps réel (RTOS) et des méthodologies de développement logiciel pour systèmes embarqués.
- Expérience du modèle de maturité des processus de capacité ASPICE et du processus de développement en V.
- Connaissance des protocoles de communication tels que CAN, Modbus, SPI, LIN et K-LINE.
- Solides compétences en résolution de problèmes et capacité à travailler de manière autonome et en collaboration.
- Expertise en systèmes de configuration de source comme subversion ou git, et outils de gestion des exigences (Doors, Reqtify).
- Expérience de travail sous contraintes multi-projets et temporelles.
- Excellentes compétences en communication et interculturelles.
- Adaptabilité et automotivation.
- Fort sens de l'accomplissement et de la responsabilité.
- Ouverture aux nouvelles approches et grande flexibilité.