Embedded Software Designer – Processing & Algorithms (Contingent) at Kepler
Kepler · Canada, Canada · Remote
Description
Key Responsibilities:
-
Design and develop reliable, high-quality software related to:
-
Processing pipelines for EO/IR, signal, and image data across space and ground systems
-
Interfacing with imaging and data sensors to collect and analyze data
-
On-board software for our next generation of satellites
-
Support the development of detection and tracking algorithms, including evaluating and integrating third-party IP from vendors and partners into the processing pipeline
-
Writing thorough tests and documentation
-
Participating in software design review and code review processes
-
Work with electrical, digital design, and operations teams to identify required features and solidify the system architecture
-
Provide technical leadership and mentorship to junior engineers
-
Identify shortcomings in existing software components and direct future development efforts
Required Skills & Qualifications:
-
5+ years of embedded software development experience
-
Bachelor’s degree in Computer Science, Electrical Engineering, or equivalent
-
Strong software design and development skills, including algorithms, testing and debugging
-
Proficiency in C/C++, especially in embedded topics such as concurrency, memory-mapped peripherals, and hardware interfaces (SPI, I2C, CAN)
-
Experience developing EO/IR, signal, or image processing algorithms
- Demonstrated willingness and ability to leverage AI-assisted engineering and development tools to improve productivity, design quality, and innovation while adapting to evolving technologies and best practices
- Comfortable using AI-assisted tooling for code development and testing
- Experience interfacing with different imaging and data sensors to collect and analyze data
-
Experience with embedded operating systems and build systems, including OpenEmbedded/Yocto and FreeRTOS
-
Excellent communication skills
-
Ability to effectively use Git and associated CI/CD features
Bonus Points:
-
Master’s degree in Computer Science, Electrical Engineering, or equivalent
-
Experience developing software for aerospace applications
-
Experience with detection and tracking algorithms for both edge and ground processing
-
Experience using ML/AI as part of the processing pipeline
-
Experience interfacing with FPGA or GPU processing hardware
-
Background (industry or personal projects) in sensor data collection and analysis