Software Engineer II - Ads Metrics & Attribution
About the role
About the Role
The Ads Metrics & Attribution team builds the high-throughput streaming infrastructure that serves as the mission-critical "source of truth" for Uber's global advertising business. As a core member of this team, you will dive deep into Apache Flink internals to architect a resilient, low-latency platform capable of validating and attributing billions of ad engagement signals in real-time. Your work will directly define the reliability of our metrics and the scalability of our pipelines, providing the foundational data that drives ROI for advertisers and powers growth across Uber's entire ads ecosystem
What You'll Do
- Design, develop, and test scalable streaming features using Apache Flink and Java/Scala to support new ad products and attribution requirements.
- Maintain and optimize existing data pipelines to ensure the high-throughput transport of billions of ad engagement signals with 100% accuracy.
- Collaborate with senior engineers to perform deep dives into Flink internals, troubleshooting performance bottlenecks and improving system resilience.
- Participate in the team's on-call rotation, monitoring the health of production streaming jobs and responding to system alerts to maintain high availability.
- Write clear technical documentation and contribute to code reviews to ensure high engineering standards across the Ads Metrics platform.
Basic Qualifications
- Bachelor's degree or equivalent in Computer Science, Engineering, Mathematics or related field .
- 2 years full-time Software Engineering work experience, WHICH INCLUDES 1-year total technical software engineering experience in one or more of the following areas: Programming language (e.g. C, C++, Java, Python, or Go)
- Strong grasp of data structures, algorithms, and object-oriented design, with a focus on writing clean, testable code
Preferred Qualifications
- Experience designing and developing backend services or data pipelines. You should understand the basics of how systems scale and be familiar with concepts like REST APIs, databases, or message queues (e.g., Kafka).
- A track record of debugging complex issues and a desire to look under the hood. You should be excited about learning stream processing (Apache Flink) and building systems where data accuracy and reliability are the top priorities.
- Prior experience building or maintaining applications using Apache Flink or similar stream-processing frameworks, with an understanding of state management and watermarks.
- Proficiency in Scala, with an emphasis on writing performant, thread-safe, and highly maintainable code within a distributed systems context.
- Familiarity with the AdTech ecosystem, specifically around metrics collection, attribution logic, or handling high-volume engagement signals like clicks and impressions.
- A proven interest in systems performance, such as experience profiling JVM applications or optimizing resource utilization in data pipelines.
For Canada-based roles: Uber may use artificial intelligence (AI) tools to support parts of our recruiting process; however, Uber employees make the ultimate selection and hiring decisions. This advertisement relates to a current, existing vacancy.
For Canada-based roles: The base salary range for this role is CAD$144,000 per year - CAD$160,000 per year. You will be eligible to participate in Uber's bonus program, and may be offered an equity award & other types of comp. You will also be eligible for various benefits. More details can be found at the following link https://www.uber.com/careers/benefits.
About Uber
We are Uber. The go-getters. The kind of people who are relentless about our mission to help people go anywhere and get anything and earn their way. Movement is what we power. It’s our lifeblood. It runs through our veins. It’s what gets us out of bed each morning. It pushes us to constantly reimagine how we can move better. For you. For all the places you want to go. For all the things you want to get. For all the ways you want to earn. Across the entire world. In real time. At the incredible speed of now.
The idea for Uber was born on a snowy night in Paris in 2008, and ever since then our DNA of reimagination and reinvention carries on. We’ve grown into a global platform powering flexible earnings and the movement of people and things in ever expanding ways. We’ve gone from connecting rides on 4 wheels to 2 wheels to 18-wheel freight deliveries. From takeout meals to daily essentials to prescription drugs to just about anything you need at any time and earning your way. From drivers with background checks to real-time verification, safety is a top priority every single day. At Uber, the pursuit of reimagination is never finished, never stops, and is always just beginning.
Software Engineer II - Ads Metrics & Attribution
About the role
About the Role
The Ads Metrics & Attribution team builds the high-throughput streaming infrastructure that serves as the mission-critical "source of truth" for Uber's global advertising business. As a core member of this team, you will dive deep into Apache Flink internals to architect a resilient, low-latency platform capable of validating and attributing billions of ad engagement signals in real-time. Your work will directly define the reliability of our metrics and the scalability of our pipelines, providing the foundational data that drives ROI for advertisers and powers growth across Uber's entire ads ecosystem
What You'll Do
- Design, develop, and test scalable streaming features using Apache Flink and Java/Scala to support new ad products and attribution requirements.
- Maintain and optimize existing data pipelines to ensure the high-throughput transport of billions of ad engagement signals with 100% accuracy.
- Collaborate with senior engineers to perform deep dives into Flink internals, troubleshooting performance bottlenecks and improving system resilience.
- Participate in the team's on-call rotation, monitoring the health of production streaming jobs and responding to system alerts to maintain high availability.
- Write clear technical documentation and contribute to code reviews to ensure high engineering standards across the Ads Metrics platform.
Basic Qualifications
- Bachelor's degree or equivalent in Computer Science, Engineering, Mathematics or related field .
- 2 years full-time Software Engineering work experience, WHICH INCLUDES 1-year total technical software engineering experience in one or more of the following areas: Programming language (e.g. C, C++, Java, Python, or Go)
- Strong grasp of data structures, algorithms, and object-oriented design, with a focus on writing clean, testable code
Preferred Qualifications
- Experience designing and developing backend services or data pipelines. You should understand the basics of how systems scale and be familiar with concepts like REST APIs, databases, or message queues (e.g., Kafka).
- A track record of debugging complex issues and a desire to look under the hood. You should be excited about learning stream processing (Apache Flink) and building systems where data accuracy and reliability are the top priorities.
- Prior experience building or maintaining applications using Apache Flink or similar stream-processing frameworks, with an understanding of state management and watermarks.
- Proficiency in Scala, with an emphasis on writing performant, thread-safe, and highly maintainable code within a distributed systems context.
- Familiarity with the AdTech ecosystem, specifically around metrics collection, attribution logic, or handling high-volume engagement signals like clicks and impressions.
- A proven interest in systems performance, such as experience profiling JVM applications or optimizing resource utilization in data pipelines.
For Canada-based roles: Uber may use artificial intelligence (AI) tools to support parts of our recruiting process; however, Uber employees make the ultimate selection and hiring decisions. This advertisement relates to a current, existing vacancy.
For Canada-based roles: The base salary range for this role is CAD$144,000 per year - CAD$160,000 per year. You will be eligible to participate in Uber's bonus program, and may be offered an equity award & other types of comp. You will also be eligible for various benefits. More details can be found at the following link https://www.uber.com/careers/benefits.
About Uber
We are Uber. The go-getters. The kind of people who are relentless about our mission to help people go anywhere and get anything and earn their way. Movement is what we power. It’s our lifeblood. It runs through our veins. It’s what gets us out of bed each morning. It pushes us to constantly reimagine how we can move better. For you. For all the places you want to go. For all the things you want to get. For all the ways you want to earn. Across the entire world. In real time. At the incredible speed of now.
The idea for Uber was born on a snowy night in Paris in 2008, and ever since then our DNA of reimagination and reinvention carries on. We’ve grown into a global platform powering flexible earnings and the movement of people and things in ever expanding ways. We’ve gone from connecting rides on 4 wheels to 2 wheels to 18-wheel freight deliveries. From takeout meals to daily essentials to prescription drugs to just about anything you need at any time and earning your way. From drivers with background checks to real-time verification, safety is a top priority every single day. At Uber, the pursuit of reimagination is never finished, never stops, and is always just beginning.