Embedded Software Engineer, Onboard Software at Planet
San Francisco, CA, US

Welcome to Planet. We believe in using space to help life on Earth.

Planet designs, builds, and operates the largest constellation of imaging satellites in history. This constellation delivers an unprecedented dataset of empirical information via a revolutionary cloud-based platform to decision-makers in commercial, environmental, and humanitarian sectors. We are both a space company and data company all rolled into one.

Customers and users across the globe use Planet's data and machine learning-powered analytics to develop new technologies, drive revenue, power research, and solve our world’s toughest challenges.

As we control every component of hardware design, manufacturing, data processing, and software engineering, our office is a truly inspiring mix of experts from a variety of domains.

We have a people-centric approach toward culture and community and we are iterating in a way that puts our team members first and prepares our company for growth.

Join Planet and be a part of our mission to change the way people see the world.

The Role:

The Onboard Software Team is responsible for creating and maintaining the guidance and control software for our fleet of Dove satellites. We also build tools, payload software and radio software! As a member of the OSW team, you will have be working to develop and improve the software that runs our fleet of observation satellites! This will involve working with a broad variety of disciplines, including our top-notch payload, electrical design and mission control teams!

The Responsibilities:

  • Design, develop, test and debug software for our fleet of satellites! Including software for both embedded microcontrollers and embedded Linux.
  • Build and maintain software tools to support the satellite test and production environment.
  • Promote and improve procedures for remote and safe updates of satellite software
  • Collaborate in cross-functional teams to validate and improve satellite systems.
  • Implement metrics to track and improve software quality and maturity.

The Must-Haves:

  • Proven history of thinking through complex, interdisciplinary problems and debugging to identify and correct root causes
  • 3-10 years of programming experience in C. Ideally, development for microcontrollers and/or low-level Linux applications.
  • Experience with python programming and python package deployment
  • Strong background in Linux, including shell mastery
  • Experience with system validation that includes embedded software and/or remote systems
  • Comfortable with common open-source development tools (GCC, make) in a Linux environment.
  • Proponent of continuous integration and automated testing
  • Familiar with build systems for Linux and embedded targets. Linux software packaging and distribution (dpkg/apt or similar). Experience with DVCS such as git or mercurial

The Nice-to-Haves:

  • Experience with previous aerospace projects or cubesats!
  • Experience in the mobile, networking, medical, robotics, IoT, or similar embedded device industries.
  • Experience with some some of our key technical areas, such as cameras or other image sensors, high-speed radio communication, FPGA development, or guidance, navigation and control.
  • Knowledge of industry standards for software quality practices.
  • Experience building embedded OS distributions.
  • Contribution to open source projects, especially small-device or similar.
  • Cool side projects, great life stories, robot owners