Software Engineer
About The Job
Google's software engineers develop next-generation technologies that change how billions of users connect, explore, and interact with information and one another. Products need to handle information at massive scale, and extend well beyond web search. Engineers are sought 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. 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. Engineers need to be versatile, display leadership qualities, and be enthusiastic to take on new problems across the full-stack.
YouTube Ads is a fast-growing business at Google. The YouTube Ads ML Infra team empowers YouTube Ads ML advancement with the following goals:
- Signals: Enable model quality improvements and top-line revenue growth by developing and integrating novel signals for LEM+LLM training and serving.
- Efficiency: Improve resource efficiency across the fleet, targeting substantial cost savings, maximizing resource utilization with streamlined operations, early planning and provisioning, and accelerating the adoption of the latest, most efficient AdsML infrastructure.
- Automation: Improve developer velocity, reduce operational toil by investing in intelligent automation, agentic tooling, and streamlined development workflows.
Google Ads is at the forefront of AI innovation, applying cutting-edge machine learning and Generative AI models like Gemini to power a multi-billion dollar global business. Work directly impacts billions of users by protecting users from harm, improving ad quality, and optimizing campaigns for advertiser return-on-investment. A culture of deep collaboration is fostered, partnering closely with teams like Google Research and DeepMind to solve complex challenges.
Key Responsibilities
- Write product or system development code.
- Collaborate with peers and stakeholders through design and code reviews to ensure best practices amongst available technologies (e.g., style guidelines, checking code in, accuracy, testability, and efficiency).
- Contribute to existing documentation or educational content and adapt content based on product/program updates and user feedback.
- Triage product or system issues and debug/track/resolve by analyzing the sources of issues and the impact on hardware, network, or service operations and quality.
- Implement solutions in one or more specialized ML areas, utilize ML infrastructure, and contribute to model optimization and data processing.
Requirements & Tech Stack
- Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 2 years of experience with C++ or more programming languages, or 1 year of experience with an advanced degree.
- 1 year of experience with one or more of the following: Speech/audio, reinforcement learning, ML infrastructure, or specialization in another ML field.
- 1 year of experience with ML infrastructure (e.g., model deployment, model evaluation, optimization, data processing, debugging).
- Preferred qualifications:
- Master's degree or PhD in Computer Science or related technical field.
- 2 years of experience with data structures and algorithms.
- Experience with Ads, machine learning infrastructure, machine learning optimization, TensorFlow, deep learning, large language models.
- Experience developing accessible technologies.
Note: In most instances, this position requires in-person interviews as part of the hiring process.