Développeur(-euse) de logiciels III
Collaborateur(-trice) individuel(elle) très performant(e) qui joue le rôle de mentor auprès de développeurs plus jeunes, qui applique de nouveaux principes de développement de logiciels pour améliorer les systèmes existants et qui est responsable de la gestion de projets complexes et bien définis;
Description des tâches :
- Collaborer avec vos collègues de toute l’entreprise de manière proactive pour comprendre les dépendances touchant plusieurs équipes et pour résoudre les problèmes communs;
- Faire partie d’une communauté de praticiens qui acquièrent et partagent des connaissances;
- Chercher constamment à acquérir et à développer de nouvelles compétences techniques relevant du domaine du développement logiciel;
- Partager de nouvelles aptitudes et connaissances avec l’équipe afin d’accroître l’efficacité;
- Démontrer une connaissance de la technologie de pointe pertinente;
- Être à l’aise de travailler avec plusieurs formes de technologie;
- Comprendre la relation entre les applications, les bases de données et les plateformes technologiques;
- Développer et faire l’essai d’applications logicielles complexes ou singulières ainsi que des procédures et des programmes correspondants pour vous assurer qu’ils respectent les exigences en matière de conception;
- Appliquer efficacement vos connaissances des principes de conception logicielle, des structures de données ainsi que des modèles de conception et des fondements de l’informatique pour écrire un code clair, gérable, optimisé et modulaire respectant les conventions de nommage;
- Appliquer efficacement la connaissance des bases de données et des principes de conception de bases de données pour répondre aux besoins en données;
- Utiliser efficacement la compréhension des cadres de logiciels et comment les exploiter pour écrire du code plus simple;
- Diriger et clarifier l’évolution des codes dans des révisions de codes;
- Rassembler différents intervenants ayant des perspectives variées pour trouver des solutions aux problèmes et apporter ses propres suggestions;
- Adopter une approche holistique afin de trouver des occasions d’accroître l’efficacité des politiques et des processus au-delà des frontières organisationnelles;
- Contribuer à une approche systémique globale de l’analyse des problèmes en veillant à ce que toutes les composantes (structure, personnel, processus et technologie) soient identifiées et prises en compte;
- Trouver les inefficacités dans le code ou dans l’exploitation des systèmes et suggérer des améliorations;
- Rédiger et présenter des rapports sur les initiatives techniques (comme les séances d’analyse des sources des problèmes) ou d’exploitation majeures à vos collègues, que ce soit verbalement ou par écrit.
Profil recherché :
- Bilinguisme fonctionnel (français et anglais) obligatoire;
- Le curriculum vitae peut être fourni en français ou en anglais;
- Expérience en développement logiciel dans au moins 3 langages différents;
- Expérience en maintenance ou en gestion d’au moins 4 projets ou produits logiciels dans des environnements de production (correction de bogues, dépannage, surveillance, etc.);
- Maîtrise forte de quelques langages et / ou d’un langage avec plusieurs implémentations technologiques;
- Identification des forces et des faiblesses parmi les langages pour un usage particulier;
- Création des interfaces API qui seront utilisées par l’unité commerciale;
- Utilisation de la technologie en place pour résoudre des problèmes et mettre en œuvre des solutions;
- Compréhension des interactions entre les équipes relativement aux projets;
- Compréhension et conception des systèmes passablement complexes;
- Essai et vérification du code au niveau du projet;
- Compréhension des outils de tests et de surveillance;
- Mise au point des applications;
- Essai, mise au point et correction des problèmes dans les niveaux de service établis;
- Conception de logiciels qui sont faciles à tester et à vérifier;
- Capacité de réconcilier les objectifs de l’équipe aux besoins de l’entreprise;
- Capacité à repérer les problèmes de l’entreprise au niveau du projet et à proposer des solutions.
Software Development Engineer III
A high performing individual contributor who acts as a mentor to more junior engineers, applies new engineering principles to improve existing systems, and is responsible for leading complex, well-defined projects.
What you will do :
Proactively teams up with peers across the organization to build an understanding of cross dependencies and shared problem solving.
Participates in a community of practice to share and gain knowledge.
Continually seeks new technical skills in an engineering area.
Shares new skills and knowledge with team to increase effectiveness.
Demonstrates knowledge of advanced and relevant technology.
Is comfortable working with several forms of technology.
Understands the relationship between applications, databases and technology platforms.
Develops and tests complex or non-routine software applications and related programs and procedures to ensure they meet design requirements.
Effectively applies knowledge of software design principles, data structures and / or design patterns and computer science fundamentals to write code that is clean, maintainable, optimized, modular with good naming conventions.
Effectively applies knowledge of databases and database design principles to solve data requirements.
Effectively uses the understanding of software frameworks and how to leverage them to write simpler code.
Leads / clarifies code evolution in code reviews.
Brings together different stakeholders with varied perspectives to develop solutions to issues, and contributes own suggestions.
Thinks holistically to identify opportunities around policies / processes to increase efficiency across organizational boundaries.
Assists with a whole systems approach to analyzing issues by ensuring all components (structure, people, process and technology) are identified and accounted for.
Identifies areas of inefficiency in code or systems operation and offer suggestions for improvements.
Compiles and reports on major operational or technical initiatives (like RCAs) to larger groups, whether via written or oral means.
Who you are :
5+ years experience for Bachelor's or 3+ years experience for Master's
Developed software in at least 3 different languages.
Maintained / ran at least 4 software project / product in production environments (bug fixing, troubleshooting, monitoring, etc.).
Has strength in a couple languages and / or one language with multiple technology implementations.
Identifies strengths and weaknesses among languages for particular use cases.
Creates API's to be consumed across the business unit.
Selects among technology available to implement and solve for need.
Understands how projects / teams interact with other teams.
Understands and designs moderately complex systems.
Tests and monitors code at the project level.
Understands testing and monitoring tools.
Debugs applications.
Tests, debugs, and fixes issues within established SLAs.
Designs easily testable and observable software.
Understands how teams goals fit a business need.
Identifies business problems at the project level and provides solutions.
The total cash range for this position in Montreal is $105,500.00 to $148,000.00. Employees in this role have the potential to increase their pay up to $169,000.
00, which is the top of the range, based on ongoing, demonstrated, and sustained performance in the role.
Starting pay for this role will vary based on multiple factors, including location, available budget, and an individual’s knowledge, skills, and experience.
Pay ranges may be modified in the future.
Expedia Group is proud to offer a wide range of benefits to support employees and their families, including medical / dental / vision, paid time off, and an Employee Assistance Program.
To fuel each employee’s passion for travel, we offer a wellness & travel reimbursement, travel discounts, and an International Airlines Travel Agent (IATAN) membership. .