Distributed Systems Software Engineer
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!
- 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
- Perform code reviews, identify bottlenecks, and propose solutions for improvements.
- Troubleshoot complex technical issues in distributed environments.
- 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
- Experience with cloud platforms (e.g., AWS) is a plus.
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 and Dependent Care Flex Spending
Short and Long Term Disability and Life Insurance
FSA and HSA
Gourmet-style, Daily Lunch
Capella Community Events
Equity Commuter and Parking benefits
Dog-friendly Work Environment (SF)
Cell and Internet Monthly Stipend