Senior Software Engineer

    • Flexible / Remote

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 headquartered in San Francisco, California, Earth.

About the Role:  

Planet’s Compute Team owns the systems used to transform, analyze, and deliver imagery from our constellation of satellites. These systems are primarily responsible for providing external customer access to the continuous feed of imagery we receive from the satellites. This team’s contributions will enable any number of new techniques to understand our changing world.

This role will be responsible for the infrastructure and software making up the cloud computing and delivery layers providing access to imagery for our consumers. Our tech stack consists of Go, Python, PostgreSQL, and Kubernetes running on Google’s Cloud. At Planet our teams are a blend of pragmatic operators and software craftspeople. Planet is looking for a developer who specializes in large backend data services. Some backend services at Planet are distributed systems and require pragmatic engineering with data-driven decision making. The ideal candidate will be able to apply sound engineering principles, operational discipline, and mature automation to our services. 

The Compute Team is highly distributed and you will thrive in an environment of remote work and asynchronous communication. You're expected to have strong written communication skills and be able to develop working relationships with coworkers in locations across several time zones.

As an Engineer on the Compute Team you will:

  • Improve reliability and scalability by resolving edge cases, studying failure modes, and writing tests
  • Evolve customer-facing data delivery services with an emphasis on scale and customers requirements
  • Work to enable efficient and rapid access to our variety of new and growing data sets
  • Manage underlying persistence layers in PostgreSQL 
  • Use GCP tools like Cloud Pub/Sub and Cloud Storage with the Go/Python Google SDKs
  • Own the operation of these services by measuring performance, creating alerts, runbooks, and responding to incidents and performance anomalies
  • Participate in an on-call rotation in support of our team’s services

You may be a fit for this role if you:

  • Have strong programming skills in Python and/or Go
  • Have experience building services that leverage cloud-based infrastructure and tooling such as AWS or GCP
  • Have experience  working with monitoring tools like Prometheus, InfluxDB, or equivalent
  • Have experience with SQL databases (PostgreSQL or MySQL) and NoSQL databases (e.g. Bigtable, Redis, HBase, etc.) and understand when to use each
  • Have experience with a large shared codebase and continuous integration and deployment workflows and tooling like GitLab CI and especially Docker
  • Have managed networking of a high traffic (thousands to tens of thousands reqs/sec) service using technologies like nginx, Envoy, or HAProxy 
  • Have maintained infrastructure with Kubernetes, Terraform, and Ansible
  • Have a deep understanding of the Linux operating system
  • Have experience working with geospatial data and concepts

Education & Experience

  • Bachelor or Master degree in Information Systems, Computer Science, Engineering, or equivalent job-related experience with 4+ years of experience as a Software Engineer (or similar title).
  • Excellent interpersonal and communication skills, written and oral

Some Press About Us: 

Our CEO, Will Marshall featured on TED and at a recent Dreamforce Talk

“Planet: Bringing Space Back Down to Earth”

"The All-Seeing Eye in the Sky video" Bloomberg Businessweek video

“Planet And Rocket Lab Create Mission Patch To Honor Women In Aerospace” —Planet Blog

Why we care so much about Belonging. 

We’re dedicated to helping the whole Planet, and to do that we must strive to represent all of it within each of our offices and on all of our teams. That’s why Planet is guided by an ultimate  north star of Belonging, dreaming big as we approach our ongoing work with diversity, equity and inclusion.  If this job intrigues you, but you’re thinking you might not have all the qualifications, please... do apply!  At Planet, we are looking for well-rounded people from around the world who can contribute to more ways than just what is listed in this job description.  We don’t just fill positions, we aspire to fulfill people’s careers, most excited about folks who are motivated by our underlying humanitarian efforts.  We are a few orbits around the sun before we get to where we want to be, so we hope you’re excited to come along for the ride.  

Back to top