Embedded Software Engineer

Company Details

We are on a mission to build the Internet in Space

Kepler is on a Mission to bring the internet to space. Incorporated in 2015, Kepler’s guiding star is to enable the space economy through the creation of a communication network in Low Earth Orbit (LEO) that will provide connectivity services to other space missions, be they on orbit in LEO, MEO, GEO, or beyond.  With an expanding base of early customers and our first 19 satellites in orbit, Kepler is continuing to grow and expand its most important asset – the Team! Based out of our HQ in Toronto and with an office in the UK and a newly formed office in the US we are building towards a truly global company delivering a product for the whole world.

We’re on the hunt for a top-tier Embedded Software Engineer. Your focus will be on software development and maintenance required for both space and ground based assets for a growing fleet of spacecraft. You’ll be relied upon for input and decisions that will directly impact design and operation.

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
  • Provide technical leadership and mentorship to junior engineers
  • Identify shortcomings in existing software components and direct future development efforts

Requirements:

  • 5+ years of embedded software development experience
  • Bachelor’s degree in Computer Science or equivalent
  • 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, device trees, and drivers
  • Excellent communication skills
  • Ability to effectively use git

Bonus Points:

  • Master’s degree
  • Python development experience
  • Experience developing software for aerospace applications
  • Experience developing multi-stage bootloaders
  • 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.)Experience with ARM assembly

Tagged as: yocto, I2C, SPI, CAN, freertos

Visit Us On LinkedinVisit Us On FacebookVisit Us On Twitter