Recrutement

Stage - Développement d'une librairie open source de composants et exemples d'automatisme industriel

Stage de 4-6 mois

 

Poste à Grenoble

Embauche en CDI à la clé

Le contexte

Nous sommes une entreprise experte en développement de systèmes critiques, dont la raison d’être est d’amener l’industrie du logiciel vers le zéro défaut.

Dans le cadre du développement de notre nouveau produit IReflexnous avons conçu le langage Reflex, permettant de modéliser des systèmes temps-réels avec un modèle d’abstraction d’un automate industriel (PLC).

Un programme Reflex peut être exécuté indifféremment sur un automate industriel, être entièrement simulé sur ordinateur ou être généré dans un langage impératif.

Quoi ?

Lors de ce stage, vous développerez un ensemble de composants d’automatisme industriel réutilisables, ainsi qu’une compilation d’exemples industriels en langage Reflex.

 


Le but est de démontrer la capacité de réutilisation d’un programme Reflex sur différents automates.

Les composants développés seront entièrement diffusés en opensource (licence MIT) et donc utilisables librement dans l’industrie ou l’enseignement.

 


Ce stage permettra à tout futur automaticien d’acquérir une vision d’ensemble des besoins du métier, découvrir les meilleures pratiques d’ingénierie de l’informatique appliquées à l’automatisme industriel, et de se confronter aux usecases les plus courants de l’industrie.

Objectifs du stage

Notre ordre de priorité:

1. La ou le stagiaire passe un super stage

2. Que cette personne ait envie de poursuivre l’aventure du développement logiciel agile chez Sogilis

3. L’outil est assez mature pour être présenté à la communauté (articles, tutos, screencasts)

Qui ?

Ce stage est un stage de pré-embauche donc on vise le long terme.

Ce qui nous semble essentiel pour que le stage se passe bien :

– Chercher un stage de fin d’études (pour être dispo à l’embauche après, sinon ça marche pas :p)

– Avoir envie d’apprendre

– Avoir envie de travailler en équipe et communiquer

Être autonome dans sa zone de confort mais être capable de solliciter de l’aide face à un blocage

– Être capable d’écrire du code et de la documentation en anglais technique


/!\ En bref : on cherche quelqu’un qui saura faire, pas quelqu’un qui sait déjà faire /!\

Comment ?

Chez Sogilis on aime la technique, mais on sait que ce sont les pratiques qu’on met en place qui font la différence entre un échec et une réussite sur un projet logiciel.
Et comme on veut 
que le stage soit une réussite, on va mettre en place ce qu’on veut faire bien.


Avec un vocabulaire accessible :

– On réalise les fonctionnalités au fur et à mesure par petites étapes

– On fait des tests automatisés pendant le développement pour vérifier que l’outil marche

– On bosse ensemble pour partager la connaissance

– On met en place des outils automatisés pour détecter les problèmes


Avec le vocabulaire qu’on utilise tous les jours :

– On fait du développement Agile itératif/incrémental (un backlog de user stories et Kanban)

– On fait du Behavior Driven Development sur les tests à haut niveau, et des tests unitaires en dessous. On vise le bon compromis entre taux de couverture et maintenabilité des tests (ça risque de tourner autour de 95%)

– On organise du pairing autant que possible, avec le tuteur ou d’autres collègues pour partager la connaissance, pour faire de la revue de code, etc. Un créneau quotidien minimum est mis en place pour t’éviter la frustration d’un blocage.

Continuous testing/continuous integrationOn se fait un planning pour s’organiser. Si on dévie de ce planning, on ajuste le périmètre fonctionnel, pas la qualité.


Notre philosophie de base c’est ça : https://manifesteagile.fr