Embedded Software Engineering Intern (September 2025)
Kepler Communications
Position Responsibilities:
- Design and develop reliable, high quality software related to: on board software for our next generation of satellites; Embedded Linux for both space and ground systems; Firmware and drivers; IoT modules
- 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
Position Requirements:
- 2+ years of embedded systems experience
- Currently enrolled in a Computer Science or equivalent degree program
- Strong software design and development skills, including algorithms, testing and debugging
- Proficiency in C/C++, especially in embedded topics such as interrupt handlers, concurrency, memory mapped peripherals, and hardware interfaces (SPI, I2C, CAN)
- Experience with embedded operating systems and build systems, including OpenEmbedded/Yocto and FreeRTOS
- Embedded Linux experience including writing kernel modules and drivers
- Excellent communication skills
- Ability to effectively use git
- Currently enrolled in a post-secondary program and returning to studies after the internship
- Available for a full-time, 4, 8, 12, or 16 month internship beginning September 2025
- Opportunity to work out of our new Toronto office! This position can be based onsite at our Toronto office (24 Ward Street), hybrid, or remote, depending on the candidate’s location.
Bonus Points:
- Relevant experience with hobbies or University design team
- Python development experience
- Strong knowledge of computer networking and modern networking protocols
- Experience with RTL (Verilog and/or VHDL) and embedded SoCs
- Hardware debugging experience (oscilloscopes, logic analyzers, etc.)