Appartenir à Air Canada, c’est appartenir à un symbole canadien, Air Canada récemment élue meilleur transporteur aérien en Amérique du Nord. Faites décoller votre carrière en vous joignant à notre équipe novatrice et diversifiée à l’avant-garde du transport aérien de passagers.
Joignez-vous à Air Canada - une marque canadienne emblématique et le transporteur aérien le mieux classé en Amérique du Nord - alors que nous continuons à faire évoluer nos plateformes numériques afin de soutenir les expériences opérationnelles et client essentielles.
Le responsable du développement est un leader en génie chevronné, qui adopte une approche pratique et prend en charge l’application mobile Air Canada du début à la fin : clients iOS et Android, système dorsal destiné au système frontal (BFF) et services de l’API qui les alimentent, ainsi que les outils de compilation, de déploiement et d’exploitation qui permettent de mettre l’application à la disposition des clients. Ce poste allie un leadership technique (architecture, feuille de route technique, normes d’ingénierie et stratégie de gestion de la dette technique pour la plateforme mobile) à un leadership de mise en œuvre (qualité du code, état de préparation de la version et stabilité de la production) pour l’ensemble des équipes de prestation mobile.
En tant qu’ingénieur le plus expérimenté de l’équipe chargée de l’application mobile, le responsable du développement est à la fois la référence en matière de conception pour la plateforme mobile et le principal responsable de la mise en œuvre, dans le respect des contraintes de l’architecture informatique de l’entreprise d’Air Canada. Ce rôle permet de maintenir la rapidité, la fiabilité, la sécurité et l’accessibilité de l’application dans les moments les plus importants pour les clients, de la réservation à l’enregistrement, en passant par l’embarquement et les irrégularités d’exploitation, tout en veillant à ce que le code base reste efficace, à jour et viable à long terme.
Responsabilités
- Assumer la responsabilité de la vision technique, de l’architecture et de la feuille de route technique à moyen et à long terme de l’application mobile pour les plateformes iOS et Android, ainsi que pour le système dorsal (BFF, API et intégrations), conformément à la stratégie de l’entreprise, de l’architecture de solutions et de produits.
- Décomposer les exigences complexes en tâches techniques claires, anticiper les risques dès le début et guider l’équipe tout au long de la mise en œuvre et de la validation.
- Agir à titre de principale autorité chargée de la mise en œuvre dans le respect des contraintes architecturales approuvées; appliquer et faire respecter les modèles et les normes établis, et transmettre à la direction les décisions de conception qui dépassent les contraintes fixées.
- Assurer la préparation des déploiements en production, notamment en veillant au respect des critères de qualité (tests, vérifications de sécurité, performance), à la mise en place des guides d’exploitation et de la documentation opérationnelle, à la couverture de l’observabilité, ainsi qu’aux plans de restauration et d’atténuation.
- Respecter et faire respecter les normes techniques en matière de codage, de tests, de documentation, de sécurité, d’observabilité et de pratiques responsables en matière d’IA au sein de l’équipe.
- Favoriser des révisions de code de haute qualité par les pairs, y compris pour le code généré par l’IA, en mettant l’accent sur la facilité de maintenance, la performance, la fiabilité et le respect des modèles approuvés.
- Diriger et soutenir la mise en œuvre de fonctionnalités complexes ou à haut risque, en trouvant un équilibre entre les échéances de livraison, la qualité technique et le risque opérationnel.
- Mettre en place une stratégie de tests unitaires, d’automatisation des tests et d’évaluation de la couverture par l’IA afin de garantir le respect constant des critères de qualité et de prévenir les défauts.
- Améliorer l’efficacité des pipelines d’intégration et de déploiement continus, mettre en place l’automatisation de la création de versions et des flux de travail de développement assistés par l’IA afin d’accroître la fréquence des déploiements et la productivité des développeurs.
- Collaborer avec les propriétaires des Produits, les responsables de l’assurance qualité, les concepteurs et les chefs de projet – Mise en œuvre afin de garantir la clarté, la faisabilité, la testabilité et la prise de décision en temps opportun concernant les modifications apportées à la portée du projet.
- Assumer la responsabilité des problèmes liés à la production des équipes spécialisées; coordonner le triage, rétablir le service et communiquer l’état d’avancement et les mesures d’atténuation aux parties prenantes.
- Mener des analyses de la cause fondamentale pour les incidents et les défauts relevant de la responsabilité de l’équipe et mettre en œuvre des mesures correctives et préventives; veiller à ce que les leçons tirées se traduisent par des entrées dans le carnet des produits, qui seront menées à bien.
- Établir et tenir à jour une documentation technique claire, précise et à jour, ainsi qu’une documentation opérationnelle, afin de faciliter la maintenance, l’intégration des nouveaux employés et le soutien opérationnel.
- Surveiller et améliorer les indicateurs de prestation et de qualité, comme les taux de défauts, les délais de traitement des demandes d’achat, la fréquence des déploiements, la fréquence des retours en arrière et les indicateurs de fiabilité; exploiter les données pour mettre en œuvre des mesures d’amélioration.
- Assurer un encadrement technique et un mentorat au quotidien grâce au travail en binôme, à la rétroaction et aux conseils; favoriser une culture axée sur le savoir-faire, la responsabilité, la collaboration et l’amélioration continue.
- Concevoir, développer, modifier, intégrer, entretenir et dépanner des applications et des services logiciels.
- Rédiger, lire, réviser, tester, déboguer et corriger le code logiciel en vue de l’ajout de nouvelles fonctionnalités et de l’amélioration des systèmes existants.
- Analyser les exigences techniques, les dépendances et les interactions entre les systèmes, et recommander des modifications ou des approches de mise en œuvre.
- Effectuer des révisions de code par les pairs et examiner les demandes d’intégration, en formulant des commentaires sur l’exactitude, la facilité de maintenance, la performance, la fiabilité, la sécurité et le respect des normes.
- Assurer le soutien technique des intégrations, analyser les défaillances et les problèmes liés à la production, mettre en œuvre des correctifs et valider les solutions au moyen de tests.
- Rédiger et tenir à jour la documentation technique relative aux logiciels nouveaux et mis à jour.
Qualités personnelles
- Inspirer et dynamiser les équipes de l’Ingénierie en faisant preuve d’un grand enthousiasme et en favorisant une culture de l’excellence et de la responsabilisation.
- Faire preuve d’un esprit novateur et orienté vers l’avenir, en explorant constamment les technologies émergentes et les solutions non traditionnelles pour relever des défis complexes.
- Instaurer et maintenir une culture de la confiance, de la transparence et de la sécurité psychologique, afin de permettre un dialogue ouvert qui favorise la diversité des points de vue.
- Remettre en question les hypothèses et le statu quo en faisant preuve de curiosité et de courage, afin de favoriser l’amélioration continue et d’accroître le rendement de l’équipe.
- Assurer un équilibre entre la vision stratégique et les conseils techniques pratiques, en veillant à l’alignement entre les objectifs commerciaux et l’exécution technique.
- Donner l’exemple en faisant preuve d’intégrité, de résilience et d’un engagement en faveur du mentorat des collègues pour qu’ils atteignent leur plein potentiel.
Qualifications
Obligatoire
- Baccalauréat en informatique ou dans un domaine connexe.
- Au moins cinq (5) ans d’expérience en développement de logiciels dans un environnement de production, dont au moins quatre (4) ans d’expérience dans la création et à la mise en ligne à grande échelle d’applications mobiles destinées aux consommateurs par l’intermédiaire de l’App Store d’Apple ou de Google Play.
- Expérience avérée dans la direction de la mise en œuvre de projets au sein d’équipes agiles; solide expertise pratique des langages de programmation et des cadres modernes (p. ex., applications iOS natives [Swift]) et connaissance pratique d’Android (Kotlin), Java, Node.js, React, React Native, Angular, NestJS.
- Solide expérience dans l’utilisation des pipelines d’intégration et de déploiement continus, des tests automatisés et des pratiques de développement et d’exploitation modernes.
- Capacité avérée à faire respecter les normes d’ingénierie, à veiller à la qualité du code et à soutenir les engagements de livraison au niveau des sprints.
- Excellentes compétences en communication et capacité à collaborer efficacement avec des collègues occupant des postes tant techniques que non techniques.
- Faire preuve de ponctualité et fiabilité avérées pour favoriser la réussite globale de l’équipe dans un milieu trépidant.
Atouts
- Expérience avec des outils de développement assistés par l’IA, la conception d’instructions ou des cadres d’évaluation de l’IA.
- Expérience des plateformes infonuagiques (AWS, Azure, GCP) et des modèles d’architecture natifs dans le nuage.
- Connaissance des plateformes API, des technologies d’intégration ou des systèmes d’entreprise.
- Expérience acquise dans des environnements de grande envergure, réglementés ou dont les activités sont essentielles à la mission.
Conditions d’emploi
Les candidats doivent être admissibles à travailler dans le pays concerné au moment où une offre d’emploi est présentée et sont responsables de l’obtention des permis de travail, visas ou autres autorisations nécessaires. La preuve de l’admissibilité doit être fournie avant la date de début.
Exigences Linguistiques
À compétences égales, la préférence sera accordée aux candidats bilingues.
Diversité et inclusion
Air Canada est résolument engagée en faveur de la diversité et de l’inclusion et vise à créer un milieu de travail sain, accessible et gratifiant qui met en valeur la contribution unique de nos employés au succès de notre entreprise.
En tant qu'employeur qui garantit l'égalité d'accès à l'emploi, nous encourageons les candidatures les plus diverses afin de pouvoir nous doter d’un effectif varié et représentatif de nos clients et des communautés où nous vivons et offrons nos services.
Air Canada remercie tous les candidats de leur intérêt, mais seules les personnes sélectionnées pour une entrevue seront contactées.