Intern, Flight Software Engineering
Planet Labs Inc.About the role
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 authoritative figures 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 to develop new technologies, drive revenue, power research, and solve our world’s toughest obstacles.
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 strive to iterate 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.
Planet is a global company with employees working remotely world wide and joining us from offices in San Francisco, Washington DC, Germany, Austria, Slovenia, and The Netherlands.
Internships at Planet:
Planet’s Summer 2024 internships are full-time, paid 12-week positions.
Program Dates:
- May 28th - August 16th; or
- June 10th - August 30th
About the Role:
Join Planet's Flight Software Team as an intern and dive into the exciting world of satellite software engineering! Planet’s Flight Software Team is responsible for all of the embedded software applications that power our fleet of Superdove, Skysat, Pelican, and Tanager satellites. The software we build and maintain spans many functional verticals including navigation and avionics, payload control, radio software, and related tooling and infrastructure. We work collaboratively with many other teams at Planet, including teams responsible for payload, EE, RF, and ground control software.
As an intern you'll be an integral part of our Flight Software team, getting hands-on experience in building, maintaining, and operating the sophisticated tools that drive our satellites. Our mission is to create a seamless interface for spacecraft operators, analysts, and engineers at Planet, enabling reliable interactions with our space assets. While we aim to minimize operational challenges and enhance automation in satellite operations, your role will be to support these initiatives by assisting with a wide range of engineering tasks.
Under the mentorship of experienced professionals you will contribute to specifying, implementing, and refining satellite API’s, improving our development and test tooling, and evaluating and selecting software technologies suited to our unique needs. You'll also have the chance to help design and deploy essential infrastructure, making a real impact on Planet's success. This is a fantastic opportunity to learn, grow, and engage with seasoned operators and engineers, gaining invaluable insights into the inner workings of embedded satellite systems.
Impact You’ll Own:
- Assist in root cause investigations under the mentorship of senior engineers, learning to navigate and contribute to debugging and refining RTOS and Linux-based application code
- Contribute to the enhancement of existing codebases, helping to analyze and improve the performance and reliability of satellite function under the guidance of our seasoned engineers
- Engage in collaborative projects with senior engineers to help define specifications, refine component API’s, and craft documentation
- Assist in setting up hardware test stations and enhancing on-target test coverage to help improve the reliability and robustness of our codebase
What You Bring:
- Currently pursuing a Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field, with expected graduation within the next year
- Excellent communication skills and a willingness to engage in collaborative work environments, with the ability to learn and explain technical concepts in team settings
- Some programming experience through academic projects, internships, or personal projects in languages such as C/C++, Python, Go, Rust, or C#, preferably but not necessarily within a Linux environment
What Makes You Stand Out:
- Coursework or projects in embedded programming, operating systems, feedback and control systems, algorithms, and/or computer architecture
- Familiarity with systems programming concepts such as memory management and networking through academic or personal projects
- Introductory experience or academic project
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s