
Senior Software Engineer, Docker Desktop (East Coast)
Docker, Inc · United States
- Hybrid
- Full-time
- CA$361,750 / year
- United States
Tailored resume — keyword-matched to this role.
Hiring manager — we find who's hiring.
Intro email — drafted to reach them directly.
Job highlights
- Develop core Docker Desktop lifecycle components.
- Improve reliability and performance on macOS/Windows/Linux.
- Work on OS-level integrations and system behavior.
- Debug complex system-level issues and improve software.
- Collaborate with platform and feature teams.
About the role
About Docker
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. Docker Desktop is one of the core pillars of the Docker suite - powering the workflows of millions of developers worldwide. According to the Stack Overflow Developer Survey, Docker has been ranked the most-used, most-desired, and most-admired developer tool for multiple years running. Join the Docker Desktop team - we are shaping the experience behind one of the most loved tools in modern software development!About The Docker Desktop Team
The Desktop Platform team is responsible for the core lifecycle of Docker Desktop, including installation, updates, startup, and key shared components used by every Docker Desktop feature team. Our work ensures that Docker Desktop is reliable, and easy to adopt, while providing the modular foundations that enable other teams to build and ship with confidence.About This Role
In this role, you will focus on the desktop and operating system layer of Docker Desktop. You’ll work on installers, updaters, system services, and OS-level integrations across macOS and Windows, improving reliability, performance, and user experience across the full lifecycle of the product. The successful candidate will have strong operating system fundamentals and experience building or maintaining desktop or system-level software. For this role, you must be comfortable and experienced working closely to the OS, debugging complex issues, and improving how software installs, starts, and runs on user machines. You’ll operate with high ownership, communicate clearly through documentation, and are comfortable driving work in a highly autonomous environment.Responsibilities For This Role
- Design, develop, and maintain lifecycle components, including installation, update, startup, and system services.
- Improve reliability and performance of Docker Desktop across macOS, Windows and Linux environments.
- Work on OS-level integrations, permissions models, and system behavior such as admin vs admin-less installs.
- Debug and resolve complex issues related to startup, crashes, and system interactions.
- Collaborate with platform and feature teams to ensure seamless integration with shared components.
- Contribute to documentation, technical design discussions, and knowledge sharing across the Desktop ecosystem.
- Write high-quality code with strong test coverage and support healthy engineering practices.
- This role may require participation in an on-call rotation to provide support outside of standard business hours, including evenings, weekends, and holidays, as needed.
Minimum Required Qualifications
- 6+ years of experience building backend software, with recent demonstrated hands-on Go (Golang) proficiency. We are looking for strong backend and platform engineering experience for this role.
- Strong understanding of operating systems (macOS, Windows, or Linux), including system APIs and behavior
- Demonstrated ability to design modular, maintainable system components that scale across teams.
- Ability to debug complex system-level issues and improve reliability and performance.
- Experience designing modular, maintainable components used by other teams.
- Strong problem-solving skills and ability to work through ambiguity.
- Excellent communication skills, including written documentation and technical design discussions
- Willingness to learn Go and contribute to a Go-based codebase.
- Bachelor’s degree in Computer Science, Engineering, or a related field, or equivalent practical experience.
Nice-to-have Experience
- Experience with cross-platform desktop development.
- Familiarity with virtualization, networking, or container technologies.
- Experience with telemetry, diagnostics, or system observability.
- Exposure to release engineering or CI/CD systems.
What To Expect
First 30 Days- Meet your team, your onboarding buddy, and key collaborators across Docker Desktop.
- Set up your development environment and become familiar with the Desktop Platform architecture, lifecycle systems, and key internal components.
- Contribute your first small changes—bug fixes, reliability improvements, or performance tweaks.
- Participate in design discussions and pair programming to gain exposure to our tooling and workflows.
- Drive or co-drive a larger feature, from design to development.
- Present findings, technical proposals, or insights to the team through proposal reviews or internal demos.
- Influence roadmap priorities based on what you’ve learned about the system’s strengths, gaps, and opportunities.
- Deliver measurable impact with the team.
- Lead architectural or cross-cutting platform initiatives that improve development velocity or user experience.
- Help shape long-term technical direction with well-considered proposals and influence cross-team engineering practices.
- Become a go-to engineer for complex issues and a trusted partner to teams building on top of the platform.
Key Skills/Competency
- Senior Software Engineer
- Docker Desktop
- Backend Software Development
- Go (Golang)
- Operating Systems (macOS, Windows, Linux)
- System APIs
- System-level Software
- Reliability Engineering
- Performance Optimization
- Problem-Solving
Skills & topics
- Senior Software Engineer
- Docker Desktop
- Backend Development
- Go
- Golang
- Software Engineering
- Operating Systems
- macOS
- Windows
- Linux
- System APIs
- System Services
- Remote Work
- Developer Tools
How to get hired
- Tailor your resume: Highlight Go (Golang) proficiency, backend/platform engineering, and OS fundamentals. Quantify achievements in reliability and performance.
- Showcase system-level expertise: Emphasize experience with installers, updaters, system services, and OS integrations on macOS, Windows, or Linux.
- Demonstrate problem-solving: Provide examples of debugging complex system issues and driving improvements in software installation and startup.
- Highlight collaboration: Mention experience contributing to documentation, technical design discussions, and knowledge sharing in a team environment.
- Prepare for technical interviews: Be ready to discuss Go programming, operating system concepts, and system-level architecture.
Technical preparation
Master Go (Golang) for backend and systems.,Deepen OS knowledge (macOS, Windows, Linux).,Practice debugging complex system issues.,Understand system APIs and component design.
Behavioral questions
Describe a complex system issue you debugged.,How do you ensure code reliability and performance?,How do you handle ambiguity in projects?,How do you contribute to team knowledge sharing?
Frequently asked questions
- What is the work arrangement for the Senior Software Engineer, Docker Desktop role at Docker, Inc.?
- This is a 100% remote role. However, candidates must be currently living in the East Coast time zone (US or Canada) as Docker, Inc. is unable to make exceptions to this location requirement.
- What are the primary responsibilities of a Senior Software Engineer on the Docker Desktop team?
- As a Senior Software Engineer on the Docker Desktop team, you will focus on the desktop and operating system layer, working on installers, updaters, system services, and OS-level integrations for macOS and Windows. Your role involves improving reliability, performance, and user experience, debugging complex issues, and collaborating with other teams.
- What technical skills are essential for the Senior Software Engineer, Docker Desktop position?
- Essential skills include 6+ years of backend software development experience with hands-on Go (Golang) proficiency, a strong understanding of operating systems (macOS, Windows, or Linux) including system APIs and behavior, and the ability to debug complex system-level issues. Experience designing modular, maintainable components is also key.
- Does Docker, Inc. offer visa sponsorship for this Senior Software Engineer role?
- Docker, Inc. considers visa sponsorship on a case-by-case basis depending on business needs. Candidates should inquire about this possibility during the application or interview process.
- What is the compensation range for the Senior Software Engineer, Docker Desktop position?
- The compensation range for this role is CA$225,300 - CA$361,750 annually. This range reflects the seniority and responsibilities associated with the position.
- What is the interview process like for a Senior Software Engineer at Docker, Inc.?
- While specific details may vary, the interview process at Docker, Inc. typically involves several stages to assess technical skills, problem-solving abilities, and cultural fit. Expect technical assessments, coding challenges, and discussions with hiring managers and team members, focusing on your experience with backend development, operating systems, and Go. The 'What To Expect' section in the job description outlines a general timeline for the first 30, 90, and 365 days, which can give insight into the onboarding and integration process.