Embedded Software Designer
Kepler Communications
Our mission is to provide real-time on-orbit connectivity for critical missions, enabling a new era of data-driven intelligence and innovation. With 33 satellites launched to date, Kepler operates the first commercial optical data relay constellation, enabling real-time, continuous space communications while supporting advanced on-orbit compute and hosted payload capabilities.
-
Design, develop, and maintain reliable, high-quality embedded software for both spacecraft and ground-based systems supporting a growing fleet of satellites
-
Design and implement secure communications capabilities, including encryption, authentication, and key exchange for next-generation data links
-
Build and maintain low-level software components including device drivers, kernel modules, hardware interfaces, and platform services
-
Develop automated tests, validation tools, and technical documentation to support robust software delivery and long-term maintainability
-
Participate in software architecture discussions, design reviews, and code reviews to ensure software quality and system reliability
-
Collaborate closely with cross-functional teams to define system requirements, debug complex issues, and evolve system architecture
-
Identify performance gaps, reliability risks, and architectural shortcomings in existing systems, and drive improvements across the software stack
-
Provide technical leadership, mentorship, and guidance to junior engineers while contributing to engineering best practices and development standards
-
4+ years of experience developing embedded software for complex, high-reliability systems
-
Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experience
-
Strong software engineering fundamentals, including system design, debugging, testing, performance analysis, and maintainable code development
-
Proficiency in C/C++ for embedded systems, including concurrency, interrupt handling, memory-mapped peripherals, and hardware communication interfaces such as SPI, I2C, UART, and CAN
-
Experience developing software for embedded Linux and/or RTOS environments, including familiarity with build systems such as Yocto/OpenEmbedded and operating systems such as FreeRTOS
-
Experience developing low-level embedded Linux components including kernel modules, device drivers, and device tree integrations
-
Experience developing and maintaining automated test frameworks, validation tooling, or hardware/software integration test environments
-
Strong cross-functional collaboration and communication skills, with the ability to work effectively across software, hardware, and operations teams
-
Proficiency with modern software development workflows and tools, including Git-based version control and code review practices
-
Master's degree in Computer Science, Computer Engineering, or related field
-
Experience developing software for aerospace applications
-
Experience implementing embedded security solutions such as secure boot, hardware security modules (HSMs), certificate/key management, authentication, or encrypted communications
-
Familiarity with Linux networking concepts and infrastructure, including routing, interfaces, netlink, or packet-processing pipelines
-
Experience developing multi-stage bootloaders
-
Strong knowledge of computer networking and modern networking protocols
-
Experience with RTL (Verilog and/or VHDL) and embedded SoCs
Hiring for this role?
Claim and feature it — priority homepage placement, your logo, and a slot in the jobs newsletter.
Claim and feature this jobRelated openings
- Hardware Test Engineering Manager — Kepler Communications, Toronto, Ontario,CA
- Hardware Test Engineer - Contract 3+ Months — Kepler Communications, Toronto, Ontario,CA
- Embedded Software Engineering Intern (January 2027) (4 months) — Kepler Communications, Toronto, Ontario,CA
- Embedded Software Designer – Sensor Processing Algorithms — Kepler Communications, Toronto, Ontario,CA
- Firmware Engineer, Space (Emerging Talent) — Anduril, Costa Mesa, California, United States
- Associate Embedded Software Engineer — Analog Devices, US, MA, Wilmington; US, CA, San Jose, Rio Robles; US, NC, Durham