Description
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.
Nous sommes à la recherche d’un développeur d’applications dorsales créatif et minutieux qui jouera un rôle essentiel dans le bon fonctionnement de nos systèmes en arrière plan, en concevant, en construisant et en entretenant des systèmes dorsaux robustes, évolutifs et sécurisés. La personne retenue pour ce poste jouera un rôle clé dans l’intégration des applications aux systèmes requis, y compris les architectures existantes, et fournira des interfaces de programme d’applications (API) claires et bien documentées pour l’avant-plan. Cette personne sera responsable du rendement, de la fiabilité et de l’évolutivité de l’application. Proactifs et collaboratifs, les développeurs d’applications dorsales optimisent les bases de données, mettent en œuvre les meilleures pratiques et garantissent la sécurité des données, tout en restant à la pointe des technologies émergentes afin de fournir des solutions innovantes et prêtes pour l’avenir.
La TI d’Air Canada traverse une période passionnante, et plusieurs gros projets en cours transformeront le paysage de la TI. Air Canada investit aussi massivement dans les nouvelles technologies pour soutenir sa transformation numérique. Voici donc une occasion unique de découvrir les technologies de pointe auprès d’un chef de file de l’industrie et de contribuer à façonner l’avenir d’Air Canada.
Responsabilités :
- Concevoir et mettre en œuvre des services dorsaux et des composants d’intergiciel robustes, évolutifs et sécurisés, qui alimentent la logique commerciale, tout en veillant à leur conformité avec les meilleures pratiques architecturales et les exigences commerciales.
- Développer et maintenir des API fonctionnelles, performantes et bien documentées, permettant une intégration fluide entre les systèmes frontaux et dorsaux.
- Intégrer des plateformes d’entreprise, tant anciennes que modernes, en utilisant des services natifs AWS, Node.js et Apache Kafka.
- Soutenir les activités d’assurance de la qualité et les essais par des utilisateurs, analyser les défauts signalés, puis appliquer les correctifs de conception et de code nécessaires pour résoudre les problèmes.
- Optimiser le rendement des systèmes dorsaux grâce à des modèles d’accès aux données efficaces, à l’optimisation des requêtes et à des stratégies de mise en cache afin de garantir des systèmes à faible latence et haute disponibilité.
- Mettre en œuvre la conteneurisation (p. ex., Docker) et l’orchestration (p. ex., Kubernetes) pour prendre en charge un déploiement évolutif et la cohérence de l’environnement.
- Gérer les systèmes de messagerie asynchrone et les plateformes de diffusion d’événements (p. ex., Apache Kafka, RabbitMQ) afin de permettre une communication fiable et découplée entre les services.
- Rédiger des tests unitaires, d’intégration et de performance complets pour assurer la fiabilité et la maintenabilité du code, tout en développant des outils
d’automatisation pour simplifier les tâches répétitives. - Garantir la sécurité et la conformité des données en mettant en place des mécanismes robustes d’authentification, d’autorisation et de chiffrement, et en
respectant les normes réglementaires pertinentes. - Collaborer avec des équipes interfonctionnelles (chefs des Produits, Développement et exploitation, assurance de la qualité) afin d’harmoniser les objectifs, les calendriers et les réalisations attendues, en veillant à ce que les systèmes dorsaux soutiennent la vision globale du produit.
- Participer aux discussions sur l’architecture et la conception du système, en apportant des idées sur l’évolutivité, la tolérance aux pannes et la fiabilité du système.
- Mettre en œuvre et maintenir des outils d’observabilité (p. ex., Prometheus, Grafana, ELK Stack) pour surveiller la santé et les performances du système et résoudre les problèmes de manière proactive.
- Gérer les processus dorsaux, les flux de travail et les API afin de favoriser le partage des connaissances, la maintenabilité et l’intégration.
- Tirer parti des outils de développement assistés par l’IA pour accélérer le codage, la refonte de codes et la documentation, tout en encourageant une adoption responsable au sein de l’équipe.
- Participer activement aux cérémonies Agile telles que la planification des sprints, les réunions quotidiennes et les rétrospectives.
- Contribuer à l’amélioration continue des pratiques de l’équipe, des pipelines de livraison et des stratégies de communication en proposant des solutions innovantes et en partageant des connaissances techniques.
Qualifications
Obligatoire
- Baccalauréat en informatique, ou l’équivalent.
- Au moins trois années d’expérience dans le développement de logiciels dorsaux.
- Solide expérience en développement Java ou Node.js.
- Expérience pratique des services d’AWS (p. ex., Lambda, EC2, S3, RDS, DynamoDB, passerelles d’API, AppSync).
- Expérience éprouvée dans l’intégration d’API critiques et de plateformes infonuagiques natives.
- Expérience dans la conception et la mise en œuvre d’architectures de microservices.
- Maîtrise des outils de conteneurisation (Docker) et des plateformes d’orchestration (Kubernetes).
- Connaissance des systèmes de messagerie asynchrone et des plateformes de diffusion d’événements (p. ex., Apache Kafka, RabbitMQ).
- Expérience avec les outils d’observabilité (Prometheus, Grafana, ELK stack).
- Excellente compréhension du TDD (développement piloté par les tests), des tests unitaires, des simulations et des tests d’intégration.
- Maîtrise des systèmes de gestion de versions, comme Git.
- Connaissance des bases de données relationnelles et NoSQL.
- Compréhension des formats API (XML, JSON), des protocoles (REST, SOAP) et des spécifications (OpenAPI, Swagger).
- Solides compétences en communication orale, écrite et interpersonnelle.
- Grand souci du détail et approche systématique et rigoureuse de la résolution des problèmes.
- Capacité à travailler de manière autonome et proactive.
- Faire preuve de ponctualité et de fiabilité pour soutenir le succès global de l'équipe dans un milieu trépidant.
Atouts
- Expérience avec Mulesoft ou d’autres bus de services d’entreprise basés sur Java (IBM IIB, Tibco).
- Connaissance des outils de gestion des API (Apigee, IBM API Connect, Mulesoft API Manager).
- Exposition aux chaînes d’outils d’intégration et de développement continus et aux pratiques de développement et d’exploitation.
- Expérience dans l’industrie du transport aérien ou du voyage.
- Intérêt pour l’apprentissage de nouvelles technologies et la contribution aux initiatives de transformation numérique.
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.