Niantic’s R&D Team is seeking an ambitious Research Software Engineer to push the frontiers of Computer Vision and Machine Learning. You will work as part of a fun team, to help develop and scale-up algorithms and systems that sit at the cross-section of machine learning, computer vision and augmented reality. We are passionate about discovery, so we’re looking for engineers who want to learn and deploy inventions that could help make better “adventures on foot, with others.” Niantic Engineering leads the advancement of AR and other immersive technologies, while crafting engaging apps for millions of users.
- You will collaborate with diverse teams of scientists and engineers to build advanced software systems.
- You will design minimum viable products using cutting edge and sometimes brittle computer vision and machine learning algorithms.
- You will help advance R&D by finding problems, implementing elegant solutions, and building tools that enable the team to move forward and to measure progress.
- Significant proven experience working as a Software Engineer in a research lab or in industry.
- Excellent practical software engineering ability, particularly Python (profiling/optimization) and C/C++.
- Hands-on experience building efficient data pipelines for large-scale processing, and great knowledge on relevant data structures and algorithms.
- Experience implementing and advocating for software engineering best practices, including automated testing, containerisation, workflow automation, VCS, continuous integration (CI).
- Ability to work with researchers, to translate deep learning research needs into software requirements, and to iteratively develop tools for researchers.
- Demonstrated ability to scope and build minimum viable products (MVP).
- Demonstrated ability to architect flexible and extensible software systems.
- Inquisitiveness to learn about new problems and ideas.
- Experience of working collaboratively and presenting and sharing ideas.
- Significant experience with GPGPU programming for desktop and mobile (e.g. CUDA, OpenCL, Metal, Vulkan, OpenGL).
- Hands-on experience and demonstrated interest in practical and theoretical elements of deep learning.
- Experience designing for and running deep learning training systems (e.g. TensorFlow, Pytorch) at scale, including multi-server and multi-GPU training.
- Experience managing deep learning hardware resources (GPUs).
- Practical experience working with 3D geometry.
- Unix and shell scripting expertise.
- Experience with database systems and other data storage systems.
- Experience with image processing and working with image data.
- Experience creating visualisation tools.
- Experience with cloud computing and automation tools.
- Familiarity with large system software design and development.
Join the Niantic team!
Niantic is the world’s leading AR technology company, sparking creative and engaging journeys in the real world. Our products inspire outdoor exploration, exercise, and meaningful social interaction.
Originally formed at Google in 2011, we became an independent company in 2015 with a strong group of investors including Nintendo, The Pokémon Company, and Alsop Louie Partners. Our current titles include pioneering global-control game Ingress, record-breaking AR game Pokémon GO, and recently released third title, Harry Potter: Wizards Unite.
Niantic is an Equal Opportunity employer. We believe that cultivating a workplace where our people are supported and included is essential to creating great products our community will love. Our mission emphasizes seeking and hiring diverse voices, including those who are traditionally underrepresented in the technology industry, and we consider this to be one of the most important values we hold close.
We're a hard-working, fun, and exciting group who value intellectual curiosity and a passion for problem-solving! We have growing offices located in San Francisco, Sunnyvale, Bellevue, Los Angeles, London, Tokyo, Hamburg, and Zurich.