Ingénieur logiciel senior - Plateforme central/ Senior Software Engineer - Core Platform
Job Description
Job Description
Job Description
Objectif du poste
En tant que développeur logiciel sénior – Plateforme centrale, vous jouerez un rôle de premier plan dans la création et l'amélioration du logiciel qui alimente notre vision : Créer des moments qui touchent les gens. Vous conceverez et mettrez en œuvre des fonctionnalités complexes, façonnerez des normes de codage et guiderez les décisions techniques au sein de votre équipe.
En mentorant des ingénieurs moins expérimentés, en contribuant aux discussions architecturales et en favorisant l'innovation, vous veillerez à ce que nos solutions logicielles soient robustes, maintenables et tournées vers l'avenir.
Responsabilités et responsabilités essentielles
L'ingénieur logiciel sénior joue un rôle clé dans la promotion de l'excellence technique de nos produits et de notre plateforme en concevant des fonctionnalités complexes et en mentorant d'autres ingénieurs pour livrer des logiciels robustes et évolutifs.
Le développeur logiciel sénior :
- Concevez, développez et livrez des solutions logicielles complexes alignées sur les normes architecturales.
- Montrez l'exemple en écrivant du code de haute qualité, maintenable, bien documenté et testable.
- Encadrez des ingénieurs juniors et intermédiaires, en partageant leurs connaissances et les meilleures pratiques.
- Examiner et approuver les contributions au code afin d'assurer le respect des normes techniques et architecturales.
- Collaborer avec des architectes logiciels et des équipes de produits pour façonner les approches techniques et la conception de solutions.
- Favoriser l'adoption de nouveaux outils, processus et cadres pour améliorer la productivité et la qualité.
- Soutenir l'intégration des composants de la plateforme, en s'assurant qu'ils sont alignés avec la stratégie produit à long terme.
- Contribuer à la tenue d'une documentation technique complète.
- Accomplir d'autres tâches requises pour répondre aux besoins de l'entreprise.
Responsabilités en gestion des ressources humaines / leadership :
Acquisition de talents et intégration
- Soutenir l'intégration des nouvelles recrues d'équipe dans l'architecture et les normes du projet.
Coaching et développement
- Offrir du mentorat et du soutien aux ingénieurs logiciels plus juniors.
Communication et collaboration
- Faciliter une communication ouverte et transparente au sein de l'équipe et entre les départements.
Leadership et culture inclusive – Cadre TAIT LiNC
- Coaching pour la performance – Offrir des conseils et du soutien à d'autres ingénieurs pour améliorer leurs processus et compétences.
- Responsabilisation – Prenez l'initiative d'assurer le code de la plus haute qualité de votre part et de votre équipe afin de soutenir le succès à long terme.
- Performance de pointe – Livrez constamment des normes élevées dans vos contributions au projet et soyez proactif dans votre développement personnel.
Qualifications et expérience
Pour accomplir avec succès les responsabilités essentielles du rôle, les individus doivent posséder le niveau d'éducation et d'expérience suivant, ou une combinaison équivalente. De plus, le poste exige les certifications, connaissances, compétences et, le cas échéant, les exigences physiques requises pour le poste.
Qualifications – Académiques / professionnelles
Obligatoire :
- Un baccalauréat en informatique
Expérience – Connaissances et compétences :
- 5+ ans d'expérience en génie logiciel, avec la réalisation de projets éprouvée.
- Plateforme de base : Compréhension approfondie des pratiques d'ingénierie logicielle, des modèles de conception et de l'architecture système sous l'élément connaissances/compétences :
- À recommander : Code propre, patrons de conception, tests, CI/CD, réseautage (TCP/UDP), concurrence et multithreading, gestion de la mémoire, débogage et profilage, optimisation des performances, haute disponibilité et tolérance aux pannes, développement multiplateforme, systèmes de construction (CMake), C++, contrôle de version (Git), gestion des dépendances, revue de code
- Capacité démontrée à prendre possession de caractéristiques ou sous-systèmes complexes.
- Expérience à encadrer d'autres ingénieurs et à améliorer les pratiques d'équipe.
- Excellente maîtrise des tests, du débogage et de l'optimisation des performances.
- Excellentes compétences en documentation technique et en communication.
- L'expérience de travail dans des environnements de développement agiles est souhaitable.
- Capacité à aligner les solutions techniques avec les objectifs plus larges du produit.
- Aise à contribuer aux discussions architecturales et à la prise de décisions techniques
-----------
Position Purpose
As a Senior Software Engineer - Core Platform, you will play a leading role in building and improving the software that drives our vision to Create Moments that Move People. You will design and implement complex features, shape coding standards, and guide technical decisions within your team.
By mentoring less experience engineers, contributing to architectural discussions, and driving innovation, you will ensure our software solutions are robust, maintainable, and future-focused.
Essential Responsibilities & Accountabilities
The Senior Software Engineer plays a key role in driving technical excellence in our products and platform by designing complex features and mentoring other engineers to deliver robust and scalable software.
The Senior Software Engineer will:
- Design, develop, and deliver complex software solutions aligned with architectural standards.
- Lead by example in writing high-quality, maintainable, well-documented and testable code.
- Mentor junior and mid-level engineers, sharing knowledge and best practices.
- Review and approve code contributions to ensure adherence to technical and architectural standards.
- Collaborate with software architects and product teams to shape technical approaches and solution designs.
- Drive the adoption of new tools, processes, and frameworks to improve productivity and quality.
- Support integration of platform components, ensuring they align with long-term product strategy.
- Contribute to maintaining comprehensive technical documentation.
- Perform other duties as required to meet business needs.
People Management / Leadership Responsibilities:
Talent Acquisition & Onboarding
- Support onboarding new team hires to project architecture and standards.
Coaching & Development
- Provide mentoring and support for more junior software engineers.
Communication & Collaboration
- Facilitate open and transparent communication within the team and across departments.
Qualifications and Experience
To successfully perform the essential responsibilities of the role, individuals must possess the following level of education and experience, or equivalent combination. In addition, the role requires the following certifications, knowledge, skills, and where applicable, physical requirements necessary for the position.
Academic / Vocational
- Bachelor’s degree in Computer Science or equivalent industry experience.
Experience – Knowledge and Skills:
- 5+ years’ experience in software engineering, with proven project delivery.
- Deep understanding of software engineering practices, design patterns and system architecture.
- Required: Clean Code, Design Patterns, Testing, CI/CD, Networking (TCP/UDP), Concurrency and Multithreading, Memory Management, Debugging and Profiling, Performance Optimization, High Availability and Fault Tolerance, Cross-Platform Development, Build Systems (CMake), C++, Version Control (Git), Dependency Management, Code Review
- Ideal: Authentication, Authorization, Encryption, Automation, Real-Time or Embedded Systems, Distributed Systems, QNX or POSIX Environments, Safety-Critical or Deterministic Software, Low-Latency Architecture, Modernization of Legacy Systems, Hardware Integration, Testing Frameworks (e.g., GoogleTest), Mentoring, Architecture Reviews, Infrastructure as Code, DevOps Principles, Rust
- Required: Clean Code, Design Patterns, Testing, CI/CD, Networking (TCP/UDP), Concurrency and Multithreading, Memory Management, Debugging and Profiling, Performance Optimization, High Availability and Fault Tolerance, Cross-Platform Development, Build Systems (CMake), C++, Version Control (Git), Dependency Management, Code Review
- Demonstrated ability to take ownership of complex features or subsystems.
- Experience mentoring other engineers and improving team practices.
- Strong proficiency with testing, debugging and performance optimization.
- Excellent technical documentation and communication skills.
- Experience working within agile development environments is desirable.
- Ability to align technical solutions with broader product goals.
- Comfortable contributing to architectural discussions and technical decision-making.
#LI-JE1
How to Apply
Ready to start your career as a Ingénieur logiciel senior - Plateforme central/ Senior Software Engineer - Core Platform at Tait?
- Click the "Apply Now" button below.
- Review the safety warning in the modal.
- You will be redirected to the employer's official portal to complete your application.
- Ensure your resume and cover letter are tailored to the job description using our AI tools.
Frequently Asked Questions
Who is hiring?▼
This role is with Tait in Montréal.
Is this a remote position?▼
This appears to be an on-site role in Montréal.
What is the hiring process?▼
After you click "Apply Now", you will be redirected to the employer's official site to submit your resume. You can typically expect to hear back within 1-2 weeks if shortlisted.
How can I improve my application?▼
Tailor your resume to the specific job description. You can use our free Resume Analyzer to see how well you match the requirements.
What skills are needed?▼
Refer to the "Job Description" section above for a detailed list of required and preferred qualifications.