Senior Embedded Software Engineer

Kepler Communications Inc — Canada · Posted ~2 hours ago

Senior Full-time

Skills

Embedded C/C++ Device drivers Kernel modules Hardware interfaces Software testing C C++ Embedded Linux

🔓 Log in to save this job, tailor your resume & track your apply process — 7 days free, no card needed.

Log in to add to target list

Summary ✨ AI‑Generated

A senior embedded engineering role focused on reliable low-level software for complex hardware systems. Responsibilities include drivers, security features, automated testing, and architectural collaboration.

Highlights

Develop critical embedded systems, influence architecture decisions, and work on advanced communication technologies.

Description

We're on the hunt for a top-tier Senior Embedded Software Engineer. Your focus will be on software development and maintenance required for both space and ground-based assets for a growing fleet of spacecraft. You'll be relied upon for input and decisions that will directly impact design and operation. Key Responsibilities: Design, develop, and maintain reliable, high-quality embedded software for both spacecraft and ground-based systems supporting a growing fleet of satellitesDesign and implement secure communications capabilities, including encryption, authentication, and key exchange for next-generation data linksBuild and maintain low-level software components including device drivers, kernel modules, hardware interfaces, and platform servicesDevelop automated tests, validation tools, and technical documentation to support robust software delivery and long-term maintainabilityParticipate in software architecture discussions, design reviews, and code reviews to ensure software quality and system reliabilityCollaborate closely with cross-functional teams to define system requirements, debug complex issues, and evolve system architectureIdentify performance gaps, reliability risks, and architectural shortcomings in existing systems, and drive improvements across the software stackProvide technical leadership, mentorship, and guidance to junior engineers while contributing to engineering best practices and development standards Required Skills & Qualifications: 6+ years of experience developing embedded software for complex, high-reliability systemsBachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experienceStrong software engineering fundamentals, including system design, debugging, testing, performance analysis, and maintainable code developmentProficiency in C/C++ for embedded systems, including concurrency, interrupt handling, memory-mapped peripherals, and hardware communication interfaces such as SPI, I2C, UART, and CANExperience developing software for embedded Linux and/or RTOS environments, including familiarity with build systems such as Yocto/OpenEmbedded and operating systems such as FreeRTOSExperience developing low-level embedded Linux components including kernel modules, device drivers, and device tree integrationsExperience developing and maintaining automated test frameworks, validation tooling, or hardware/software integration test environmentsStrong cross-functional collaboration and communication skills, with the ability to work effectively across software, hardware, and operations teamsProficiency with modern software development workflows and tools, including Git-based version control and code review practicesDemonstrates a willingness to adopt and effectively utilize AI-assisted engineering tools, applying sound judgment to improve productivity, quality, and innovation while continuously adapting to evolving technologies Bonus Points: Master's degree in Computer Science, Computer Engineering, or related fieldExperience developing software for aerospace applicationsExperience implementing embedded security solutions such as secure boot, hardware security modules (HSMs), certificate/key management, authentication, or encrypted communicationsFamiliarity with Linux networking concepts and infrastructure, including routing, interfaces, netlink, or packet-processing pipelinesExperience developing multi-stage bootloadersStrong knowledge of computer networking and modern networking protocolsExperience with RTL (Verilog and/or VHDL) and embedded SoCs Salary Range: $159,288 - $209,288 CAD Actual total compensation will be determined at the Company’s discretion and is based on a variety of job-related factors, which may include, but are not limited to, relevant knowledge, skills, experience, performance, and education and/or training. The Company encourages all qualified applicants to apply, even if the posted salary range does not align with their expectations, as it does not reflect our total compensation package. Job Type: This is for a current vacancy Employment Equity & Accommodation Statement Kepler Communications is an equal opportunity employer committed to building a diverse and inclusive workplace. We welcome applications from all qualified individuals, including women, Indigenous peoples, persons with disabilities, members of visible minorities, and people of all sexual orientations and gender identities. If you require accommodation during any stage of the recruitment process, please contact our People & Culture team at accommodation@kepler.space, and we will work with you to meet your needs. At Kepler Communications, all hiring decisions are made by people. Human recruiters are involved in every step of our recruitment process. We use AI-based tools (such as Lever AI and HireEZ) to assist with the initial review of applications by ranking candidates based on job-relevant criteria. These tools support - but do not replace - human judgment.