Développeur(se) logiciel expert(e), écosystème Android | Staff Software Engineer, Android Ecosystem
Description
L'opportunité
Nous recherchons un(e) développeur(se) logiciel expert(e), établi(e) à Montréal, au Canada, ou travaillant à distance dans le fuseau horaire de la côte Est des États-Unis, pour se joindre à une nouvelle équipe de développement chargée d’assurer la prise en charge de la plateforme Unity pour un écosystème Android englobant les appareils mobiles, les ordinateurs portables et les appareils hybrides. Nous permettons aux développeur(se)s Unity de déployer leurs titres de façon fluide sur ces appareils, tout en tirant pleinement parti de leurs capacités matérielles et logicielles uniques, notamment l’utilisation optimisée de l’affichage, l’intégration native des périphériques d’entrée et les services propres à chaque plateforme.
L’équipe est également chargée de rechercher et de mettre en œuvre des optimisations de l’environnement d’exécution afin d’améliorer les performances de démarrage et l’efficacité d’exécution sur les appareils d’entrée de gamme comme sur les appareils haute performance. Pour ce faire, elle établira des points de référence en matière de performance, collaborera avec des expert(e)s internes et externes du domaine afin de mener des analyses approfondies des performances du moteur Unity sur la plateforme, et travaillera avec les principales parties prenantes pour apporter des améliorations validées.
Il s’agit d’un poste hautement technique de contributeur(rice) individuel(le), assorti de responsabilités importantes quant à l’orientation des décisions architecturales et des méthodes de développement. La personne retenue collaborera étroitement avec différentes équipes responsables des plateformes, du développement du moteur principal, des Workflow de l’éditeur et du système graphique.
Les candidat(e)s doivent posséder une vaste expertise en C++, en C# et en programmation de systèmes Android, ainsi que des capacités démontrées de leadership technique. Ils/Elles doivent également avoir fait leurs preuves en matière de mentorat auprès du personnel de développement et de direction d’initiatives stratégiques ayant une incidence sur plusieurs secteurs de l’organisation.
Ce que fous ferez
-
Diriger des initiatives techniques interéquipes et favoriser le consensus concernant les conceptions architecturales et les stratégies de mise en œuvre.
-
Évaluer, analyser et repérer les possibilités d’optimisation dans l’ensemble de la pile technologique, puis collaborer avec les équipes concernées afin de développer et de déployer des améliorations de performance.
-
Offrir du mentorat et des conseils techniques aux développeur(se)s de l’ensemble de l’organisation, tout en favorisant l’application de normes rigoureuses de développement logiciel et de qualité du code.
-
Contribuer à la définition stratégique et à la planification de la feuille de route des initiatives de développement de plateformes.
-
Rédiger une documentation technique complète et participer activement aux processus de révision de la conception.
-
Examiner et résoudre des problèmes complexes à l’échelle du système qui touchent plusieurs sous-systèmes logiciels.
Ce que nous recherchons
-
Une vaste expérience de la programmation de systèmes Android, appuyée par une maîtrise avancée de C++, de C# et de Java ou Kotlin.
-
Une réussite démontrée dans la conception architecturale, la création et le déploiement à grande échelle de systèmes de plateforme ou d’environnements d’exécution.
-
Une compréhension approfondie de l’architecture informatique, des hiérarchies de mémoire, des mécanismes de mémoire cache et des modèles d’interaction entre le processeur et le processeur graphique.
-
Une maîtrise de l’exécution asynchrone et de l’architecture logicielle multithread.
-
Une capacité éprouvée à analyser, à comprendre et à parcourir des bases de code logiciel vastes et complexes.
-
Une expérience documentée de la direction d’initiatives techniques interfonctionnelles et de l’orientation des pratiques de développement.
-
Des compétences avancées en diagnostic, en débogage et en profilage des performances.
Vous avez peut-être également
-
Une expérience de l’architecture et du développement de moteurs de jeu, comme Unity, Unreal Engine ou des moteurs propriétaires.
-
Une compréhension approfondie de C# et des environnements d’exécution gérés.
-
Des contributions actives à des projets de logiciels libres ou la publication de documents techniques.
-
Une connaissance des méthodes de rendu 3D en temps réel et des API graphiques modernes, y compris Vulkan.
-
Un jugement technique sûr quant à l’intégration et à l’utilisation d’outils d’intelligence artificielle dans les Workflow de développement logiciel.
Échelle salariale de base: Nous déterminons l’échelle salariale de base pour ce poste en fonction de votre lieu de travail principal :
Zone A : de 153 000 $ CA à 229 600 $ CA brut
Zone B : de 165 400 $ CA à 248 000 $ CA brut
Zone A : de 157 800 $ US à 236 800 $ US brut
Zone B : de 178 300 $ US à 267 500 $ US brut
Zone C : de 200 400 $ US à 300 600 $ US brut
The opportunity
We are seeking a Staff Software Engineer, based either in Montreal, Canada or working remotely within the US East Coast time zone, to join a newly established engineering team responsible for delivering Unity platform support for an Android-based ecosystem encompassing mobile, laptop, and hybrid form factors. We enable Unity developers to seamlessly deploy titles across these devices while fully leveraging their unique hardware and software capabilities, including optimized display utilization, native input integration, and platform-specific services.
The team is also charged with researching and implementing runtime optimizations to improve startup performance and execution efficiency across both entry-level and high-performance devices. This will be accomplished by establishing performance benchmarks, collaborating with internal and external domain experts to conduct deep performance analyses of the Unity engine on the platform, and partnering with key stakeholders to deliver verified enhancements.
This is a highly technical individual contributor role with substantial responsibility for guiding architectural decisions and engineering methodologies. The role involves close cross-functional collaboration with engineering groups across platforms, core engine development, editor workflows, and the graphics system.
Candidates must possess extensive domain expertise in C++, C#, and Android systems programming, demonstrated technical leadership capabilities, and a proven ability to mentor engineering staff while leading strategic initiatives with cross-organizational impact.
What you’ll be doing
-
Lead cross-team technical initiatives, driving consensus on architectural designs and implementation strategies.
-
Profile, analyze, and identify optimization opportunities across the stack, partnering with stakeholder teams to develop and deploy performance improvements.
-
Provide technical mentorship and guidance to engineers across the organization, promoting rigorous software engineering standards and code quality.
-
Contribute to the strategic definition and roadmap planning of platform engineering initiatives.
-
Author comprehensive technical documentation and actively participate in design review processes.
-
Investigate and resolve complex, system-level issues spanning multiple software subsystems.
What we’re looking for
-
Extensive background in Android systems programming, supported by advanced proficiency in C++, C#, and Java/Kotlin.
-
Demonstrated success in architecting, building, and deploying large-scale platform or runtime systems.
-
Comprehensive understanding of computer architecture, memory hierarchies, cache mechanics, and CPU/GPU interaction models.
-
Proficiency in asynchronous execution and multithreaded software architecture.
-
Proven capacity to analyze, comprehend, and navigate large and complex software codebases.
-
Documented history of