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 healthcare to energy efficiency, collaborating with experts to build tools to support and improve their work. Collaborating with Google teams, we also apply our cutting edge 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.
About our Team
DeepMind's mission is to solve intelligence and use it to make the world a better place.
In the medium term, this means a lot of iterative blue-sky scientific research. Today, we have hundreds of researchers on staff, including numerous leaders in fields across AI & Machine Learning.
DeepMind ultimately wants to develop an AGI capable of dealing with a variety of environments. A truly general AGI needs to be able to act on the real world and to learn tasks on real robots. The aim of the Robotics Lab at DeepMind is to endow robots with the ability to learn how to perform complex manipulation and locomotion tasks. At Deepmind, experts in different scientific fields (e.g. quantum chemistry, neuroscience, game theory) collaborate with research scientists and software engineers to solve grand challenges that would enable multiple scientific breakthroughs. The Robotics Lab is a group of pioneering research scientists, research engineers and software engineers uniquely specialised in Robotics at Deepmind.
Modern robotic software applications implement and support algorithms based on a large spectrum of theories, ranging from computer science and probability theory to mechanics and cognitive sciences. Within this context, software plays a crucial role in robotics as it is the medium to embody intelligence in the machine. Typically, robot software systems are concurrent, distributed, embedded, real time, and data intensive. Computational performance is a major requirement, especially for autonomous robots, which process large volumes of sensory information and have to react to events occurring in the robot’s operational environment.
Our Robotics Research Team at DeepMind focuses on Machine Learning for robotics, including but not limited to deep reinforcement learning algorithms. The robotics lab collaborates with researchers in machine learning to develop powerful general-purpose learning algorithms for real-world robotics.
We’re looking for strong computer scientists to expand our unique robotics environment. One of our research priorities is the development of a methodology to program complex tasks and to provide developers with appropriate software support to facilitate reuse and scalability. As a member of the Robotics Software Engineering team, you’ll contribute towards enhancing the performance of our research infrastructure and learning algorithms while solving interesting and unique engineering challenges.
This position requires excellent programming skills, strong interpersonal and communication skills, and significant software architecture experience. The team you will be joining is responsible for the architecture and performance of our tools for robotics at DeepMind.
- Provide software design and programming support to research projects
- Report and present software developments achievements and results clearly
- Architect, implement, and integrate software libraries for robotics applications
- Build and maintain the robot lab software code base for deploying learning software components on different hardware (sensors, processors, etc.) and to pipe data through multiple different communication channels (ethernet, ethercat, CANbus, etc.)
- Collaborate with researchers to implement and evaluate algorithms
- MEng/MSc/PhD degree in computer science, engineering, mathematics, physics, or equivalent
- Experience in contributing to software projects for robotics
- Solid understanding of software development life-cycles and processes
- Experience of requirement analysis, software design and software architecture
- Experience with source control tools such as Mercurial and Git
- Strong knowledge and experience of computer science in at least one of the following areas of expertise:
- Major contribution to the design and implementation of any large scale software project
- Software architectures for parallel, distributed and/or cloud computing. Software development, algorithm design, software performance optimization for multicore, GPU and multi-GPU environments
- Embedded software development, such as embedded C development, experience with embedded processors, experience with interfacing with hardware devices and peripherals Experience with industrial fieldbus technologies such as EtherCAT or CANopen
- Experience with algorithms involving real-world sensor data
- Experience with real-time software development. Hard real time operating systems such as VxWorks, Xenomai or QNX
- Excellent knowledge of either Python or C++
- Must have motivation to work with real robots
Useful Skills & Experience
- Two or more years of industry experience
- Experience with ROS or comparable middleware
- Working knowledge of TensorFlow or similar frameworks
- Experience with numerical methods and data visualisation
- Contributions to open source and/or large-scale software projects
- Experience with low-level embedded software and firmware
- Experience with mechanical and electronic design
- Industry experience in Robotics
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.