DeepMind focuses on using the best available technologies, together with our own research, to address some of the world’s most pressing and complex challenges. We work in fields from scientific discovery to energy efficiency, collaborating with engineers and researchers to build tools to support and improve their work. Collaborating with Google teams, we also apply our state of the art research to products used by millions of people around the world. These real world applications of AI technology help us work towards one of DeepMind’s purposes - to use intelligence to make the world a better place.
The DeepMind research team develops powerful general-purpose learning algorithms, with a special focus on deep reinforcement learning. Software Engineers bring varied specialisations into projects across the research team. Software Engineers in research will work directly on developing research prototypes, creating common tools that enable the wider research team to create such prototypes rapidly, as well as perform rigorous experimentation at scale. This work may include creating complex Reinforcement Learning agents, training pipelines, and tools for visualisation, debugging, testing, and the reliable running of agents.
The role provides unique engineering challenges in combining state-of-the-art computer systems with bleeding-edge AI algorithms, acting as an augmentation for the whole research team.
- As a software engineer on research projects you will carry out the following core responsibilities:
- Provide software design and programming support to research projects
- You will report on software developments including status and results clearly.
- Architect and implement software libraries for research prototypes across the range of DeepMind research projects.
- Join fundamental research projects that have built momentum and are looking to scale and enhance work
- Collaborate with other researchers and engineers to implement and evaluate algorithms. Be responsible for the build and scale aspects of research and be the ‘go-to’ guide on this within the research stream.
- Identify and tackle varied problems within research work
- Research products instead of prototypes - helping to drive the focus on scalability/usability in the wider organisation
- Challenge researchers/collaborators to push to maintain robust engineering practices across research teams
- Computer Science or similar degree.
- In-depth knowledge in at least one of the following areas:
- Multi-threaded design
- Parallel/distributed computing
- Numerical methods
- Data visualization
- ML experience not necessary
- Good knowledge of either C++ or Python.
- Prior experience working in a research environment
- Experience implementing and evaluating ML algorithms
- Some knowledge of Reinforcement Learning a plus but not essential
- Specialism and considerable knowledge in these areas are highly beneficial:
- Parallel Computing
- Distributed Systems
- Numerical Methods
Competitive salary applies.
DeepMind welcomes applications from all sections of society. We are committed to equal employment opportunity regardless of race, religion or belief, ethnic or national origin, disability, age, citizenship, marital, domestic or civil partnership status, sexual orientation, gender identity or any other basis as protected by applicable law. If you have a disability or additional need that requires accommodation, please do not hesitate to let us know.