- Bachelor's degree in Computer Science, related technical field, or equivalent practical experience.
- Experience with one or more general purpose programming languages including but not limited to: C/C++ or Python.
- Experience with linear algebra, calculus, and statistics.
- Machine Learning experience.
- MS or PhD degree in Computer Science, Artificial Intelligence, Machine Learning, or related technical field.
- Strong computer systems experience.
- GPU programming experience.
- Large data analysis and visualization experience.
- Exposure to industry or academic research.
- Exposure to Deep Learning, Neural Networks, or related fields and a strong interest and desire to learn about them.
About the job
We do research differently here at Google. Our team of Research Scientists aren't cloistered in a secret lab but are embedded throughout the engineering organization, allowing them to setup large-scale tests and deploy promising ideas quickly and broadly. Ideas may come from internal projects as well as from collaborations with research programs at partner universities and technical institutes all over the world. From creating experiments and prototyping implementations to designing new architectures, Research Scientists work on real-world problems including artificial intelligence, data mining, natural language processing, hardware and software performance analysis, improving compilers for mobile platforms, as well as core search and much more. But you stay connected to your research roots as an active contributor to the wider research community by partnering with universities and publishing papers.
You manage individual project priorities, deadlines, and deliverables, adapting to changes and setbacks in order to manage pressures, proving and applying theories through research efforts to develop new and improved products, processes, or technologies.
As a Research Software Engineer, you will work and collaborate closely with Research Scientists on the team. You'll have the flexibility to switch projects as our research focus shifts and evolves, as we need our engineers to be versatile and passionate about managing new problems.
This role bridges the gap between Software Engineer and Research Scientist. We are looking for great software engineers who also have experience with language understanding and perception, as well as improving algorithms. In this role, you'll work alongside Research Scientists to bring their ideas to life by implementing algorithms, running experiments, and building prototypes.
There is always more information out there, and the Research and Machine Intelligence team has a never-ending quest to find it and make it accessible. We're constantly refining our signature search engine to provide better results, and developing offerings like Google Instant, Google Voice Search and Google Image Search to make it faster and more engaging. We're providing users around the world with great search results every day, but at Google, great just isn't good enough. We're just getting started.
- Participate in cutting-edge research in artificial intelligence and machine learning applications.
- Develop solutions for real-world, large-scale problems.