Senior Software Engineer- Full Stack, Unified Ads Platform

Unity Enterprise

Toronto

On-site

CAD 120,000 - 160,000

Full time

7 days ago
Be an early applicant

Get a reply from this employer

Your resume and cover letter, tailored to exactly what they’re hiring for.

Get past ATS filters

Job summary

Unity recherche un Senior Full-Stack Engineer pour rejoindre l’équipe Unified Ads Platform. Vous concevrez, développerez et exploitez des services TS (NestJS) et des interfaces React, en veillant aux contrats de données et à l’évolutivité du modèle métier.

Vous orchestrerez des intégrations événementielles (Kafka, Pub/Sub), gèrerez des données à grande échelle et opérerez sur Kubernetes avec une forte culture d’observabilité et de tests.

Qualifications

  • Au moins six ans d’expérience en développement et exploitation de logiciels en production, avec une expertise côté serveur et côté client.
  • Maîtrise avancée de TypeScript et expérience avec NestJS, ou une architecture modulaire équivalente.
  • Solides compétences en modélisation de données et SQL, y compris conception de schémas, migrations et optimisation à grande échelle.
  • Expérience avec des systèmes événementiels (Kafka, Pub/Sub) et compréhension des garanties de livraison et d’idempotence.
  • Maîtrise avancée de React, avec jugement sur le design de composants et les performances dans des interfaces lourdes en données.
  • Expérience d’exploitation cloud-native sur Kubernetes et capacité à assumer la production, le déploiement et l’on-call.
  • Forte culture de l’observabilité, des tests et des revues de code, avec sens des responsabilités.

Responsibilities

  • Concevoir, développer et exploiter des services dans une plateforme TypeScript (NestJS) pour un large modèle de domaine.
  • Modéliser les données d’entité avec schémas relationnels, migrations et évolution des schémas pour diffusion et facturation.
  • Concevoir et développer des intégrations événementielles avec Kafka et Pub/Sub, en utilisant des outbox transactionnelles et des consommateurs idempotents.
  • Livrer les surfaces utilisateur en React et TypeScript, transformer des données complexes en workflows dignes de confiance pour éditeurs et annonceurs.
  • Exploiter ce qui est développé sur Kubernetes et assumer la responsabilité du système en production (SLOs, déploiement, montée en charge, surveillance, on-call).
  • Renforcer l’observabilité et la qualité par le traçage distribué, les métriques et les cadres de test.
  • Établir les normes de développement et les faire respecter lors des revues de conception et de code, tout en encadrant les développeurs.

Skills

TypeScript
NestJS
React
SQL
Data modeling
Event-driven
Kubernetes
Observability
Testing
API design
OpenTelemetry
On-call

Tools

Kafka
Google Cloud Pub/Sub
Kubernetes
Terraform
Service mesh
OpenTelemetry

Job description

## **L'opportunité**Chez Unity, nous développons une plateforme publicitaire de calibre mondial qui fonctionne à très grande échelle partout dans le monde. L’équipe Ads conçoit les systèmes qui mettent en relation les annonceur(euse)s, les créateur(rice)s et les joueur(euse)s, favorisant ainsi la performance, la fiabilité et la croissance de notre écosystème.À titre de développeur(euse) full-stack principal(e) au sein de l’équipe Unified Ads Platform, vous serez responsable de la couche de services où résident les entités des annonceur(euse)s et des éditeur(rice)s : campagnes et plafonds budgétaires, applications et blocs d’annonces, ensembles de créations et Pipeline de modération connexe, devise de l’Offerwall, tests A/B et intégration de LevelPlay. Ces données sont utilisées par l’ensemble de notre infrastructure publicitaire, et nos API constituent la source de référence pour la diffusion, la facturation et la production de rapports.Ce poste ne consiste pas simplement à créer une API avant de passer au prochain projet. Les données que vous modélisez sont utilisées par des systèmes dont vous n’êtes pas responsable, dans des processus où une valeur erronée peut entraîner des pertes financières. Vous concevrez des contrats qui demeurent stables à mesure que le produit évolue, veillerez à la cohérence des états entre les différents services et assumerez la responsabilité de l’exactitude et de la disponibilité de l’ensemble de ces éléments en production.Ce poste convient parfaitement à une personne qui maîtrise autant le côté serveur que le côté client, qui accorde une grande importance aux contrats de données et à l’exactitude, et qui souhaite assumer pleinement la responsabilité de systèmes dont dépendent d’autres équipes de développement. ## **Ce que vous allez faire*** Concevoir, développer et exploiter des services dans notre plateforme TypeScript (NestJS) pour un vaste modèle de domaine, tout en étant responsable des API et des contrats de données dont dépendent les systèmes publicitaires en aval.* Modéliser les données d’entité en tenant compte de l’évolutivité et des changements, notamment par la conception de schémas relationnels, les migrations et l’évolution des schémas des tables utilisées pour la diffusion, la facturation et la production de rapports.* Concevoir et développer des intégrations événementielles avec Kafka et Google Cloud Pub/Sub, au moyen de modèles tels que la boîte d’envoi transactionnelle et les consommateurs idempotents, afin de maintenir la cohérence entre les différents services.* Créer les interfaces destinées aux utilisateur(rice)s dans React et TypeScript, en transformant des données complexes sur les entités et la performance en processus auxquels les éditeur(rice)s et les annonceur(euse)s peuvent se fier.* Exploiter les solutions que vous développez sur Kubernetes, où le service déclare sa propre infrastructure infonuagique avec son code, et assumer pleinement la responsabilité de ses objectifs de niveau de service.* Renforcer l’observabilité et la qualité de la plateforme au moyen du traçage distribué, des mesures et des cadres de test.* Établir les normes de développement du service et veiller à leur respect lors des revues de conception et de code, tout en accompagnant les développeur(euse)s. ## **Ce que nous recherchons*** Au moins six ans d’expérience en développement et en exploitation de logiciels en production, avec une expertise approfondie des services côté serveur et des technologies modernes côté client.* Une maîtrise avancée de TypeScript et une expérience avec un cadre modulaire structuré pour Node côté serveur, comme NestJS, ou avec une architecture comparable reposant sur l’injection de dépendances et les modules.* De solides compétences en modélisation de données et en SQL, notamment en conception de schémas, en migrations et en optimisation de la performance à grande échelle, ainsi qu’un bon jugement en matière de gestion des versions d’API. Vous avez déjà dû modifier de façon sécuritaire des données utilisées par d’autres équipes.* Une expérience des systèmes événementiels, comme Kafka, Pub/Sub ou un outil comparable. Vous comprenez les garanties de livraison, l’ordre des événements, l’idempotence et les conséquences d’une divergence entre deux systèmes.* Une maîtrise avancée de React ainsi qu’un excellent jugement en matière de conception de composants, de gestion des états et de performance des interfaces qui traitent un volume important de données.* Une expérience de l’exploitation infonuagique native, notamment des services conteneurisés sur Kubernetes, et une capacité à assumer la responsabilité d’un système en production, y compris son déploiement, sa mise à l’échelle, sa surveillance, l’intervention en cas d’incident et les périodes de disponibilité sur appel.* Un fort sens des responsabilités, axé sur l’exactitude, l’observabilité et la maintenabilité à long terme, soutenu par une discipline rigoureuse en matière de tests, de revues et d’accessibilité. ## **Vous avez peut-être également (facultatif)*** Expérience avec Go.* Expérience dans les systèmes publicitaires, d’attribution, de facturation ou de monétisation.* Expérience de l’infrastructure en tant que code, notamment la gestion des ressources native à Kubernetes, Terraform ou les maillages de services.* Connaissance d’OpenTelemetry et du traçage distribué en production.* Expérience des systèmes de conception ou des cadres d’interface utilisateur pilotés par la configuration.* Expérience de l’harmonisation technique entre les équipes ou d’initiatives de qualité menées par des communautés de pratique.**The opportunity**At Unity, we're building a world-class advertising platform that operates at a massive global scale. The Ads team powers the systems that connect advertisers with creators and players, driving performance, reliability, and growth across our ecosystem. As a Senior Full-Stack Engineer on the Unified Ads Platform team, you'll own the service layer where advertiser and publisher entities live. Campaigns and budget caps, applications and ad units, creative packs and the moderation pipeline behind them, offerwall currency, A/B tests, LevelPlay integration. These are the records the rest of the ads estate reads from, and our APIs are the source of truth for them across serving, billing, and reporting. This role goes beyond building an API and moving on. The data you model is consumed by systems you don't own, in paths where a wrong value costs money. You'll design contracts that stay stable as the product changes, keep state consistent across service boundaries, and own the correctness and availability of all of it in production. This role is ideal for someone strong on both sides of the stack who thinks in terms of data contracts and correctness, and who wants real ownership of systems other engineering teams depend on. **What you'll be doing*** Design, build, and operate services in our TypeScript platform (NestJS) across a large domain model, owning the APIs and data contracts that downstream ads systems depend on* Model entity data for scale and change — relational schema design, migrations, and schema evolution against tables that serving, billing, and reporting all read from* Design and build event-driven integrations with Kafka and Google Cloud Pub/Sub, using patterns such as transactional outbox and idempotent consumers to maintain consistency across service boundaries.* Deliver the user-facing surfaces on top of the platform in React and TypeScript, turning dense entity and performance data into workflows publishers and advertisers can trust* Operate what you build on Kubernetes, where the service declares its own cloud infrastructure alongside its code, and take real ownership of its SLOs* Drive observability and quality across the platform — distributed tracing, metrics, and testing frameworks* Set the standards for how the service is built and hold the line on them in design and code review, mentoring engineers as you go **What we're looking for*** **6+ years** building and operating production software, with real depth on both backend services and modern frontend* **Advanced TypeScript**, and experience with an opinionated, modular Node backend framework — NestJS, or comparable dependency-injection and module architectures* **Strong data modelling and SQL** — schema design, migrations, and performance at scale, alongside the API versioning judgment that goes with it. You've had to change something other teams read from, safely* **Event-driven systems** — Kafka, Pub/Sub, or similar. You understand delivery semantics, ordering, and idempotency, and what happens when two systems disagree* **Advanced React**, with strong judgment around component design, state management, and performance in data-intensive interfaces* **Cloud-native operation** — containerized services on Kubernetes, and comfort owning the system in production, including deployment, scaling, monitoring, incident response, and on-call* **Strong ownership mindset** — focused on correctness, observability, and long-term maintainability, backed by real engineering discipline in testing, review, and accessibility **You might also have*** Experience with Go* Background in ads, attribution, billing, or monetization systems* Infrastructure-as-code experience — Kubernetes-native resource management, Terraform, or service mesh* Familiarity with OpenTelemetry and distributed tracing in production* Experience with design systems or configuration-driven UI frameworks* Exposure to cross-team technical alignment or guild-style quality initiatives
Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

Senior Software Engineer- Full Stack, Unified Ads Platform
Senior Software Engineer- Full Stack, Unified Ads Platform

Unity • Montreal

Hybrid
CAD 178,000 - 250,000
Assurance santé
Actionnariat des employés
Congés annuels généreux
+1
Backend Software Engineer (senior/staff)
Backend Software Engineer (senior/staff)

SearchLabs • Toronto

On-site
CAD 120,000 - 180,000
Staff Platform Engineer
Staff Platform Engineer

Sage Recruiting Inc. • Canada

On-site
CAD 140,000 - 190,000
Senior Software Engineer
Senior Software Engineer

Harvey Nash • Vancouver

On-site
CAD 140,000 - 170,000
Fullstack Software Engineer (Ads Platform)
Fullstack Software Engineer (Ads Platform)

Affirm, Inc. • Ottawa

Remote
CAD 85,000 - 125,000
Remote-first workforce
Generous time off
Health benefits
+1
Développeur(euse) DevOps senior(e) | Senior DevOps Developer
Développeur(euse) DevOps senior(e) | Senior DevOps Developer

Unity Technologies • Montreal

On-site
CAD 103,000 - 153,000
Attributions d’actions
Primes annuelles discrétionnaires
Senior Software Engineer (Frontend, Marketing and Privacy)
Senior Software Engineer (Frontend, Marketing and Privacy)

Affirm, Inc. • Ottawa

Remote
CAD 120,000 - 170,000
Remote-first compensation
Spending wallets
Supportive communities
+7
Senior Account Manager - Publishers (AMERICAS)
Senior Account Manager - Publishers (AMERICAS)

Perion Network Ltd. • Montreal

On-site
CAD 90,000 - 120,000
Senior Backend Developer
Senior Backend Developer

ExPretio Technologies Inc. • Montreal

Hybrid
CAD 100,000 - 150,000
Senior Software Engineer - Backend
Senior Software Engineer - Backend

Parallel Domain • Vancouver

On-site
CAD 155,000 - 175,000