Postée il y a 24 heures
Le département Recherche et Sciences étudie les technologies existantes ou nouvelles ayant une forte pertinence pour Dassault Systèmes. Il définit et développe des composants, des prototypes et des expériences qui ont une plus-value importante pour les produits de Dassault Systèmes ou son portefeuille de brevets. Ce département est en relation avec l’ensemble des équipes de R&D des différentes marques de Dassault Systèmes en France et à l’international.
Au cœur de ce département, le service chargé de ses opérations favorise le partage d’informations au sein de celui-ci. Il promeut également l’excellence logicielle pour une diffusion à l’ensemble du département puis à la R&D.
Vos missions
Vous intégrerez ce service pour définir, développer puis expérimenter des outils d'intégration et d’analyse de codes, particulièrement en Python.
Vous serez en même temps en relation avec en grande partie des équipes du département Recherche et Sciences puisque ce sont les fournisseurs de la base de code étudiée, avec les équipes de R&D chargées de l’environnement de développement pour assurer une intégration maximum des travaux puis, enfin, avec différentes équipes de R&D qui voudraient bénéficier de ces travaux.
Sur une base de codes hétérogènes, vous devrez proposer des analyses de celle-ci, des métriques pour pouvoir mettre en place des recommandations ou des actions correctrices. Chaque évolution devra être considérée dans son cycle de vie globale : de la détection à la mise en œuvre en passant par la gestion du changement. Les propositions devront, à la fois, s'intégrer dans les flux internes de développement et correspondre le plus possible à l'état de l'art des recommandations officielles autour de Python.
En particulier, vous devrez étudier les différents outils d’analyse de code (Python) disponibles en interne ou en externe pour les appliquer à cette base de code hétérogène et en détecter des patrons de conception (structures de code semblables répétées à plusieurs endroits de la base de code). Ces outils pourront exploiter des outils d’apprentissage automatique.
Fort de cette étude et de son expérimentation, vous proposerez des processus pour publier des paquets Python et des méthodes permettant la factorisation de ces patrons puis en proposer des mises en œuvre qui pourront être déployées sur l’ensemble de la base de code du département Recherche et Sciences. Ces mises en œuvre devront être reproductibles et automatisables. Elles devront également intégrer le souci rigoureux de l’acceptation de la démarche par l’ensemble des développeurs et développeuses.
Vos qualifications
Etudiant(e) préparant un BAC+5 vous recherchez un contrat d’apprentissage.
Des connaissances autour de la théorie des langages, du transtypage et des compilateurs (modélisation lexicographique et sémantique) seront nécessaires.
Une bonne pratique d'un interpréteur de commandes, maîtrise d'au moins un langage de script sera nécessaire ou à acquérir.
Des bases d'apprentissage automatique, la connaissance d'outils de développement et des pratiques de langages de programmation C++, JavaScript, Python seront des atouts certains.
Compétences essentielles :
Autres compétences pouvant être un atout :
Nous rejoindre c'est aussi
Intégrer une entreprise scientifique au cœur de l’innovation technologique, portée par une forte croissance depuis plus de 40 ans.