Senior Software Engineer, Backend Systems
Docker, Inc
Job Overview
Who's the hiring manager?
Sign up to PitchMeAI to discover the hiring manager's details for this job. We will also write them an intro email for you.

Job Description
Senior Software Engineer, Backend Systems at Docker, Inc
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!
About the Team
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.
We're expanding our backend engineering group to strengthen the systems behind Docker's proprietary content and security capabilities. 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 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 contributing to thoughtful evolution of our platform.
What You'll Do
As a Senior Software Engineer, Backend Systems, you'll guide technical design, lead feature delivery, mentor engineers, and help shape our engineering culture through this transition. You'll work with event-driven patterns, distributed systems, and cloud-native infrastructure while helping us evolve our stack pragmatically.
This role suits someone who enjoys solving deep technical problems, values working across multiple technologies, and wants to grow their expertise while supporting others through change.
Success in This Role Looks Like
You'll thrive here if you enjoy leading by example and are genuinely curious about different programming paradigms. Success means you've improved system reliability across both Clojure and Go, contributed to architectural decisions, mentored engineers, grown your expertise in new languages, and helped shape a strong technical culture while keeping delivery front and center.
Responsibilities
- Design, build, and maintain backend systems and APIs in both Clojure and Go
- Lead small feature teams through planning, execution, and delivery
- Mentor engineers and share knowledge across the team, particularly during technology transitions
- Make pragmatic architectural decisions and contribute to long-term technical direction
- Work closely with Product, Design, and other engineering teams to deliver end-to-end value
- Improve observability, performance, and security of backend services
- Raise operational standards and take part in the paid on-call rotation
- Champion clear communication, documentation, and technical excellence
Qualifications
Required:
- Significant experience building and operating backend systems in production
- Strong programming skills in either Clojure or Go with demonstrated willingness and ability to learn the other
- Experience designing and maintaining distributed systems or microservices
- Strong understanding of cloud-native systems (AWS or GCP), APIs, and data stores
- Proven experience mentoring engineers and guiding projects from design to delivery
- Excellent communication skills in a remote, async-first environment
- A grounded, practical approach to balancing technical depth with business outcomes
- Bachelor’s degree in Computer Science, Engineering, or a related field, or equivalent practical experience.
Strong Plus:
- Production experience with both Clojure and Go
- Experience with Datomic, event-driven architectures, or Kafka
- Experience working through technology migrations or in polyglot environments
- Functional programming background (if coming from Go) or systems programming background (if coming from Clojure)
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 into Clojure and functional programming (potentially for an extended period). If you're primarily a Clojure engineer, you're eager to build Go expertise and expand your systems programming skills. We're looking for engineers who see learning new languages as an exciting opportunity.
What To Expect
First 30 Days:
- Learn our architecture, services, and workflows in both Clojure and Go
- Pair with engineers across both stacks
- Ship your first changes to production
- Get comfortable with our CI/CD, tooling, and deployment practices
- Understand our technology evolution strategy
First 90 Days:
- Own a small project end-to-end
- Lead a feature delivery or reliability improvement initiative
- Contribute meaningfully in both Clojure and Go codebases
- Contribute to documentation, designs, and mentoring
- Build strong working relationships across Product, Design, and Engineering
One Year Outlook:
- You're a trusted technical leader in DevEx
- You're comfortable and productive in both Clojure and Go
- You've improved backend reliability, performance, and delivery velocity
- You've mentored multiple engineers and shaped team-level architecture
- You're leading significant projects and contributing to our platform evolution strategy
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
- Technology stipend equivalent to $100 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
Key skills/competency
- Backend Systems
- Distributed Systems
- Cloud-Native
- Clojure
- Go
- API Design
- Technical Leadership
- Mentorship
- Event-Driven Architecture
- System Reliability
How to Get Hired at Docker, Inc
- Research Docker, Inc's culture: Study their mission, values, recent news, and employee testimonials on LinkedIn and Glassdoor.
- Tailor your resume for backend systems: Highlight experience with Clojure, Go, distributed systems, and cloud-native infrastructure.
- Demonstrate polyglot enthusiasm: Showcase your willingness and ability to learn new programming paradigms and languages.
- Prepare for deep technical discussions: Focus on system design, scalability, and problem-solving scenarios involving complex backend challenges.
- Showcase leadership and mentorship: Provide specific examples of guiding projects, mentoring engineers, and fostering technical excellence.
Frequently Asked Questions
Find answers to common questions about this job opportunity
Explore similar opportunities that match your background