Docker is looking for a Sr. Software Engineer (Systems) to join our Europe-based Docker Desktop development team. Docker Desktop is one of our most popular products, with several million developers using it to build their software daily. Therefore this is an excellent opportunity to work on software for developers like you, with a huge market impact. You should be passionate about how developers’ lives could be made easier, and about Docker’s part in that.

We use a wide variety of different operating systems and different languages within our team. Between us, we work on Mac, Windows and Linux; we program mainly in Go, C#, Swift and JavaScript; and we work across the software stack from the kernel and virtualisation layers right up to the UI. We don’t expect everyone to be comfortable in all of those areas, but neither do we want people who can only work in one: our ideal candidate is a generalist who enjoys the opportunity to move around between different operating systems, different languages, and different parts of the stack in quick succession. At the moment, we are particularly looking for candidates who can work on the lower, systems levels of the stack, in areas such as networking, file systems and virtualisation. Examples of problems we have been tackling recently are integration with WSL 2, integration with Apple’s new virtualization framework, faster file sharing between a VM and the host, and reducing CPU load in the virtualization layer. If these sound like the sort of problems you would love to tackle and where you would have something to contribute, then please contact us!

Docker is a remote-first company; however for legal reasons we can currently only employ people for this role who are based in the UK, France, the Netherlands or Germany. We are not sponsoring visas for this role, so you must have legal residence and the right to work in one of those countries.


  • Develop our new products
  • Enhance and maintain our existing products
  • Interact with other teams within Docker, as well as with upstream communities and our users
  • 5+ years as a software engineer
  • Knowledge of operating system internals, particularly some or all of networking, file systems and virtualisation
  • Proven ability to learn new technologies and languages, and to switch between them as required
  • Equally comfortable starting a new product from scratch and working to maintain and enhance existing code
  • Always using good software engineering practices such as code review, automated testing and continuous integration
  • Ability to work in a team with other developers, with User Experience experts, and with Product Management
  • Ability to interact with upstream communities and with our customers in a way that brings credit to Docker