Principal Software Architect (onsite)
Offre en anglaisThe role focuses on identifying architectural anti-patterns, resolving complex software defects, and designing a comprehensive software stability assurance system. Additionally, the architect will lead cross-team technical challenges and manage the technical roadmap and documentation for legacy system modernization.
- Sur place
- Vancouver, BC
- Publié 17 août 2026
- Postuler avant le 16 sept. 2026
- 1 poste
D’autres postes auxquels postuler directement
Des possibilités semblables publiées par des employeurs qui recrutent sur Jobs.ca, sans formulaire externe.
Thap Ba Restaurant
assistant manager - food services
- Sur place
Alcohol and Gaming Commission of Ontario (AGCO)
Responsable de la gouvernance des données
- Sur place
Government of Ontario
Coordonnateur des services de santé; coordonnatrice des services de santé
- Sur place
Résumé du poste
100% onsite position in Burnaby. Key Responsibilities 1. Software Design Defect Analysis & Resolution Identify architectural anti-patterns in existing codebases and perform root-cause analysis Trace root causes of hard-to-reproduce defects such as performance degradation, memory leaks, and concurrency bugs (race conditions, deadlocks) Quantify technical debt in legacy systems and build a risk-prioritized improvement roadmap Propose actionable redesign solutions — including backward-compatibility and migration strategy — rather than purely theoretical proposal 2. Design & Management of Software Stability Assurance System Develop in-house static-analysis diagnostic rules and integrate them into the CI pipeline Design tiered severity quality gates and enforce them in the build process Design suppression/waiver governance policy — format validation, deadline management, and automatic severity escalation upon deadline expiration Establish system-level quality standards for memory safety, exception-handling consistency, and resource-disposal pattern Establish post-mortem processes based on log/dump analysis following incident 3. Technical Problem Analysis, Design & Management Break down cross-team technical challenges, define design direction, and manage assigned engineers' progress Operate code/design review processes and give final approval on technical decision Maintain technical documentation systems such as Architecture Decision Records (ADRs) Report technical risks and progress status to executives and other department Required Qualification Education Bachelor's degree (BS) or higher in Computer Science, Software Engineering, or a related field - require Master's degree (MS), Ph.D. — preferred Experience 15+ years of hands-on software development experience, including 5+ years in an architecture/technical-lead role 3+ years managing an engineering team (team size of 5 or more Experience leading technical evaluation Programming Languages & Technology Stack C#: Expert-level with .NET (Framework/Core/5+), asynchronous programming (async/await, Task), LINQ, and memory management (including GC tuning C++: Hands-on experience with modern C++ (11 and later), RAII, smart pointers, and template metaprogramming Interoperability experience between the two languages (P/Invoke, C++/CLI, etc.) — preferred System-Level Understanding File I/O: File-system structure, buffering/caching strategies, performance characteristics of large-file processing, file locking and concurrent-access control Database (covering RDB / NoSQL / File-based DB): Understanding of internal behavior, consistency models, and integration with query engine OS: Process/thread models, memory management, kernel/user-mode transitions, and platform differences between Windows and Linux Quality & Design Competence Experience developing or customizing static-analysis tool Deep understanding and practical application of design and architecture patterns (Layered, Hexagonal, Event-Driven, etc.) Experience designing CI/CD pipelines and building quality gate Experience automating test design/structuring — distinct from test-execution automation — including identifying test targets, generating test scaffolding, and managing coverage Experience identifying technical debt through code review and formulating refactoring strategy Communication Business-level English (capable of documentation, video conference, and technical discussion Ability to explain technical content to non-technical stakeholder Preferred Qualification Domain experience in industrial automation, Manufacturing Execution Systems (MES), semiconductor/electronics equipment, or robotic Experience leading gradual migration/modernization projects for large-scale legacy system Experience using and driving team adoption of AI coding assistants (Claude Code, GitHub Copilot, etc.) Contributions to open-source static-analysis tools, or experience distributing internally developed tooling Experience working with multinational team Experience designing large-scale data pipelines (ETL/ELT, hybrid batch + streaming)
Ce que vous ferez
The role focuses on identifying architectural anti-patterns, resolving complex software defects, and designing a comprehensive software stability assurance system. Additionally, the architect will lead cross-team technical challenges and manage the technical roadmap and documentation for legacy system modernization.
Exigences
Requires a Bachelor's degree in Computer Science or related field, with 15+ years of software development experience and 5+ years in an architecture or lead role. Expert proficiency in C#/.NET and modern C++ is essential, along with deep knowledge of system-level OS and memory management.
Compétences indiquées
- .NETSouhaitée
- C++Souhaitée
Autres compétences pertinentes
Relevées dans la description du poste. Confirmez les exigences importantes ci-dessus.
- Software Architecture
- C#
- .NET
- C++
- Static Analysis
- CI/CD Pipelines
- Technical Debt Management
- Memory Management
- Design Patterns
- Root Cause Analysis
- Interoperability
- System-Level Design
- Technical Leadership
- Code Review
- Architecture Decision Records
- Performance Tuning
Domaines d’emploi
- Software
- Engineering
- Technology
- Management & Leadership
- Manufacturing
Renseignements supplémentaires
- Formation minimale
- Baccalauréat
- Expérience minimale
- 10+ ans
- Postuler avant le
- 16 sept. 2026
- Langue de l’offre
- anglais
- Heures de travail
- 40 heures par semaine
- Niveau d’expérience
- Director
- Mode de candidature
- La candidature directe est offerte