Embedded Software Designer

Kepler Communications Logo

Kepler Communications

πŸ“Remote

Summary

Join Kepler Communications, a company revolutionizing space internet connectivity, as a top-tier Embedded Software Designer. You will play a key role in developing and maintaining software for both space and ground-based assets of a growing spacecraft fleet. Your contributions will directly impact design and operation. This position requires significant experience in embedded software development, proficiency in C/C++, and familiarity with embedded operating systems. You will collaborate with various teams and provide technical leadership. The ideal candidate will possess strong software design skills, excellent communication abilities, and experience with embedded Linux. Kepler offers a commitment to fostering an inclusive and accessible work environment.

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

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 driversIoT 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

Preferred Qualifications

  • 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

Share this job:

Disclaimer: Please check that the job is real before you apply. Applying might take you to another website that we don't own. Please be aware that any actions taken during the application process are solely your responsibility, and we bear no responsibility for any outcomes.