Software Development Engineer II — Ads Reporting, Programmatic Reporting Interfaces
Summary
SDE II on Amazon Ads' Programmatic Reporting (PREP) team in Toronto, building the Reporting API, Amazon Marketing Stream, and the Spark/EMR data engines behind them that deliver ad measurement reporting at petabyte scale. Day to day: end-to-end ownership of features on AWS (Lambda, S3, Kinesis, DynamoDB) from design through production support.
We operate at scale. Billions of ad impressions, clicks, and conversion events are processed and summarized every day across petabyte-scale data with millions of transactions per second. Delivering this reliably requires invention ahead of common technologies and event-driven architectures built on AWS.
This SDE II role spans two of our three tier-1 reporting surfaces and the engines behind them:
- Reporting API — the pull surface: an asynchronous API for occasional, experimental, and analytical queries, and the back end to the Unified Report Builder.
- Amazon Marketing Stream — the push surface for recurring, high-volume reporting data.
- The processing engines — including the Offline Engine (Iceberg + Spark on EMR) that computes the data those surfaces deliver.
You will own projects end to end — requirements, system design, implementation, testing, and production support — on systems built with Spark and EMR alongside AWS services including Lambda, S3, SQS, Step Functions, Kinesis, and DynamoDB. The work is high-ownership and collaborative: you will partner with senior and principal engineers on architecture, and with product managers and technical account managers to translate customer pain points into features. You will also help deliver Unified Reporting as Amazon's single programmatic reporting solution and shift high-volume, recurring consumption from repeated API polling toward Amazon Marketing Stream.
Amazon is investing heavily in a world-class advertising business, and this team is at the forefront of that growth. We are highly motivated, collaborative, and direct, with a strong bias for action and a broad mandate to experiment. We start with the customer and work backwards in everything we do. If you want to build the next generation of large-scale reporting systems on modern data and AWS technologies, we would like to hear from you.
Key job responsibilities
1. Design and build scalable, secure, and reliable features and data solutions across the Reporting API, Amazon Marketing Stream, and the processing engines — from requirements and system design through implementation, testing, and production support.
2. Deep-dive into client and server systems to optimize performance, scalability, maintainability, and extensibility, integrating data across a large number of services.
3. Collaborate with senior and principal engineers on architecture and system design for high-impact, strategic projects, and navigate ambiguity to deliver results.
4. Write clean, maintainable code and raise the bar through peer code reviews and engineering standards.
5. Propose tools, frameworks, and automation adopted across the team, and drive operational excellence through monitoring and continuous improvement.
6. Partner with product managers, technical account managers, technical program managers, and mentees to understand customer needs, elevate the team, and promote engineering excellence.