Développeur logiciel principal / Staff Software Developer
Description
Objectif du poste
À titre d’ingénieur·e logiciel principal·e, vous jouerez un rôle clé de leadership technique au sein de nos plateformes logicielles qui soutiennent notre mission de créer des expériences qui marquent les gens.
Vous serez responsable de sous-systèmes critiques et de composantes de plateforme de bout en bout, tout en définissant l’orientation technique à l’échelle de plusieurs équipes. En étroite collaboration avec les architectes, vous transformerez les orientations stratégiques en solutions techniques robustes et de grande qualité.
Grâce à votre capacité à encadrer des ingénieur·es de tous niveaux et à traiter les enjeux techniques les plus complexes, vous contribuerez à assurer des solutions logicielles fiables, maintenables et évolutives.
L’ingénieur·e logiciel principal·e joue un rôle déterminant dans l’excellence technique des produits et plateformes. À ce titre, vous serez appelé·e à :
- Concevoir, développer et livrer des sous-systèmes complexes et des capacités de plateforme en alignement avec les standards architecturaux
- Donner l’exemple en produisant du code de haute qualité, maintenable, bien documenté et testable
- Encadrer et mentorer des ingénieur·es à tous les niveaux, incluant les profils seniors
- Définir l’orientation technique et réviser les contributions de code afin d’assurer le respect des standards techniques
- Collaborer étroitement avec les architectes logiciels et les équipes produit afin d’influencer les décisions techniques et traduire la stratégie en solutions concrètes
- Favoriser l’adoption de nouveaux outils, processus et cadres de travail afin d’améliorer la qualité et la productivité
- Diriger la conception et l’intégration des composantes de plateforme en cohérence avec la stratégie produit à long terme
- Établir et maintenir une documentation technique complète pour les systèmes sous votre responsabilité
- Identifier et résoudre les enjeux techniques systémiques (performance, fiabilité, scalabilité)
- Agir comme personne-ressource technique pour les problématiques complexes inter-équipes
- Effectuer toute autre tâche connexe selon les besoins de l’entreprise
Responsabilités en leadership et gestion des talents
- Attraction et intégration
- Contribuer à l’accueil et à l’intégration des nouveaux·elles ingénieur·es en les familiarisant avec l’architecture et les standards
- Développement et accompagnement
- Offrir du mentorat et du coaching technique à tous les niveaux d’ingénieur·es
- Communication et collaboration
- Favoriser une communication ouverte, transparente et efficace au sein des équipes et entre les départements
Qualifications et expérience
Formation
- Baccalauréat en informatique, DEC ou DEP pertinent, ou expérience équivalente
- Minimum de 7 ans d’expérience en ingénierie logicielle avec réalisation de projets complexes
- Excellente maîtrise des pratiques de développement, des patrons de conception et de l’architecture logicielle
- Expérience démontrée dans la prise en charge de systèmes ou de composantes critiques de bout en bout
- Expérience en mentorat d’ingénieur·es intermédiaires et seniors
- Expertise en tests, débogage et optimisation des performances
- Excellentes compétences en documentation technique et communication
- Expérience en environnement Agile (atout)
- Capacité à traduire une stratégie produit en solutions techniques complexes
- Aisance à mener des discussions architecturales et à influencer les décisions techniques
- Capacité démontrée à identifier et résoudre des problèmes systémiques (performance, fiabilité, scalabilité)
- Design, develop and deliver complex subsystems and platform capabilities aligned with architectural standards.
- Lead by example in writing high-quality, maintainable, well-documented and testable code.
- Mentor engineers at all levels, including senior engineers, sharing knowledge and best practices across teams.
- Set technical direction and review code contributions to ensure adherence to technical and architectural standards.
- Partner with software architects and product teams to shape technical approaches, influence architectural decisions, and translate strategy into implementation.
- Drive the adoption of new tools, processes and frameworks across teams to improve productivity and quality.
- Lead the design and integration of platform components, ensuring they align with long-term product strategy.
- Establish and maintain comprehensive technical documentation for the subsystems under your ownership.
- Identify and drive resolution of systemic technical issues, including performance, reliability and scalability concerns across the codebase.
- Act as a technical point of contact for complex cross-team engineering problems.
- Perform other duties as required to meet business needs.
- Support onboarding of new engineers across teams to project architecture and standards.
- Provide mentoring and technical coaching for engineers at all levels, including senior engineers.
- Facilitate open and transparent communication within the team and across departments.
- Coaching for Performance – Provide expert technical guidance and support to engineers across teams to improve their processes and skills.
- Accountability – Take a lead in ensuring the highest quality code across your subsystems and the teams you work with to support long-term success.
- Peak Performance – Technical leadership and continual personal development that contributes to innovative, world-class software.
- Bachelor’s degree, DEC or DEP in Computer Science or equivalent industry experience.
- 7+ years’ experience in software engineering, with proven track record of delivering complex projects.
- Deep understanding of software engineering practices, design patterns and system architecture.
- Demonstrated ability to take ownership of significant subsystems or platform components end-to-end.
- Proven experience mentoring senior and mid-level engineers and elevating engineering practices across multiple teams.
- Strong proficiency with testing, debugging and performance optimization.
- Excellent technical documentation and communication skills.
- Experience working within agile development environments is desirable.
- Ability to translate product strategy into technical solutions that span multiple teams or subsystems.
- Comfortable driving architectural discussions and technical decision-making and partnering closely with architects.
- Track record of identifying and resolving systemic technical issues, including performance, reliability and scalability concerns.