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 œuvre 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 œuvre 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. ------------------- ENGLISH ------------------- Summary of ResponsibilitiesThe role of Software Development is responsible for fast and high-quality development of full-stack software systems, in the context of integrating innovative geospatial capabilities and real-time data into intuitive mobile and web applications. The Specialist is a key player in the team, ensuring the technology developed and delivered is easy to maintain, secure, reliable, available, resilient, performant, and aligned with safety standards per business requirements.
KEY Responsibilities Developing and maintaining the frontend and backend of applications. Building responsive user interfaces and experiences optimized for different form-factors. Implementing mapping/location capabilities and integrating geospatial data services. Employing test-driven development and DevOps processes like CI/CD and automation. Designing and implementing REST APIs and integrations with internal and external systems. Developing offline capabilities and synchronization with backend databases. Collaborating with stakeholders and Business Analyst to gather requirements and design solutions. Modeling complex networks and assets using graph concepts and algorithms. Evaluating and solutioning of business requirements as part of the team. Estimating implementation (design, development, documentation, testing) efforts related to the requirements. Documentation of the developed software systems and functionalities. Testing, support, and bug fixes. Ensure that the solution designed meets all business requirements. Follow standards and best practices to ensure the systems developed is maintainable, sustainable, and properly documented. Follow standards and best practices to ensure reliability, safety and cybersecurity standards are imbedded in the development of the sub systems. Work with the system designer to adopt and enforce best practices. Work with the team to ensure the system development is fully understood and developed with high quality. Establish test plans and tests results for newly defined solution. Define and maintain engineering and configuration standards. Help with support issues during project migration or deployment, determine appropriate resolution/solution through root cause analysis and impact analysis. Conduct code reviews and ensure high quality coding standards. Experience Minimum 7 years’ experience in web application development. 5+ years of relevant technical expertise including complex detailed design and solution integration. Education Bachelor’s degree in computer science, Computer Engineering, Software Engineering, or a related field of study, or equivalent work experience. DevOps Certification an asset. Skills/Knowledge Ability to estimate efforts and costs required for delivery. Ability to work on multiple projects in parallel and meet deliverable dates. Good technical documentation skills. Excellent verbal and written communication abilities: must effectively communicate with technical and non-technical teams. Participate in teams working in an Agile/Scrum or Waterfall process and ensure the stories/tasks are well defined and have all the information and tools to be successful. Leadership skills and ability to influence and guide others on integration and technical matters. Proven experience delivering technology projects involving multiple parties. Work with the Project Manager and project stakeholders to ensure we meet project commitments. Ability to work in teams and independently on tasks and deliver with a high-level of quality. Ability to learn quickly and to adapt to a fast-paced environment. Fast thinker and always seeking continuous improvement in the delivery. Knowledge of IT security principles. Knowledge of networking and troubleshooting networking issues. Proficient with Angular, JavaScript/TypeScript, HTML, CSS, C#, SQL, REST APIs. Strong knowledge of CI/CD methodologies and tools (Azure DevOps, Jenkins, Gitlab CI, GitHub Actions, etc.). Familiarity with design patterns like MVC, MVP, MVVM and architecture best practices.