D

Docker

Containerization platform for building apps

Staff Software Engineer - Developer Experience

Backend EngineeringConfirmed live in the last 24 hours
Full-time

About the Job

Requirements

  • At least 8 years of software engineering experience, with demonstrated technical leadership on production systems at scale.
  • A bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience.
  • Deep experience designing, building, and operating production backend or platform systems.
  • Strong programming ability in at least one production language, with evidence of becoming effective in unfamiliar languages and codebases.
  • Experience with distributed systems, event-driven architectures, APIs, relational or distributed databases, and cloud-native infrastructure.
  • A track record of leading complex initiatives that crossed team or organisational boundaries.
  • Strong technical and product judgement, including the ability to explain constraints, alternatives, customer outcomes, and business trade-offs.
  • Evidence of influencing without authority and improving the effectiveness of other experienced engineers.
  • An operational mindset that treats observability, resilience, incident response, and on-call ownership as part of engineering.
  • Comfort using AI-assisted engineering tools critically while retaining ownership of the result.
  • Clear written and spoken communication suited to a remote, async-first company.

Responsibilities

  • Set technical direction for major backend and developer-experience initiatives across Clojure, Go, and adjacent systems.
  • Turn ambiguous product or platform problems into clear plans, staged decisions, and measurable outcomes.
  • Design, build, and operate distributed services, event pipelines, databases, and APIs with strong security and reliability characteristics.
  • Lead cross-team delivery, surface risks early, and remove technical or organisational blockers without waiting for formal authority.
  • Make pragmatic recommendations about when to retain, evolve, or replace existing components, including reducing legacy Datomic dependencies.
  • Partner with Product, Design, Security, and other engineering teams to connect technical investment to developer and business outcomes.
  • Improve observability, incident readiness, performance, and service ownership across the Developer Experience estate.
  • Improve engineering leverage through appropriate automation, AI-assisted workflows, and controls that preserve human accountability.
  • Mentor senior engineers, raise the quality of design and code reviews, and create reusable patterns that multiply the team.
  • Stay hands-on through implementation, debugging, and the team's paid on-call rotation.
  • Communicate decisions and trade-offs clearly in a remote, async-first environment.
  • Build context on Developer Experience products, customers, architecture, and current priorities.
  • Pair across Clojure, Go, Datomic, and Spanner-backed systems and ship a useful production change.
  • Understand the operational profile of the team's services, including on-call and recurring failure modes.
  • Build working relationships with Product, Design, Security, and adjacent engineering teams.
  • Learn the team's AI-assisted engineering practices and identify where shared controls or workflows would improve them.
  • Lead the technical framing and delivery plan for one significant team or cross-team problem.
  • Contribute production code in the parts of the stack needed to move that work forward.
  • Identify and begin addressing a material reliability, observability, data, or architectural weakness.
  • Establish a mentoring and design-review cadence that helps other engineers own larger decisions.
  • Become a trusted technical leader for Developer Experience and a sought-after partner across Docker.
  • Deliver at least one material product or platform outcome spanning multiple teams or systems.
  • Improve the reliability, clarity, and delivery speed of the backend and data estate.
  • Shape pragmatic evolution across Clojure, Go, Datomic, Spanner, and future technologies without making technology choice the goal.
  • Grow other senior engineers into broader ownership and reduce the number of decisions that depend on a small set of people.

Desired Qualifications

  • Production experience with Go, Clojure, or both.
  • Experience with Spanner, Datomic, Kafka, or other distributed data and streaming platforms.
  • Experience with build systems, containers, artefact workflows, or developer tooling.
  • Experience evolving a platform, database, or language strategy without disrupting product delivery.
  • Experience building security or software supply-chain products.

About the Company

Docker

Containerization platform for building apps

Docker provides a containerization platform that lets developers build, share, and run applications inside isolated containers. It packages an application and its dependencies into a container image that runs the same on any system that supports Docker. Its main tools include Docker Desktop for local development, Docker Hub for container images, and a command-line interface to manage containers. It uses a freemium pricing model (Personal, Pro, Team, Business) and differentiates itself with its large ecosystem and official image repository to speed up development and deployment.

Company size
1,001-5,000
Company stage
Series C
Total funding
$526M
Headquarters
Palo Alto, CA
Founded
2013

Recently Posted Jobs

Explore more opportunities at Docker

See more jobs