Senior Engineer - Kubernetes

San Francisco or Remote
Engineering

What we're looking for

Are you looking for a challenge to automate stateful infrastructure at scale? Ditto's core data sync platform is able to run across a variety of platforms, including in cloud environments. Now our growing team is looking for a passionate engineer to help us automate these deployments.

The ideal candidate has professional experience with Kubernetes and cloud-native architectures. Do you know the tradeoffs with StatefulSets? Interested in writing an Operator?

At Ditto, we have no shortage of additional hard technical problems, such as mesh networking, replication protocols, CRDTs, and database design, just to name a few! You will collaborate with other senior engineers and ensure our platform is reliable to operate. We are investing heavily into Rust as we aim to create bindings for various languages with a one-click deployment.

Work with a remote team, manage your own time, and tackle interesting problems. Ditto is an equal opportunity employer with people from many different cultures and countries. We celebrate diversity and are committed to building a team that represents a variety of backgrounds, skillsets, and perspectives, and to providing our employees with a rewarding and inclusive work environment.

Responsibilities

  • Developing a cloud-native architecture for Ditto:

    • Support different deployments across cloud providers or on-prem

    • Ensure visibility and monitoring across a distributed system

    • Create a product experience customers LOVE to run

  • Contribute and fix bugs in upstream Kubernetes

  • Ensure developer velocity of system updates in an operating cluster

  • Write extensive tests and use chaos engineering to ensure deployment reliability

  • Mentor and teach team members

Requirements

  • Professional work experience with stateful Kubernetes deployments

  • Strong knowledge of distributed systems, containers, and orchestration

  • Knowledge of Linux software packaging, distribution, and configuration

  • Knowledge in low-level programming languages such as C, C++ and preferably Rust.

  • Strong experience debugging distributed systems

  • Strong communication skills, particularly written communication skills