Software Engineer II - Ads
Build and operate publisher-facing backend features for Instacart’s Carrot Ads platform, spanning APIs, serving, reporting, and partner tooling. The role requires 3+ years of backend experience, distributed-systems and API expertise, and operational ownership.
About the job
Responsibilities
- Build and ship publisher-facing features across Storefront, Storefront Pro, and API partners, including API endpoints, serving inputs, reporting views, and configuration tooling.
- Extend the Connect / Carrot Ads API with clear contracts, robust event handling, dead-letter recovery, integration tests, and self-service documentation.
- Build retailer controls for relevance and quality-score inputs, reserve pricing, ad-load controls, and performance-tuning signals.
- Strengthen reporting and data integrity through attribution, catalog and product-ID mapping, reconciliation, and automated health checks.
- Improve partner reliability by defining and meeting SLAs, enhancing observability, reducing incidents and recovery time, and contributing to partner-health monitoring.
- Debug partner-facing serving and reporting issues across shared serving, measurement, and quality systems.
- Collaborate with Product, Enterprise Solutions, and Ads teams across Serving, Measurement, Ads Quality, and Ads Manager.
- Use AI-assisted developer tools while maintaining quality and security.
Requirements
- 3+ years of experience building and operating production backend services.
- Strong API design and distributed-systems fundamentals.
- Fluency in a backend language such as Go, Ruby, or Python.
- Experience shipping features end to end with testing, observability, and operational ownership.
- Experience debugging across service boundaries and collaborating cross-functionally.
- Bachelor's degree in Computer Science or a related field, or equivalent practical experience.
Nice-to-haves
- Experience in ad tech, retail media, or publisher- or partner-facing platforms.
- Familiarity with event streaming and reliability patterns at scale, including Kafka, dead-letter queues, and idempotent processing.
- Cloud infrastructure experience with AWS or Google Cloud, including data or measurement-adjacent systems.
- Experience with data reconciliation, attribution, or catalog and entity mapping.
- Experience building partner- or customer-facing APIs with documentation, error contracts, and integration test coverage.
Compensation
- Base salary: CA$145,000–$153,000 CAD annually.
- Eligible for a new-hire equity grant and annual refresh grants.
Skills
Go, Ruby, Python, API Design, Distributed Systems, Kafka, Dead-Letter Queues, AWS, GCP, Observability, Integration Testing, Data Reconciliation, Attribution, Entity Mapping, Ad Tech
Similar jobs
Backend Engineering jobsBuild and maintain highly available, scalable distributed systems, data pipelines, messaging systems, and services powering Internet intelligence products. The role requires 5+ years of distributed-systems experience and proficiency with Go, cloud platforms, databases, and messaging technologies.
Build and maintain reliable backend services for ledger operations, ACH and wire flows, and reconciliation within Lithic’s Treasury team. The role requires production software experience, distributed-systems design skills, Python experience or willingness to learn, and ownership of cross-functional initiatives.
Builds production software, AI-assisted workflows, and technical controls that operationalize privacy across cloud-based products. The role requires backend programming, LLM systems, integrations, and practical data-protection experience while partnering across Security, Engineering, Product, Data, and Legal.
Build and improve MongoDB’s low-level networking and observability systems for a distributed database. The role requires production C++ experience, distributed-systems expertise, strong computer science fundamentals, and the ability to lead projects collaboratively from design through delivery.
Build and operate production backend features, APIs, integrations, and services for a large-scale DevSecOps platform. The role requires professional backend development experience, strong database and testing fundamentals, independent feature ownership, and clear asynchronous communication.