Ingénieur Logiciel
Sur la mission
Vous contribuerez à la fondation de la prochaine génération de logiciels de simulation et de formation. Au sein d'une institution éducative de la défense, une transition à l'échelle de la défense est en cours pour proposer des formations numériques, y compris des techniques d'e-learning immersives. Pour y parvenir de manière évolutive, une plateforme VR modulaire et interne est développée selon un modèle InnerSource. Les applications VR fonctionnent entièrement de manière autonome sur le SoC mobile des casques VR.
En tant que programmeur C++ / développeur Unreal Engine, vous vous concentrerez sur l'architecture technique, de la fonctionnalité réseau de bas niveau et de la co-localisation inside-out à l'optimisation extrême des performances sur le matériel mobile.
Ce que vous ferez.
- Vous développerez le framework modulaire (via un plugin Unreal Engine) permettant aux développeurs au sein de l'organisation de créer des scénarios de manière autonome. Votre objectif est une architecture logicielle robuste et une optimisation matérielle.
- Architecture de base et C++: Vous concevrez et implémenterez la couche technique inférieure dans Unreal Engine 5, en mettant l'accent sur un code C++ propre et modulaire, complété par des Blueprints.
- Performance et profilage sur appareil: Vous tirerez le meilleur parti de la puissance de calcul limitée des SoC mobiles, en respectant des budgets de trame stricts (90 Hz/fps), en minimisant les appels de tirage, en gérant l'utilisation de la mémoire et en prévenant le throttling thermique via un profilage ciblé.
- Multijoueur local et réplication: Vous concevrez et implémenterez un multijoueur réseau local stable avec une faible latence via Unreal Replication.
- Co-localisation via le suivi Inside-Out: Vous rechercherez, testerez et développerez des solutions de co-localisation (espace partagé) sur des casques autonomes avec suivi inside-out (sans capteurs externes ni stations de base). Vous expérimenterez et implémenterez des méthodes d'alignement telles que les marqueurs ArUco, la vision par ordinateur et les ancres spatiales.
- Multiplateforme via OpenXR: Vous vous assurerez que la base de code reste agnostique au matériel et fonctionne sans problème sur différents types de casques VR autonomes via la norme OpenXR.
- Documentation et normes: Vous rédigerez une documentation technique claire et des directives d'architecture, afin que les équipes de développement internes de l'organisation puissent s'appuyer de manière autonome sur le framework.
- Collaboration directe en petite équipe: Vous travaillerez en étroite collaboration avec des artistes techniques au sein d'une très petite équipe, sous la direction d'un Product Owner.
Ce qu'ils demandent.
- Formation: Au minimum un diplôme HBO (enseignement supérieur professionnel) en génie logiciel, informatique, architecture de jeu ou une étude technique comparable.
- Expérience: Expérience professionnelle avérée de niveau intermédiaire (medior) avec C++ moderne et Unreal Engine 5.
- Optimisation SoC mobile: Connaissance approfondie du profilage et de l'optimisation des performances pour les chipsets mobiles/embarqués (par exemple, architectures Qualcomm Snapdragon XR / runtime Android). L'expérience avec des outils tels qu'Unreal Insights ou RenderDoc est un atout majeur.
- Compétences réseau: Expérience avérée en architecture réseau multijoueur, de préférence via Unreal Replication.
- VR et normes: Expérience en développement VR et avec la norme OpenXR. Connaissance ou fort intérêt pour le suivi spatial, le suivi inside-out et les solutions de co-localisation (par exemple, via des marqueurs ArUco ou des ancres spatiales).
- Qualité du code: Vous écrivez un code clair, modulaire et bien documenté et êtes capable de transmettre clairement les normes techniques.
Comment postuler
Consultez le texte complet de la mission et les informations de candidature des que votre candidature sur mesure est prete.
Commandez une candidature sur mesure pour consulter la mission complete et les informations de candidature.
Plus de contexte, moins d'heures de recherche dispersees.
Vous recevez juste assez de contexte pour evaluer si cette mission est interessante. Le briefing complet, les details client et les prochaines etapes restent disponibles dans l'app.