Staff Software Engineer, Developer Experience

Staff Engineer · Staff · Full Time · Remote

England · RemoteUSD 170k – 276k1w ago
Apply for this role

Opens Docker's application page

Role

What you'll do.

Staff Software Engineer role at Docker leading backend systems and developer experience initiatives within a globally distributed, remote-first team. This position requires 8+ years of demonstrated technical leadership on production systems, with expertise in distributed systems, event-driven architectures, and polyglot backend development. You will drive cross-team initiatives across Clojure, Go, and adjacent technologies while improving observability, security, and operational standards across Docker's developer-facing products including Docker Scout and Docker Hardened Images.

Responsibilities

  • Set Technical Direction for Backend Systems: Establish technical vision and architectural roadmap for major backend and developer-experience initiatives spanning Clojure, Go and adjacent systems. Define standards for distributed service design, API development, and event pipeline architecture that align with Docker's platform evolution and security requirements.
  • Translate Ambiguous Problems into Actionable Plans: Convert complex product or platform challenges into clear technical specifications, phased implementation strategies and measurable success metrics. Work across Product, Design and Security teams to ensure technical solutions directly drive customer outcomes and business impact.
  • Design and Operate Distributed Systems Infrastructure: Build, deploy and operate production-grade distributed services, event-driven pipelines, relational and distributed databases, and resilient APIs with enterprise-grade security and reliability characteristics. Optimize for high availability, data consistency and compliance requirements across Docker's developer-facing products.
  • Lead Cross-Functional Technical Delivery: Orchestrate complex initiatives spanning multiple engineering teams and organizational boundaries. Surface technical and operational risks early, remove blockers through collaborative problem-solving, and drive projects to completion without requiring formal authority through technical credibility and influence.
  • Evolve Technology Stack Pragmatically: Make data-driven recommendations for system modernization, including decisions to retain, evolve or replace existing components such as legacy Datomic dependencies. Guide the team through technology transitions while maintaining product velocity and customer trust.
  • Improve Operational Excellence and Observability: Enhance observability, incident readiness, performance monitoring and service ownership across the Developer Experience infrastructure. Establish SLOs, implement comprehensive monitoring, and improve mean-time-to-resolution through better instrumentation and incident response processes.
  • Leverage AI-Assisted Engineering Practices: Improve team engineering velocity through strategic automation, AI-assisted development workflows and technical controls that preserve human accountability. Champion thoughtful AI tool adoption while establishing code quality gates and security validations that maintain operational standards.
  • Mentor Senior Engineering Leaders: Coach senior engineers on technical decision-making, architecture design and operational thinking. Establish mentoring and design review cadences that increase team capability, enable larger ownership and create reusable patterns that amplify organizational impact.
  • Maintain Hands-On Technical Contribution: Remain actively engaged in code implementation, debugging, architecture design and production operations. Participate in the team's on-call rotation and paid incident response, ensuring deep understanding of system behavior and failure modes.
  • Communicate Technical Decisions in Remote-First Environment: Articulate architectural trade-offs, constraints, alternatives and customer outcomes through clear written and asynchronous communication. Create technical documentation, design proposals and decision records that enable distributed team alignment and organizational learning.

Qualifications

What we look for.

Technical

  • Advanced Backend Systems Architecture

    Deep expertise designing, building and operating production-grade backend systems and platform infrastructure at scale. Demonstrated success with distributed service architectures, microservices patterns, and system scalability challenges.

  • Distributed Systems and Concurrency

    Strong understanding of distributed computing fundamentals including consensus algorithms, eventual consistency, distributed transactions, failure modes and event-driven architectures. Experience optimizing for performance, reliability and operational clarity in complex system topologies.

  • Production Database Systems

    Hands-on experience designing and operating relational databases (PostgreSQL, MySQL), distributed databases (Google Cloud Spanner), and document stores. Understanding of query optimization, indexing strategies, data modeling for scale and operational characteristics of different database technologies.

  • Event-Driven Architecture and Stream Processing

    Production experience with asynchronous messaging systems, event streams, and complex data pipelines. Familiarity with Kafka, event sourcing patterns, eventual consistency, backpressure handling and monitoring event-driven workflows at scale.

  • Cloud-Native Infrastructure and DevOps

    Practical knowledge of containerization, orchestration, infrastructure-as-code and cloud platform services (AWS, GCP, Azure). Experience with deployment automation, observability tooling, security practices and operational excellence in cloud environments.

  • Strong Production Language Proficiency

    Deep ability to write production-quality code in at least one systems language with demonstrated capability to become effective rapidly in unfamiliar languages and existing codebases. Ability to reason about performance characteristics, error handling and operational concerns.

  • API Design and Integration Architecture

    Experience designing robust APIs, REST patterns, GraphQL or gRPC interfaces. Understanding of backward compatibility, versioning strategies, rate limiting and API security best practices for developer-facing systems.

  • Observability and Operational Visibility

    Deep understanding of logging, metrics collection, distributed tracing and monitoring systems. Experience designing observable systems, creating effective alerting, implementing SLOs and improving incident response through better instrumentation.

Education

  • Bachelor's Degree in Computer Science or Engineering

    Bachelor's degree in Computer Science, Engineering, or a related technical field is required.

  • Equivalent Practical Experience

    Equivalent demonstrated technical excellence and professional engineering experience can substitute for a formal degree, demonstrating mastery through production systems leadership and technical contributions.

Experience

  • 8+ Years of Software Engineering Leadership

    Minimum 8 years of professional software engineering experience with demonstrated technical leadership on production systems serving significant scale and complexity. Track record of guiding architectural decisions and mentoring other experienced engineers.

  • Production Backend and Platform Systems

    Significant hands-on experience building, deploying and operating backend systems and platform infrastructure in production. Experience spanning the full lifecycle from architecture through deployment, monitoring and incident response.

  • Cross-Team Technical Leadership

    Proven ability to lead complex technical initiatives that cross team or organizational boundaries. Experience navigating organizational complexity, building alignment among senior stakeholders and driving outcomes through influence and technical credibility.

  • Influencing Without Authority

    Track record of improving the effectiveness of experienced engineers and making architectural decisions that multiply team capability. Evidence of mentoring, design influence and raising technical standards across teams.

  • Operational Mindset and Incident Ownership

    Demonstrated commitment to operational excellence, including observability implementation, incident response leadership, on-call participation and ownership mentality toward system reliability and security.

  • Pragmatic Technology Decision-Making

    Experience making pragmatic technology choices based on business context, product requirements and team capability rather than technology trends. Track record of technology transitions and platform modernization initiatives.

Skills

Required

  • Production Language Mastery

    Expert-level proficiency in at least one systems programming language (Java, Go, Python, Rust, C++, etc.) with ability to write performant, maintainable production code and quickly become effective in unfamiliar languages.

  • Distributed Systems Design

    Deep knowledge of distributed computing patterns, failure modes, consistency models and scalability concerns. Ability to design resilient systems that handle partial failures, network partitions and high concurrency.

  • Backend API Development

    Proficiency designing and implementing REST APIs, gRPC, GraphQL or similar backend interfaces. Understanding of authentication, authorization, rate limiting, versioning and secure API patterns.

  • Database Design and Optimization

    Hands-on expertise with relational databases (schema design, query optimization, indexing) and distributed database systems. Understanding of different database paradigms and operational characteristics.

  • Event-Driven Systems

    Experience designing and implementing event-driven architectures, asynchronous workflows, message queues and stream processing. Understanding of eventual consistency, idempotency and complex event correlation patterns.

  • System Observability and Monitoring

    Expertise in designing observable systems with comprehensive logging, metrics and tracing. Experience implementing SLOs, creating effective alerting and using observability for incident response and system optimization.

  • Cloud Infrastructure and DevOps

    Practical proficiency with containerization, container orchestration, infrastructure-as-code and cloud platform services. Experience with CI/CD pipelines, automated deployment and infrastructure scaling.

  • Technical Leadership and Communication

    Ability to communicate complex technical concepts clearly through written documentation, design proposals and architectural decision records. Skill in building consensus, explaining trade-offs and influencing technical direction.

Preferred

  • Go Programming Language

    Nice to have

    Production experience building distributed systems, backend services or infrastructure tooling using Go. Understanding of goroutines, channels, concurrency patterns and Go's standard library ecosystem.

  • Clojure and Functional Programming

    Nice to have

    Production experience with Clojure or other functional programming languages. Understanding of immutability, persistent data structures, functional composition and REPL-driven development workflows.

  • Google Cloud Spanner

    Nice to have

    Production experience designing and operating applications using Google Cloud Spanner or similar globally distributed transactional databases. Understanding of strong consistency at scale and operational patterns.

  • Apache Kafka and Stream Processing

    Nice to have

    Experience designing and operating Kafka-based event streaming infrastructure, real-time data pipelines or stream processing applications (Kafka Streams, Flink, etc.).

  • Datomic Database

    Nice to have

    Familiarity with Datomic's unique architecture, immutable data model and query patterns. Understanding of transitioning legacy Datomic systems to modern alternatives.

  • Container and Build Systems

    Nice to have

    Experience with containerization technologies, build systems (Bazel, Nix, etc.), artifact management and supply chain tooling. Understanding of how developers use build systems and container technologies.

  • Security and Supply Chain

    Nice to have

    Background building or working on security products, software supply chain tools, vulnerability scanning, or supply chain security initiatives. Understanding of threat models and security controls.

  • AI-Assisted Development Tools

    Nice to have

    Hands-on experience using AI code assistants, LLM-powered tools or generative AI for software development. Demonstrated ability to evaluate AI-generated code critically and maintain accountability for quality.

  • Platform and Developer Experience Products

    Nice to have

    Experience building platforms, developer tools or developer experience products. Understanding of how technical choices impact developer workflows and productivity.

Compensation

Pay and benefits.

Base·USD 170,350 – 275,550

Equity·Stock options

Full posting

Original listing.

Docker has been one of the most loved brands in developer tooling, trusted by more than 20 million monthly users and over 20 billion container image pulls. From solo founders to the world's largest companies, developers rely on Docker to build, share, and run their applications across our suite of products including Docker Desktop, Docker Hub, and Docker Scout.

We are a globally distributed, remote-first team building the tools that define how software gets built and delivered. As AI agents redefine software development, Docker is at the center of that shift, providing the sandboxed environments, verified images, and secure infrastructure that make autonomous workflows trustworthy by default.

The Developer Experience team builds the backend systems and product capabilities that help developers understand, secure and ship software with confidence. The team powers important parts of Docker Scout, Docker Hardened Images and the workflows that turn supply-chain data into useful developer experiences.

Our systems are deliberately polyglot. Today that includes Clojure and Go services, event-driven workflows, Kafka, legacy Datomic components and newer Spanner-backed services. We will keep evolving the stack as the product and business change. We are looking for an adaptable backend engineer who can become effective in an unfamiliar codebase, choose technology pragmatically and help other engineers do the same. Clojure experience is useful, but it is not a requirement and this is not a Clojure-specialist role.

We make extensive use of AI-assisted engineering tools. We expect engineers to use them thoughtfully, validate their output and remain accountable for the quality, security and operability of what ships. At Staff level, you will also help the team turn good individual practice into repeatable workflows, controls and shared standards.

As a Staff Software Engineer, you will lead ambiguous, cross-team work from problem definition through measurable outcomes. You will remain hands-on in code while shaping architecture, raising operational standards and creating enough clarity for several engineers and partner teams to move quickly. Work may span developer-facing features, build and artefact workflows, data and event pipelines, platform evolution and integrations with Docker's build and security systems.

Success in This Role Looks Like

You will succeed by finding the highest-leverage problem, creating momentum before every detail is known and bringing people with you. Within your first year, teams should be delivering more confidently because you have made system boundaries clearer, reduced operational risk, connected technical choices to customer outcomes and helped senior engineers take on larger work.

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 the continued reduction of 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.

Qualifications

Required

  • 8+ years of software engineering experience, with demonstrated technical leadership on production systems at scale.

  • 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.

Helpful, but not required

  • 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.

What to Expect

First 30 Days

  • 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.

First 90 Days

  • 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.

One Year Outlook (First Year)

  • Be 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 turning technology choice into the goal.

  • Grow other senior engineers into broader ownership and reduce the number of decisions that depend on a small set of people.

Docker considers sponsorship on a case-by-case basis based on business needs.

 

Compensation & Equity

EU: €110,500 – €181,500+ equity

United States: $170,350 – $275,550 + equity

Perks

  • Freedom & flexibility; fit your work around your life

  • Designated quarterly Whaleness Days plus end of year Whaleness break

  • Home office setup; we want you comfortable while you work

  • 16 weeks of paid Parental leave (after 6 months of employment)

  • Technology stipend equivalent to $100 USD net/month

  • PTO plan that encourages you to take time to do the things you enjoy

  • Training stipend for conferences, courses and classes

  • Equity; we are a growing start-up and want all employees to have a share in the success of the company

  • Docker Swag

  • Medical benefits, retirement and holidays vary by country

  • Remote-first culture, with offices in Seattle and Paris

Docker embraces diversity and equal opportunity. We are committed to building a team that represents a variety of backgrounds, perspectives, and skills. The more inclusive we are, the better our company will be.

#LI-REMOTE

Redirects to Docker's application page.

Other roles

More at Docker.

View all 21 roles