Descriptions du Besoin :
Le Service des plateformes technologiques nécessite les services d’un conseiller en architecture logicielle afin d’effectuer des travaux de soutien au développement, d’amélioration et des projets liés aux systèmes XP (Développer et maintenir un système) et MX (Connectivité des services ESB
Activités à réaliser :
- Rechercher et participer à l’implantation des solutions aux problèmes de performance;
- Soutenir ou orienter les analystes de réalisation à l’égard de la codification et de la construction des composantes logicielles ou l’utilisation des outils de développement utilisés par les projets;
- Élaborer l’architecture logicielle du projet qui repose sur une architecture dite n-tiers et qui traite, entre autres, de l’accès à de multi sources de données, de la gestion des erreurs, des patrons de collaboration, de la journalisation et des patrons de conception;
- Participer à l’évolution des règles logicielles et des normes de programmation notamment la norme IUG, les scénarios transactionnels et la norme de modélisation de données;
- Participer à l’évolution du cadre de développement notamment en identifiant les contrôles graphiques de base, les composantes communes, les environnements d’essais ainsi que les outils relatifs à l’intégration continue et au développement piloté par les tests;
- Réaliser des tests permettant de valider des nouveautés (preuve de concept);
- Réviser, au besoin, l’architecture logicielle des projets;
- Rechercher et participer à l’implantation des solutions;
- S’assurer de la qualité du code produit, du suivi et du respect des bonnes pratiques de la programmation orientée services;
- S’assurer que les orientations d’architecture logicielle sont cohérentes et appliquées correctement par les équipes de réalisation;
- Assurer le soutien à la réalisation des essais à la mise en production (répondant) et assurer les différents contacts avec les collaborateurs lors de la mise en production;
- Concevoir la distribution logique et physique des composants logiciels.
Biens livrables :
Les biens livrables susceptibles d’être produits par le conseiller en architecture logicielle, ou auquel il pourrait collaborer, sont les livrables TI de la démarche méthodologique établie à par le client :
- TI-01P Tests automatisés (intégration continue, TDD, BDD);
- TI-02P Code commenté;
- TI-10P Cahier d'architecture TI;
- TI-11P Sécurité du système;
- TI-20P Contrat de services AOS;
- TI-30J Plan maître des essais;
- TI-31J Groupe d'essais;
- TI-32J Compte-rendu des essais;
- TI-33J Dossier d'installation des environnements d'essais FIIS et acceptation;
- TI-40P Structure logique des données;
- TI-60J Plan d'implantation;
- TI-61J Plan de livraison de maintenance;
- TI-70P Guide d'opération et d'exploitation;
- TI-80P Chaîne de traitement différé;
- TI-90J Conversion;
- TI-91J Dossier de mise en production;
- Preuves de concepts;
- Tout document sous-jacent aux responsabilités précédentes.
Exigences
- Détenir un diplôme universitaire de premier cycle (baccalauréat) dans le domaine des technologies de l’information (informatique, génie logiciel, génie informatique ou administration option SIO) ou posséder deux années d’expérience pertinentes pour chaque année de scolarité manquante ;
- Posséder huit (8) années d’expérience dans le domaine des technologies de l’information, dont cinq (5) années en architecture logicielle dans un environnement technologique d’envergure similaire à celui du client
- Posséder trois (3) années d’expérience dans au moins un projet de développement, dont l’envergure est de plus de 1000 JP, exigeant la maîtrise d’au moins deux (2) des techniques/progiciels suivants :
- technique de découpage;
- technique de conception de modules communs réutilisables et orientés objets;
- d’un progiciel de gestion de contenus Web comme par exemple :Typo3.
- Posséder deux (2) années d’expérience dans la rédaction de règles fonctionnelles et logicielles pour un cadre de développement ainsi que dans la rédaction de dossiers d’architecture logicielle, de devis fonctionnels et devis d’essais système et inter-systèmes ;
- Posséder une (1) année d’expérience à titre de conseiller en architecture logicielle dans un (1) projet où la maîtrise des concepts de l’architecture orientée services (AOS) est requise;
- Posséder trois (3) années d’expérience dans l’utilisation ou l’application d’au moins dix (10) des outils/concepts suivants :
- concepts d’ingénierie Iogicielle;
- réusinage de code (refactoring);
- automatisation des essais;
- intégration continue;
- livraison continue;
- développement piloté par les tests (TDD);
- développement piloté par le comportement (BDD);
- propriété collective du code;
- revue de code;
- programmation en binôme;
- techniques de simulacres (mocking);
- injection de dépendance;
- SOLID;
- code propre.
- Avoir réalisé deux projets, dont l’envergure de plus de 1000 J-P, dans un environnement utilisant une des démarches méthodologiques de développement agile de type Scrum, Scrumban, Kanban, DAD ou SAFE ;
- Avoir participer à un projet, dont l’envergure est de plus de 200 J-P, utilisant les concepts d'accessibilité web et un outil pour valider la qualité du code comme SonarQube.
- Posséder deux (2) années d’expérience en technologies de l’information à titre de conseiller en architecture logicielle AOS ayant élaboré des architectures mettant en pratique les concepts suivants:
- architecture orientée services (AOS) et microservices (AMS);
- Domain Driven Design (DDD);
- architecture orientée événement (Event-Driven);
- bus d’entreprise (ESB).