Job Description
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 LikeYou'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.ResponsibilitiesLead architecture and design for major backend systems in both Clojure and GoWork across teams to define, align, and drive shared technical directionDesign, build, and operate backend services with a focus on scalability, security, and resilienceMake strategic recommendations about when to maintain, evolve, or rebuild componentsPartner with Product and Engineering leaders to connect technical decisions with business outcomesMentor engineers across DevEx in both Clojure and Go, helping teams navigate technology transitionsDrive improvements in observability, performance, and service reliability across the entire stackHelp refine DevEx's security posture in line with company-wide strategyRepresent engineering work clearly to senior stakeholders and other teamsParticipate in the on-call rotation and improve operational readiness across servicesChampion clear communication, documentation, and technical excellenceQualificationsRequired:Bachelor’s degree in Computer Science, Engineering, or a related field, or equivalent practical experience8+ years of directly applicable experienceDeep experience building and operating large-scale backend systemsStrong programming abilities in either Clojure or Go with demonstrated willingness and ability to learn the otherProven ability to drive architectural design and guide multi-team initiativesStrong understanding of cloud-native systems, distributed system patterns, and microservicesExperience influencing techn ... (truncated, view full listing at source)