Careers

Our companies are made up of insanely talented people driven to change the world — and many of them are hiring. If you have drive, expertise, and a taste for adventure, we whole­heart­edly encourage your interest.

  • 79
    Companies Hiring
  • 2,515
    Open Roles

Distributed Systems Software Engineer

Capella Space

Capella Space

Software Engineering
San Francisco, CA, USA · San Francisco, CA, USA · Remote
Posted 6+ months ago

Capella is at the forefront of making vital information about our world accessible in a timely manner. We’re leveraging proven technologies and building new capabilities to create a constellation of SAR satellites that can collect information about any spot on the planet within an hour.

At Capella you’ll work in a collaborative team environment, alongside smart people with a history of space mission success. No prior space experience is needed—we’re looking for people excited about tackling seemingly impossible challenges, learning new skills and concepts, and helping each other achieve success. Our mission and our products are meant to understand the whole world and help everyone in it, regardless of race, creed, or any other distinction.

We believe in a diverse and inclusive workplace, and we encourage all people to join our team and bring their unique perspective to help make us stronger. We value diversity at Capella and welcome applications from those who are traditionally underrepresented in tech. If you like the sound of this position but are not sure if you are the perfect fit, please apply!

About the Team

The Platform Engineering team is responsible for building, maintaining, and improving the software, infrastructure, and systems that operate Capella constellation. We prepare for satellite launches, maintain spacecraft on-orbit, and develop new capabilities to improve how customers can collect and access Earth imagery. The team’s focus is on software and system engineering maintaining and improve a fully-autonomous, rapid-response spacecraft operations system.

We seek to push boundaries and solve challenging problems where there aren’t known answers. Learning to be comfortable with uncertainty and taking the initiative are key skills for success. The team values and always strives to maintain a collaborative and supportive environment where supporting each other, teaching, and learning are our core principles—we tackle our challenges together.

About the Role

Capella Space is looking for an experienced distributed systems software engineer to join the Ground Segment team and own major improvements to our spacecraft data pipelines. We're looking for somebody who has familiarity with the challenges and constraints of software that interfaces with many data sources and sinks at speed, in a high-reliability environment. This role will require close collaboration with the Infrastructure and Tasking (constellation optimization) teams to devise creative technical solutions that can be effectively deployed, verified and monitored.

In addition, all Ground Segment team members support multiple phases of the development process from design through decommissioning, so although the role is software-focused, we're looking for somebody who will be willing to be involved with a variety of operational tasks including, but not limited to software infra spin-up to support spacecraft production teams and spacecraft commissioning activities. In addition, we're looking for somebody that is willing to dig into complex failure modes, suggest mitigations and redesigns to improve reliability, and to mentor junior engineers.

This role has a 24hr on-call requirement roughly 1 week every two months.

Although Capella owns and operates spacecraft, we are a data company! There is no space experience necessary for this role!

Responsibilities:

  • Design, develop, and maintain scalable distributed systems using Python and related technologies.
  • Implement and optimize microservices architecture for high availability and fault tolerance.
  • Collaborate with cross-functional teams to define and implement system requirements.
  • Design metrics to evaluate the reliability, scalability, and efficiency of distributed
  • systems.
  • Perform code reviews, identify bottlenecks, and propose solutions for improvements.
  • Troubleshoot complex technical issues in distributed environments.

Requirements:

  • Strong systems programming skills including multi-threading, concurrency, caching, batching, etc.
  • Proficiency in Python, C++ or Rust and development ecosystems.
  • Ability to communicate clearly about complex systems and formulate easily
  • comprehensible solutions to domain-specific problems
  • Working knowledge of microservice architecture and related technologies (e.g., Docker,
  • Kubernetes, REST APIs).
  • Strong understanding of networking principles and protocols.
  • Experience with distributed data stores and messaging systems (e.g. Redis) and task
  • queues like AMQP or Celery
  • Strong communication skills and the ability to work collaboratively in a team
  • environment.
  • Experience with cloud platforms (e.g., AWS) is a plus.

Compensation Ranges:

SF: $133,600- $200,400

CO: $106,900 - $160,300

In addition to an opportunity to take part in an innovative and fast-growing business with a highly motivated and skilled team, we also take pride in taking care of our employees. Here are just a few ways that we show our appreciation:

Medical/Dental/Vision Insurance

Medical and Dependent Care Flex Spending

Short and Long Term Disability and Life Insurance

FSA and HSA

401(k) Plan

Flexible PTO

Gourmet-style, Daily Lunch

Capella Community Events

Equity Commuter and Parking benefits

Parental Leave

Dog-friendly Work Environment (SF)

Cell and Internet Monthly Stipend