Docker, Inc is a leading company in app development, known for its innovative tools that enhance developer experiences. They are seeking a Senior Software Engineer for their Desktop Platform team, responsible for designing, developing, and maintaining core lifecycle components of Docker Desktop to ensure reliability and ease of use. The role involves collaboration with product teams and contributing to architectural discussions to shape the future of Docker Desktop.
Responsibilities:
- Design, develop, and maintain core lifecycle components of Docker Desktop, including installation, update, startup, and shared platform systems
- Collaborate closely with product teams to ensure seamless integration with shared platform components
- Contribute to documentation, knowledge sharing, and technical discussions that raise the clarity and quality of engineering within the Desktop ecosystem
- Write high-quality code with strong test coverage (unit, integration, and end-to-end) and support healthy engineering practices across the team
- Collaborate with our Delivery team on CI, release pipeline reliability, and lifecycle automation improvements that support faster and safer Desktop releases, especially when cross-team coordination is required
Requirements:
- 5+ years of experience building backend software, with recent demonstrated hands-on Go (Golang) proficiency
- Experience working on cross-platform desktop applications or lifecycle components (installers, updaters, system services)
- Demonstrated ability to design modular, maintainable system components that scale across teams
- Comfortable working with observability, telemetry pipelines, performance metrics, and system health diagnostics
- Strong problem-solving skills and the ability to work through ambiguity and cross-cutting technical challenges
- Excellent communication skills for cross-team collaboration, design reviews, and technical documentation
- Demonstrated professional experience with operating system internals, installers/updaters, virtualization, networking, or OS-level APIs
- Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience
- Experience with CI/CD systems, build pipelines, or release engineering workflows is a plus