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.
Planet’s Search team is developing systems to store and access 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 role will be responsible for the infrastructure and software making up our search, storage and indexing layer providing access to imagery for our consumers. Our tech stack is Go, Python, Elasticsearch, BigTable, Postgres, and Kubernetes running on Google’s Cloud. We believe strongly in minimizing operational toil through software engineering. Your contributions will enable any number of new techniques to understand our changing world.
The Search 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.
- Build services in Go and Python to provide schema-management, publishing and query APIs.
- Work with stakeholders in product and engineering to identify new capabilities to optimize workloads and support new initiatives. Design new features in a disciplined and sustainable way
- Write high-quality, maintainable, highly-available, well-documented production code
- Evaluate system risks and improve reliability via code, process, documentation, architecture and other improvements
- Own operation of services by measuring performance, creating alerts, runbooks, and responding to incidents and performance anomalies
- Manage underlying persistence layers in Bigtable and indexing in Elasticsearch.
- Participate in an on-call rotation in support of our team’s services.
- Experience building services that leverage cloud-based infrastructure and tooling such as AWS or GCP
- Experience working with a distributed team across multiple time zones
- History of working with monitoring tools like Nagios, New Relic and Graphite (or equivalent)
- Experience using Configuration Management Tools (Ansible preferred or Puppet/Chef) in a production environment
- Comfortable with using Docker containers in a production environment
- Deep understanding of the Linux operating system
- Experience with SQL databases (Postgres or MySQL) and NoSQL databases (e.g. Bigtable, Redis, HBase, etc.), and understand when to use each
- Experience with a large shared codebase and Continuous Integration and Deployment workflows and tooling
- Solid grasp of database internals. You’ve seen both good and bad indexes on databases and know what questions to ask to distinguish between the two. We expect you’ll have a good idea of how things like indexing, query planning and replication work in your favorite database.
- Comfortable working in a Linux operational environment. Experience using and troubleshooting networking APIs and other system calls. While this is a software engineering team, we do largely manage our own operations (with the exception of Kubernetes control/worker pools, CI tools and the like), including participating in on-call rotation.
- Comfortable with distributed systems concepts, reasoning about concurrency and making consistency tradeoffs.
- Experience working with and building services around large-scale data storage systems
- Familiarity with geospatial concepts, and how they are applied in popular open source software like GEOS/GDAL.
- Experience with containerized build and deployment processes and container orchestration systems like Kubernetes.
Education & Experience
- Bachelor or Master degree in Information Systems, Computer Science, Engineering or equivalent job-related experience with 4+ years experience as a Software Engineer working on data platforms (batch/stream processing, high-qps and/or large-scale data store services).
- Excellent interpersonal and communication skills, written and oral
Some press about us:
Our CEO, Will Marshall's TED Talk
"Tiny Satellites ushering in the New Space Revolution" Bloomberg Businessweek
"The All-Seeing Eye in the Sky video" Bloomberg Businessweek video
Planet is headquartered in San Francisco, California, Earth. If you are feeling inspired, check out our website www.planet.com/careers and apply. Be sure to include a cover letter to let us know why you think you’d be a good fit and feel free to mention anyone you have previously worked with at Planet.
We are committed to building a diverse team and encourage applications from people of all backgrounds.