Planet is a company that designs, builds, and operates the largest constellation of imaging satellites in history. The Software Engineer on the Compute Team will develop and operate distributed systems that ensure workflows for processed imagery and insights are reliably executed at scale.
Responsibilities:
- Spearheads the evolution of compute and data delivery services with an emphasis on scale and user requirements
- Collaborates to enable efficient and rapid access to our variety of new and growing data sets
- Improves reliability and scalability by resolving edge cases, studying failure modes, and writing tests
- Manages underlying persistence layers across Spanner, Redis, PostgreSQL and BigTable
- Owns the operation of these services by measuring performance, creating alerts, runbooks, and responding to incidents and performance anomalies
- Participates in an on-call rotation in support of our team’s services
Requirements:
- 4+ years of relevant work experience building services in a language like Go or Python, and a clear interest in becoming an expert in both
- Experience of cloud-native development - containerization, cloud services such as GCP/AWS
- Experience with a large shared codebase, continuous integration and deployment workflows, and tooling like GitLab CI
- Excellent interpersonal and communication skills, written and oral; can explain deeply technical topics to teammates and users
- Experience with orchestration workflows (e.g., Temporal) and batch/queue processing for high-concurrency systems
- Expertise in large-scale distributed systems, including data consistency tradeoffs and high-volume networking (e.g., Nginx/Envoy)
- Operational proficiency with Kubernetes, Terraform, ArgoCD, Crossplane, and Linux internals
- Experience implementing observability tools like Prometheus and Grafana to monitor service performance
- Experience working with geospatial data, remote sensing, and related domain concepts