C++ Engineer (Ottawa)
Actalent
Job Description
C++ Engineer On-Board Payload Software (LEO Satellite Program) This C++ Engineer role focuses on developing and maintaining embedded on-board payload software for a Low Earth Orbit (LEO) satellite program. You will work with modern C++ on Linux-based embedded systems, contribute to networking solutions, and help build tools, libraries, and frameworks that support one of the largest space programs in Canadian history. This is a long‑term consulting engagement, scheduled at least through early 2028, offering the opportunity to work on complex, mission‑critical software in a highly technical environment.
Responsibilities Develop and maintain embedded software modules using modern C++ (primarily C++17 and C++20, with openness to C++11 and C++14 where appropriate). Design, implement, and enhance new features and functionality from concept through to deployment in embedded environments. Assist in the implementation of networking solutions to ensure reliable and seamless communication between software components.
Contribute to the development of software tools, libraries, and frameworks that improve product quality, maintainability, and engineering efficiency. Participate actively in code reviews, providing constructive feedback to improve code quality, performance, and adherence to coding standards. Collaborate with the team to troubleshoot, debug, and resolve software defects and technical issues in embedded and networking contexts.
Support the integration of software components on Linux operating systems, including configuration, build, and deployment activities. Assist in testing and validating software features to confirm that functionality, performance, and reliability meet specified requirements. Work closely with cross‑functional teams, including product management and design, to clarify requirements and contribute to technical discussions and solution design.
Maintain clear, organized, and up‑to‑date documentation of software designs, architectures, processes, and development tasks. Apply knowledge of embedded systems, networking protocols, and satellite communications to ensure robust and reliable on‑board payload software. Use version control platforms such as GitLab or GitHub to manage code repositories, branching strategies, and collaborative development workflows.
Essential Skills & Qualifications 915 years of professional software engineering experience, with a focus on C++ development in embedded or systems‑level contexts (sr level). Strong proficiency in modern C++ (C++17 and C++20 preferred), with the ability to work effectively with C++11 and C++14 codebases. Hands‑on experience developing new features and functionality from start to finish, including design, implementation, testing, and integration.
Proficiency with Linux as a development and deployment environment for embedded or systems software. Experience with embedded systems and embedded software development, including resource‑constrained environments. Solid understanding of basic networking protocols such as Ethernet, TCP/IP, and UDP, and how they apply to distributed or networked systems.
Ability to read, interpret, and implement formal requirements and specifications in a structured engineering setting. Experience with networking‑related technologies such as routers, switches, and Ethernet‑based communication. Practical experience with Python for scripting, tooling, or test automation in support of C++ development.
Experience using Git‑based platforms such as GitLab or GitHub for source control and team‑oriented development. Familiarity with the Standard Template Library (STL) and its effective use in modern C++. Strong debugging and problem‑solving skills in embedded and networked software systems.
Ability to collaborate effectively in a team environment, participate in code reviews, and communicate technical concepts clearly. Additional Skills & Qualifications Experience with C programming in the context of embedded or systems‑level software. Understanding of gRPC or similar communication frameworks for inter‑process or inter‑system communication.
Exposure to satellite communications (satcom) or space‑related software systems. Experience with MPLS (Multiprotocol Label Switching) is a strong asset but not mandatory. Experience in developing or supporting networking solutions involving routers, switches, and Ethernet‑based infrastructure.
Experience with software tools, libraries, and frameworks that support large‑scale engineering programs. Comfort working with legacy C++ standards (C++11 or C++14) while contributing to modernization efforts toward newer standards. Interest in long‑term consulting engagements and contributing to large, multi‑year engineering programs.
Work Environment This role is based on a site in downtown Ottawa in a highly technical engineering environment focused on a major LEO satellite program. The position follows a hybrid schedule where four days per week are on site, with Wednesday designated as a work‑from‑home day. You will work closely with other engineers and cross‑functional teams using Linux‑based systems, embedded development toolchains, GitLab or GitHub for version control, and a range of networking and satellite communication technologies.
The environment emphasizes collaboration, code quality, and long‑term project stability, offering the chance to contribute to a large, multi‑year space program while partnering with a global engineering services organization. Job Type & Location Contract position based out of Ottawa, ON. Pay and Benefits The pay range for this position is $60.00 – $75.00 per hour.
Equal Employment Opportunity Statement Actalent est un employeur souscrivant au principe de l'égalité des chances et accepte toutes les candidatures sans tenir compte de la race, du sexe, de l'âge, de la couleur, de la religion, des origines nationales, du statut d'ancien combattant, d’un handicap, de l'orientation sexuelle, de l'identité sexuelle, des renseignements génétiques ou de toute autre caractéristique protégée par la loi. Si vous souhaitez faire une demande d'accommodement raisonnable, tel que la modification ou l'ajustement du processus de demande d'emploi ou d'entretien cause d'un handicap, veuillez envoyer un courriel. #J-18808-Ljbffr