About this role
Google's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. Our products need to handle information at massive scale, and extend well beyond web search. We're looking for engineers who bring fresh ideas from all areas, including information retrieval, distributed computing, large-scale system design, networking and data storage, security, artificial intelligence, natural language processing, UI design and mobile; the list goes on and is growing every day. As a software engineer, you will work on a specific project critical to Google’s needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. We need our engineers to be versatile, display leadership qualities and be enthusiastic to take on new problems across the full-stack as we continue to push technology forward.
Google Research addresses challenges that define the technology of today and tomorrow. From conducting fundamental research to influencing product development, our research teams have the opportunity to impact technology used by billions of people every day.
Our teams aspire to make discoveries that impact everyone, and core to our approach is sharing our research and tools to fuel progress in the field -- we publish regularly in academic journals, release projects as open source, and apply research to Google products.
Individual pay is determined by factors including job-related skills, experience, and relevant education or training.
US: $207000 - $300000 (USD) + 20% bonus target + equity + benefits
Learn more about benefits at Google (https://www.google.com/about/careers/applications/benefits/).
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 8 years of experience in software development.
- 6 years of experience leading research agendas, developing scalable algorithms, or deploying ML models in production or applied research environments.
- Experience with deep learning frameworks (e.g., JAX, TensorFlow) and with distributed training/evaluation pipelines.
- One or more scientific publication submission(s) for conferences, journals, or public repositories.(e.g., NeurIPS, ICML, CVPR, ECCV, ICCV, ICRA, CoRL).
Preferred qualifications:
- Ph.D. in Computer Science, Robotics, Electrical Engineering, Statistics, or a related field, or equivalent practical experience.
- 6 years of experience leading complex research projects and setting technical direction in autonomous systems or mobile robotics.
- Experience designing, distilling, and optimizing neural architectures for low-latency, real-time edge hardware and onboard compute constraints.
- Proficiency in modern programming languages and working with large-scale distributed training infrastructure.
- Demonstrated track record in deep learning, epistemic/aleatoric uncertainty quantification, model calibration for decision-making, and out of distribution diagnosis and generalization.
- Strong background in self-supervised learning, multimodal foundation models, latent and embedded spaces, or foundational representations.
- Scope, lead, and execute foundational research in learning, uncertainty estimation, and automated system diagnosis to enable robust, adaptive perception and decision-making stacks.
- Develop novel methodologies for out-of-distribution (OOD) detection, active learning with demonstrable impact on behavior and semantics, multimodal retrieval, epistemic/aleatoric uncertainty quantification, and sensor-to-perception-to-action stack calibration.
- Partner with research leads, software engineers, and product teams to integrate breakthroughs into scalable, (and possibly real-time) autonomous infrastructure.
- Author high-impact papers in premier machine learning, computer vision, and robotics venues (e.g., CVPR, ECCV, NeurIPS, ICRA, IROS), contributing code, models, and datasets where applicable.