At Docker, we make app development easier so developers can focus on what matters. Our remote-first team spans the globe, united by a passion for innovation and great developer experiences. With over 20 million monthly users and 20 billion image pulls, Docker is the #1 tool for building, sharing, and running apps—trusted by startups and Fortune 100s alike. We’re growing fast and just getting started. Come join us for a whale of a ride!
The Developer Experience (DevEx) team builds the systems and experiences that help millions of developers build, secure, and ship software with confidence. We power critical parts of Docker Scout and Hardened Images, enabling developers and enterprises to understand and improve their software supply chains.
DevEx operates a polyglot backend infrastructure, with significant systems in both Clojure and Go. We're actively evolving our technology strategy: while we maintain sophisticated Clojure-based architecture (event-driven patterns, Datomic Cloud, distributed systems serving 20M+ users), we're working to consolidate around Go where it makes strategic sense and building new ownership capabilities in Go.
What this means for you: In the immediate term, you'll likely work more in Clojure than Go, and this may continue for a sustained period. Over time, the balance will shift. We need engineers who are genuinely excited about working across both languages - learning deeply where you have gaps and helping others do the same.
As a Staff Software Engineer, you'll be a key technical leader who works fluently across our technology stack. You'll drive architecture for distributed systems, influence cross-team design decisions, mentor engineers through technology transitions, and help shape how Docker's backend systems evolve. This isn't about abandoning what works - it's about pragmatic evolution that serves our users and business goals.
This role is ideal for a backend engineer with strong experience in either Clojure or Go (or both) who genuinely enjoys working with multiple languages, values pragmatic technology decisions, and wants to help guide platform evolution at scale.
Success in This Role Looks Like
You'll thrive here if you're language-pragmatic, enjoy working across teams, and can navigate technical evolution with clarity. Success means you've strengthened our architecture across both Clojure and Go, influenced strategy, guided engineers through transitions, and helped deliver impactful capabilities while maintaining reliability through change.
Responsibilities
Qualifications
Required:
Strong Plus
Critical mindset: You're genuinely enthusiastic about working in whichever language you have less experience with. If you're primarily a Go engineer, you're excited to dive deep into Clojure (potentially for an extended period). If you're primarily a Clojure engineer, you're eager to build Go expertise. We're looking for engineers who see technology transitions as opportunities, not obligations.
What To Expect
First 30 Days
First 90 Days
One Year Outlook
Docker considers sponsorship on a case-by-case basis based on business needs.
We use Covey as part of our hiring and / or promotional process for jobs in NYC and certain features may qualify it as an AEDT. As part of the evaluation process we provide Covey with job requirements and candidate submitted applications. We began using Covey Scout for Inbound on April 13, 2024.
Please see the independent bias audit report covering our use of Covey here.
Perks
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.
Compensation Range: $195,400 - $275,550
Docker’s friendly, CLI-based workflow makes building, sharing, and running containerized applications accessible to developers of all skill levels.
Install from a single package to get up and running in minutes. Code and test locally while ensuring consistency between development and production.