Embedded Software Engineering Intern

Toronto, Ontario
Internships & Co-ops – Co-op & Internship /
Intern/Co-op /
On-site
Kepler is on an audacious mission: to bring the internet to space. Founded in 2015, our ambition is to provide internet connectivity in space, whether in LEO, MEO, GEO, or beyond. With an expanding base of early customers and our first 23 satellites in orbit, Kepler is continuing to grow and expand its most important asset – the Team!

We invest heavily to deliver the best products to our customers, and so we’re on the hunt for a top-tier Embedded Software Engineering Intern who will have the opportunity to work on a variety of tasks, including satellite on-board software, payload software, IoT modules and ground equipment. 

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 

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.) 
Please do not self-select out if you do not meet all of the criteria in this job description. If you think you could be a great fit, please apply, our team would love to review your application!

Kepler Communications Inc. is committed to fostering an inclusive, accessible environment, where all employees and customers feel valued, respected and supported. We welcome applications from: women, Aboriginal persons, persons with disabilities, ethnic minorities, visible minorities, people who identify as LGBT and others who may contribute to diversification in our workplace.

As part of our commitment to accessibility for all persons with disabilities, Kepler will, upon the request of the applicant, provide accommodation during the recruitment process to ensure equal access to applicants with disabilities. Please contact our People & Culture team, through our Career Page to make your accommodation needs known and we will consult with you to ensure suitable accommodation is provided.