Ingénieur expert en développement logiciel de Contrôle Commande H/F
Role details
Job location
Tech stack
Job description
Développer et assurer la maîtrise d'œuvre des logiciels (interfaces homme/machine et contrôleurs temps réel) dédiés aux réglages des accélérateurs et des lignes faisceau du laboratoire et de ses projets d'extension.
Activités
- Concevoir et piloter des développements logiciels :
- Appliquer les méthodes Agile Scrum et Cycle en V itératif
- Définir les tâches, analyser les risques et suivre l'avancement
- Imaginer et structurer des architectures logicielles
- Piloter la mise en production de logiciels pendant les périodes d'exploitation des accélérateurs
- Garantir la fiabilité des logiciels mis en production
- Développer des solutions performantes :
- Analyser les besoins des utilisateurs et proposer des solutions adaptées
- Assurer l'évolution et la maintenance des applications
- Apporter un support aux utilisateurs
- Participer à l'amélioration continue du process de développement de l'équipe :
- Optimiser les outils et les processus de développement
- Administrer les bases de données et les dépôts GitLab
- Assurer une veille technologique pour rester à la pointe de l'innovation, Au sein de la Division Opérations et Développements, la personne recrutée sera affectée au sein du Groupe Contrôle-Commande et Automatisme constituée de 21 agents (ingénieurs et techniciens) et placée sous la responsabilité hiérarchique du Chef de groupe. Ce groupe est constitué de deux équipes : L'une en charge des travaux électrotechniques et des automates industriels, l'autre du développement des logiciels de contrôle-commande.
Le poste est soumis à la réalisation d'astreintes à domicile et de sujétions en dehors des heures ouvrables.
Classé Installation Nucléaire de Base (INB), la personne recrutée devra être habilitée à travailler en zone surveillée et contrôlée dans le respect de la réglementation et des procédures applicables en matière de sécurité et de sûreté nucléaire.
Requirements
- Connaissance des langages de programmation : EPICS, ADA, JAVA, Python, JavaScript, C
- Connaissance des bases de données relationnelles : PostgreSQL, mySQL, Ingres
- Connaissance des concepts de programmation « temps réel » : mécanismes de gestion des interruptions, de synchronisation et gestion des priorités des taches, transferts mémoire
- Connaissance des technologies WEB
- Connaissance des technologies de conteneurisation
- Connaissance des principes de traitement du signal et d'un asservissement
- Compréhension des phénomènes physiques mis en jeu dans un accélérateur de particules
- Langue anglaise : A2 à B1 (cadre européen commun de référence pour les langues)
Savoir-faire :
- Maitriser le cycle de vie d'un logiciel et les bonnes pratiques de la qualité logicielle
- Coordonner un développement / Manager un backlog produit
- Travailler quotidiennement : sur une machine Linux, maîtriser le principe de la ligne de commande, avec un outil de gestion de projet/ticket (OpenProject), avec un outil de gestion de version (GITLab)
Savoir-être :
- Sens de l'organisation et autonomie
- Esprit d'équipe
- Sens du service et capacité d'écoute
- Capacité de raisonnement analytique et de conceptualisation
- Capacité à développer une vision stratégique et curiosité intellectuelle