
Job Description
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.
Key Responsibilities:
-
Design, develop, and maintain reliable, high-quality embedded software for both spacecraft and ground-based systems supporting a growing fleet of satellites
-
Linux networking infrastructure, including routing, control-plane, and dataplane integration
-
Developing software for FPGA-based platforms, including bring-up, driver integration, and optimization of memory-mapped interfaces between processing cores and custom IP.
-
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
Required Skills & Qualifications:
-
8+ years of embedded software development experience
-
Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent experience
-
Strong proficiency in C and modern C++
-
Experience developing software for embedded Linux environments
-
Experience working close to operating system internals, including concurrency, IPC, synchronization, memory management, and hardware/software interfaces
-
Experience integrating and debugging complex software systems across multiple abstraction layers
-
Experience with embedded build systems and toolchains such as Yocto/OpenEmbedded, Buildroot, CMake, or similar
-
Ability to debug and optimize software in resource-constrained or performance-sensitive environments
-
Strong communication and collaboration skills in cross-functional engineering environments
-
Ability to work effectively across distributed teams and time zones
Bonus Points:
-
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
Optimize Your Resume for This Job
Get a match score and see exactly which keywords you're missing
Job Details
- Category
- Software
- Employment Type
- Full Time
- Location
- Toronto, Canada (Remote)
- Posted
- Last updated
- Aug 31, 2026, 02:10 PM
About Kepler Communications
Kepler Communications is a satellite communications company that is working towards establishing an in-space telecommunications network for space-borne assets. Put simply, we are building cell phone towers in space. This infrastructure will resolve the problem of intermittent connectivity for non-geostationary satellites, will open new business opportunities that necessitate real-time connectivity to satellites, and will reduce reliance on costly and difficult to deploy ground infrastructure.
More Roles at Kepler Communications





Similar Software Roles



Found this role interesting?