Le rôle de développement logiciel consiste à assurer un développement rapide et de haute qualité de systèmes logiciels full-stack, intégrant des capacités géospatiales innovantes et des données en temps réel dans des applications mobiles et web intuitives. Le spécialiste joue un rôle clé au sein de l'équipe, veillant à ce que la technologie développée et livrée soit facile à maintenir, sécurisée, fiable, disponible, résiliente, performante et conforme aux normes de sécurité en fonction des exigences métiers.
PRINCIPALES RESPONSABILITÉS
- Développer et maintenir le frontend et le backend des applications.
- Créer des interfaces utilisateur réactives et des expériences optimisées pour différents formats.
- Mettre en oeuvre des fonctionnalités de cartographie/localisation et intégrer des services de données géospatiales.
- Utiliser le développement piloté par les tests (TDD) et des processus DevOps comme CI/CD et l'automatisation.
- Concevoir et mettre en oeuvre des API REST et des intégrations avec des systèmes internes et externes.
- Développer des capacités hors ligne et assurer la synchronisation avec des bases de données backend.
- Collaborer avec les parties prenantes et les analystes métiers pour recueillir les exigences et concevoir des solutions.
- Modéliser des réseaux complexes et des actifs en utilisant des concepts de graphes et des algorithmes.
- Évaluer et proposer des solutions adaptées aux exigences métiers en tant que membre de l'équipe.
- Estimer les efforts nécessaires pour l'implémentation (conception, développement, documentation, tests) des exigences.
- Documenter les systèmes logiciels développés et leurs fonctionnalités.
- Effectuer des tests, offrir un support et corriger les bogues.
- Garantir que les solutions conçues répondent à toutes les exigences métiers.
- Respecter les standards et les meilleures pratiques pour garantir que les systèmes développés soient maintenables, durables et correctement documentés.
- Intégrer et respecter les normes de fiabilité, de sécurité et de cybersécurité dans le développement des sous-systèmes.
- Collaborer avec le concepteur du système pour adopter et appliquer les meilleures pratiques.
- Travailler avec l'équipe pour s'assurer que le développement du système est entièrement compris et réalisé avec un haut niveau de qualité.
- Établir des plans de test et documenter les résultats pour les nouvelles solutions définies.
- Définir et maintenir les standards d'ingénierie et de configuration.
- Aider à résoudre les problèmes de support lors des migrations ou des déploiements de projets en déterminant la résolution/la solution appropriée grâce à des analyses des causes profondes et des impacts.
- Effectuer des revues de code et s'assurer du respect des normes de codage de haute qualité. Expérience
- Minimum de 7 ans d'expérience en développement d'applications web.
- Plus de 5 ans d'expertise technique pertinente incluant la conception détaillée complexe et l'intégration de solutions. Formation
- Licence en informatique, en ingénierie informatique, en génie logiciel ou dans un domaine connexe, ou expérience professionnelle équivalente.
- Une certification DevOps est un atout.?
COMPÉTENCES/CONNAISSANCES
- Capacité à estimer les efforts et coûts nécessaires à la livraison.
- Aptitude à travailler sur plusieurs projets en parallèle et respecter les échéances.
- Compétences en documentation technique.
- Excellentes aptitudes en communication orale et écrite : capacité à communiquer efficacement avec des équipes techniques et non techniques.
- Participer à des équipes utilisant un processus Agile/Scrum ou Waterfall et garantir que les récits/tâches soient bien définis avec toutes les informations et outils nécessaires.
- Compétences en leadership et capacité à influencer et guider sur des questions techniques et d'intégration.
- Expérience avérée dans la livraison de projets technologiques impliquant plusieurs parties prenantes.
- Collaborer avec le chef de projet et les parties prenantes pour garantir le respect des engagements du projet.
- Capacité à travailler en équipe et de manière autonome avec un haut niveau de qualité.
- Apprentissage rapide et capacité à s'adapter à un environnement dynamique.
- Esprit vif et axé sur l'amélioration continue de la livraison.
- Connaissance des principes de sécurité informatique.
- Connaissance des réseaux et capacité à résoudre les problèmes liés aux réseaux.
- Maîtrise d'Angular, JavaScript/TypeScript, HTML, CSS, C#, SQL et des API REST.
- Solide compréhension des méthodologies CI/CD et des outils (Azure DevOps, Jenkins, GitLab CI, GitHub Actions, etc.).
- Familiarité avec des modèles de conception tels que MVC, MVP, MVVM, ainsi que les meilleures pratiques architecturales.