Accuray

Ingénieur Logiciel Senior en Contrôle de Mouvement et Robotique

PythonC++
Traduction automatique. Consultez l’original.

Description du poste

Donnez de l'espoir. Donnez la santé. Laissez votre marque dans la lutte contre le cancer.

Chez Accuray, nous avons un impact direct et puissant sur la vie des patients atteints de cancer chaque jour – en les aidant à vivre plus longtemps et mieux. Mais notre engagement envers l'innovation offre une opportunité vraiment unique : la chance de changer la lutte contre le cancer – en aidant à développer, introduire et soutenir de nouveaux systèmes de délivrance de traitement et logiciels qui donneront un nouvel espoir et une nouvelle santé aux patients atteints de cancer et aux survivants du cancer dans le monde entier.

Accuray développe, fabrique et vend des systèmes de radiothérapie pour des traitements alternatifs du cancer. Notre radiothérapie pour le cancer rend le traitement plus court, plus sûr, personnalisé et plus efficace, permettant finalement aux patients de vivre plus longtemps et mieux.

Résumé

L'Ingénieur Logiciel en Contrôle de Mouvement et Robotique est responsable de la recherche, de la planification, de la conception, de l'implémentation et de la vérification des logiciels qui contrôlent des mécanismes de mouvement électromécaniques et robotiques critiques contribuant à la fonction et à la performance des produits de radiothérapie de Accuray. Il s'agit d'un rôle de contrôle de mouvement axé sur le logiciel pour les candidats ayant une expérience démontrée dans le développement de logiciels qui s'interfacent avec du matériel physique. Le rôle aide également à définir l'architecture de haut niveau et l'implémentation matérielle détaillée de ces dispositifs de mouvement, en tirant parti d'un ensemble de compétences transversales en génie logiciel, mécanique, électrique et systèmes pour résoudre des problèmes d'ingénierie complexes.

Tâches et responsabilités essentielles

DÉVELOPPEMENT DE PRODUITS

  1. Développement de logiciels orientés objet et intégration matérielle pratique pour les systèmes de contrôle de Accuray, y compris les manipulateurs robotiques, les systèmes de positionnement de précision, les systèmes de contrôle thermique et pneumatique. Des rapports d'analyse détaillés (revues de conception, modèles de systèmes de contrôle, DFMEA, etc.), le débogage, les cycles de fiabilité, l'intégration système et les tests logiciels/matériels formels sont des composantes clés des activités de développement.
  1. Recherche, analyse, planification et implémentation de la conception du système de contrôle conformément aux exigences du produit telles qu'établies à partir de diverses sources, y compris les documents de spécifications marketing, de fabrication, de fiabilité et clients. Pilote la distillation des exigences au niveau du système en exigences au niveau du sous-système et du composant.
  1. Développe et exécute des plans de test complets, y compris des tests manuels, automatisés, unitaires, d'intégration et au niveau du système, pour vérifier rigoureusement les logiciels et matériels développés par rapport aux exigences et spécifications définies.
  1. Résolution de problèmes pratique et basée sur les données – travaillant couramment directement avec le matériel de mouvement pour faire avancer les efforts de développement. Aide à la construction de prototypes matériels et au dépannage si nécessaire.
  1. Documente, implémente et teste les exigences de conception applicables pour la production. Cela inclut le support du transfert des documents de sortie de conception pertinents, les instructions d'assemblage et de test recommandées, et le support de dépannage de service.
  1. Collabore étroitement et fréquemment avec les équipes d'ingénierie logicielle embarquée, d'ingénierie mécanique, d'ingénierie électrique, d'ingénierie des systèmes et de test tout au long du cycle de vie du développement logiciel et du développement de produits.
  1. Fournit une expertise technique et des conseils pour les escalades du service terrain vers l'ingénierie.
  1. Soutient le responsable des systèmes mécaniques dans l'établissement ou la mise à jour des livrables de projet et de département.

LEADERSHIP

  1. Fournit un leadership technique, montre l'exemple et encadre d'autres employés au sein des équipes de projet et du développement de produits.
  1. Peut servir d'ingénieur principal sur des projets et coordonner le travail d'autres ingénieurs, techniciens ou contributeurs.
  1. Assure que les processus de qualité sont suivis sur les projets et au sein du groupe des systèmes mécaniques.
  1. Contribue au développement ou à l'amélioration des processus.

SÉCURITÉ ET QUALITÉ

  1. S'assure que les considérations et exigences de sécurité et de qualité sont abordées et mises en œuvre de manière proactive dans la conception du produit.
  1. Traite et gère en temps opportun les problèmes de sécurité et de qualité soulevés par les clients ou le personnel.
  1. Soutient le système qualité et le programme de sécurité et de santé de Accuray en suivant les procédures et en encadrant les autres.

Qualifications

a. Requises

  1. Formation : Diplôme de licence en informatique, génie logiciel, génie robotique, mécatronique, physique appliquée, génie mécanique, ou un domaine technique étroitement lié, avec des cours ou de l'expérience en développement logiciel pour systèmes physiques.
  1. Expérience professionnelle en logiciel : Minimum de 4 années d'expérience professionnelle en développement logiciel travaillant directement avec des systèmes électromécaniques, robotiques ou de contrôle de mouvement. Les candidats doivent avoir mené des logiciels d'un prototype fonctionnel ou d'un état de laboratoire à un fonctionnement fiable prêt pour le client, en accordant une attention particulière à la sécurité de la mémoire, à la robustesse, à la maintenabilité, au déploiement, aux mises à jour, à la surveillance et aux diagnostics de débogage sur le terrain. L'expérience doit inclure des environnements pratiques où le logiciel rencontre le matériel, une collaboration étroite avec les ingénieurs mécaniques, électriques et embarqués, et la capacité de vérifier de manière critique le code assisté par IA.
  1. Connaissances d'ingénierie interdisciplinaires : Connaissance pratique des principes de conception en génie mécanique, électrique et logiciel, y compris comment le logiciel s'interface avec les capteurs, les actionneurs, les contrôleurs de moteur et d'autres composants électromécaniques.
  1. Développement de logiciels orientés objet : Maîtrise démontrée de la conception et de l'implémentation de logiciels orientés objet en C++ et/ou Python, y compris la conception de classes, les interfaces/abstractions, la structure de code modulaire, le débogage et les tests unitaires/d'intégration.
  1. Pratiques de développement logiciel : Expérience des pratiques de développement logiciel professionnelles telles que le contrôle de version, la revue de code, le suivi des problèmes, les flux de travail de build/release et les tests automatisés.
  1. Expérience de lancement de produits : Historique de lancements de produits logiciels et de composants électromécaniques associés, livrés à temps et de haute qualité.
  1. Communication : Excellentes compétences en communication verbale et écrite. Capacité à présenter efficacement des concepts techniques à des personnes qui ne sont pas des experts en la matière et à aider si nécessaire.

Pour être éligibles à ce poste, les candidats doivent pouvoir fournir la preuve qu'ils sont autorisés à travailler dans le pays où ils postulent de manière permanente, sans parrainage.

b. Préférées ou souhaitées

  1. Diplôme avancé en informatique, génie logiciel, robotique, génie des commandes, mécatronique, physique appliquée, génie mécanique, ou un domaine technique étroitement lié.
  1. Au moins 8 années d'expérience en conception et développement dans une industrie hautement réglementée et critique pour la sécurité.
  1. Capacité démontrée à tester et vérifier le matériel et les logiciels développés par rapport aux exigences.
  1. Capacité à développer des exigences au niveau du système pour les systèmes de contrôle de mouvement et à intégrer efficacement à la fois les composants individuels dans un système et les sous-systèmes dans un système plus large.
  1. Expérience approfondie de travail avec des systèmes automatisés ou robotiques et leurs composants (contrôleurs de moteur, électronique d'entraînement, capteurs, etc.), y compris le firmware de bas niveau, les interfaces logicielles de niveau intermédiaire/pilotes de périphériques, les APIs, et les middlewares de contrôle robotique.
  1. Expérience dans le développement de logiciels robotiques, de contrôle de mouvement ou embarqués dans des environnements réglementés, critiques pour la sécurité ou à haute fiabilité.
  1. Expérience en programmation de contrôleurs de mouvement numériques, y compris la configuration et l'utilisation des E/S numériques pour les applications de contrôle de mouvement.
  1. Autonome, capable de résoudre des problèmes de manière indépendante, de gérer sa charge de travail et de surmonter les obstacles, en collaborant avec ses pairs et la direction si nécessaire.
  1. Expérience en planification d'infrastructure stratégique, développement de feuilles de route pour atteindre des objectifs à long terme et mise en œuvre réussie de ces plans.
  1. Expérience démontrée dans le développement, la construction, le débogage ou le déploiement de logiciels dans des environnements basés sur Linux.
  1. Exposition aux logiciels de modélisation 3D CAD (SolidWorks de préférence) et aux outils de virtualisation pour les applications robotiques.
  1. Exposition aux systèmes d'exploitation temps réel (RTOS) et aux concepts de calcul parallèle.
  1. Maîtrise de l'algèbre linéaire, des transformations rigides, des référentiels et/ou des logiciels de robotique pour les manipulateurs à chaîne série.
  1. Maîtrise du travail avec des bases de données, y compris l'interrogation, la manipulation de données et la conception de schémas.
  1. Solides connaissances fondamentales en théorie du contrôle combinées à une expérience pratique du développement de stratégies de contrôle basées sur les données.
  1. À l'aise avec l'utilisation d'outils assistés par IA pour améliorer la productivité, accélérer la résolution de problèmes et renforcer les flux de travail de développement logiciel tout en maintenant le jugement d'ingénieur, la discipline de vérification et la propriété du produit final.
  1. Comprend les concepts fondamentaux de machine learning et de l'apprentissage par renforcement, ainsi que leur utilité potentielle pour améliorer les capacités robotiques.
  1. Expérience en qualification et test de fiabilité de produits.

Déclaration EEO

#LI-BB1

Chez Accuray, notre engagement envers des résultats axés sur le patient favorise un environnement de travail inclusif et collaboratif où les meilleures idées émergent – et où chacun travaille à les faire progresser. Nous valorisons la diversité des parcours professionnels et personnels de nos employés, car cette variété apporte une énergie riche à chaque équipe, chaque projet et chaque journée de travail. Tous les candidats qualifiés recevront une considération pour l'emploi sans distinction de race, de couleur, de religion, de sexe, d'orientation sexuelle, d'identité de genre ou d'origine nationale – y compris les personnes handicapées et les vétérans.

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