DeepMind

Software Engineer, Experiments, Research Platform

DeepMind

London, England, UK

full time

21 Aug 2020

DeepMind

Snapshot
We’re looking for someone who is passionate about building infrastructure and products to help enable research at scale. No machine learning experience is required for this role.

About Us
DeepMind's mission is to "Solve intelligence. Use it to make the world a better place."

The Research Platform team's objective is "Effortless Artificial General Intelligence Research". We are a core group of ~60 SWEs within DeepMind Research who work to provide a best-in-class research workflow. We build tools, infrastructure, libraries, frameworks, services, and products to enable and accelerate the next generation of research ideas.

Research Platform plays a critical role in the mission of DeepMind in multiple ways. In the simplest form, improving the workflow has a super-linear impact on research efficiency, as not only does it free up more time - but the extra cognitive space can allow new research ideas to thrive that would otherwise never happen.

Non-exhaustive examples of the types of work in the Research Platform team:

Infra to leverage DeepMind’s massive computational resource pool to maximum effectiveness
Platform for testing and evaluating ML algorithms in various simulated environments.
Systems for easily logging, storing, searching, and analysing large quantities of experiment data.
Project management systems specialised for organising research at scale.
Customising TensorFlow, Jax and other ML platforms at the language & compiler level for DeepMind’s use cases.

About the Role
The Experiments Team develops tools and infrastructure that enables researchers at DeepMind to easily test out their ideas at scale. Among the solutions we provide, two highlights would be:

DeepMind's core systems that provide our researchers with a unified way to interact with their experiments. This involves defining, running and monitoring large computational workloads running on vast data-centres.
Reusable components, similar to the ones outlined in this Acme blog post that enable our researchers to intuitively define large distributed systems, used for training our most advanced agents.
In this role, you will work together with other team members on designing and implementing:

Further advancements to scheduling of DeepMind experiments;
Increased scalability of DeepMind experiments;
Optimisations that lead to faster launch and execution of experiments in DeepMind compute resources;
Increased flexibility of the types of use-cases presented by DeepMind researchers.
Contextual monitoring of execution of DeepMind experiments, to allow users to make the best use of compute resources;
Improvements in the efficiency of the execution of experiments and the use of DeepMind compute resources.
Anything else that can help improve DeepMind research productivity & effectiveness.
You will also interact directly with DeepMind researchers by supporting them through an on-duty (office-hours) rota, user interviews, and many more conversations.

About You

Minimum qualifications:

  • Degree in computer science, software engineering, mathematics, physics or equivalent experience.
  • SWE interpersonal skills (discuss technical ideas effectively with colleagues, e.g. through whiteboard, design docs, presentations, etc.)
  • Experience with C++ and/or Python.
  • Solid understanding of algorithm and system design.
  • An interest in DeepMind's mission

Preferred qualifications:

  • Experience with implementing multi-threaded/concurrent/distributed software systems.
  • Experience with database systems and other data storage systems
  • Familiarity with large system software design and development.
  • Familiarity with systems that manage compute clusters
  • Experience with implementing multi-threaded/concurrent/distributed software systems.
  • Experience with database systems and other data storage systems
  • Familiarity with large system software design and development.
  • Familiarity with systems that manage compute clusters and/or containerised systems



For more jobs like this subscribe to the weekly newsletter or follow C++ JOBS on Facebook, Linkedin and Twitter for frequent social updates.