
Senior Systems and Software Architect
- Ottawa, ON
- Permanent
- Temps-plein
- Lead the design, development, and implementation of advanced embedded and satellite ground segment software systems, ensuring performance, scalability, and reliability.
- Architect and design the management plane, including scalable and modular Element Management System (EMS) and Network Management System (NMS) components, supporting configuration, monitoring, diagnostics, and lifecycle management of distributed embedded systems.
- Define and architect software solutions across the full stack, from embedded modules and board support packages to OS-level integration and system-wide services.
- Collaborate closely with cross-functional teams - including systems engineers, product managers, software architects, and developers - to gather and translate requirements into robust technical architectures.
- Drive adoption of advanced testing methodologies, including Test-Driven Development (TDD) and software simulation frameworks, to validate functionality early in the development cycle.
- Provide technical leadership and mentorship to software teams, conducting design and code reviews, and promoting adherence to coding standards and best practices.
- Guide the team in identifying, troubleshooting, and resolving complex software issues at both the component and system levels.
- Design and implement scalable networking features (e.g., MPLS) and support secure, reliable interconnectivity within the ground segment.
- Utilize modern software tools and practices - including virtualization, containerization, and cloud technologies - for streamlined development, deployment, and operations.
- Leverage software modeling tools and maintain comprehensive, well-organized documentation of designs, decisions, and development workflows.
- Foster a culture of innovation and continuous improvement, helping evolve software development processes, tools, and team collaboration strategies.
- Stay current with emerging technologies and trends in embedded systems and satellite communications, integrating relevant advancements into system design.
- Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.
- Over 15 years of experience in software development and testing, with a strong focus on embedded systems and real-time applications.
- Prior experience in a technical leadership or architecture role.
- Proven ability to design software considering hardware resource constraints and system-level integration.
- Experience architecting complex systems, including management planes with Element Management System (EMS) and Network Management System (NMS) components.
- Strong understanding of system-level concepts, including fault management, performance monitoring, configuration management, networking, storage, operating systems, and cybersecurity considerations.
- Expert proficiency in modern C++ standards (C++14/17/20).
- Proficiency with the Linux operating system, including development, debugging, and performance optimization.
- Strong analytical and problem-solving skills, capable of addressing complex technical challenges.
- Excellent communication skills, both written and verbal.
- Collaborative mindset and effective contribution in cross-functional and geographically distributed teams.
- Enthusiasm for continuous learning and adopting new technologies and development tools.
- Experience or strong understanding of satellite technology, ground segment operations, and associated technical challenges is highly desirable
- This role has no direct reports but will collaborate closely and interact frequently with multi-disciplinary engineering teams
- This role offers hybrid work environment.
- Working conditions are generally comfortable typical of an office environment.
- International travel may be required
- The successful candidate must be able to work in Canada and obtain clearance under the Canadian Controlled Goods program (CGP).