At Google DeepMind our mission is to build the world's first general-purpose learning agent. Central to this mission is the complex task of measuring the intelligence of our prototypes. As a Software Engineer, you will be working with the cutting edge AI agents developed by our exceptional team of Machine Learning and Neuroscience research scientists. Your responsibilities will include everything from creating systems for agent testing using 2D and 3D games to developing test problems within physics simulators. You will create graphical visualization of results, build competitive agent leaderboards and test new algorithms on robots. To succeed in this role you will need to have a strong foundation in software engineering and enjoy working on a wide range of challenging problems within a mission-driven team.
Artificial intelligence will be one of humanity’s most transformative inventions. At Google DeepMind, we are a pioneering AI lab with exceptional interdisciplinary teams focused on advancing AI development to solve complex global challenges and accelerate high-quality product innovation for billions of users. We use our technologies for widespread public benefit and scientific discovery, ensuring safety and ethics are always our highest priority.
We are pushing the boundaries across multiple domains. Our global teams offer diverse learning opportunities and varied career pathways for those driven to achieve exceptional results through collective effort.
Individual pay is determined by factors including job-related skills, experience, and relevant education or training.
US: $174000 - $253000 (USD) + 15% bonus target + bonus + equity + benefits
Learn more about benefits at Google.
Responsibilities
- Design and develop robust software to integrate hardware components into a unified data ecosystem, from low-level firmware to database integration software.
- Build scalable back-end software to process real-time sensor data and intuitive front-end software for system monitoring and operator control.
- Ensure low-latency communication and system stability across the entire robot stack.
- Establish a culture of following software development best practices, including modularity, well documented code, and high test coverage.
Qualifications
Minimum qualifications:
- Bachelor’s degree in Computer Science, Computer Engineering, Robotics, or a related field, with a focus on robotic manipulation or electromechanical systems.
- 5 years of experience developing and debugging electrical or electromechanical systems and integrating multiple software systems.
Preferred qualifications:
- Experience with embedded systems, microcontrollers, field-programmable gate array (FPGAs), and high-performance computing platforms.
- Proficiency in Python, C++, and Linux environments.
- Understanding of computer architecture, communication protocols.
- Ability to grow in an ambiguous, fast-paced research environment and collaborate effectively across multidisciplinary engineering teams.