Principle Engineer / VP of Engineering

Apply Now

Fill out the job application to be selected for an interview.
Apply Now

Job Description

Location: Remote. Canada or US, Eastern-time overlap
Reports to: Founder (product direction) and General Manager (cadence and priorities)
Team: 4 engineers plus contractors today. You grow it to 7 or 8.
Split: 50% in the code, 50% working on the system rather than in it

About Us:

Foreplay.co redefines the way marketers engage with ads—empowering them to save ads into a personalized swipe file, curate briefs, and spy on competitors’ entire ad libraries.

Founded in 2021, Foreplay is a fast-growing, bootstrapped, and profitable SaaS company building the future of ad creative workflows. Based in Toronto, Canada, with a fully remote team across multiple countries, we’re a scrappy and fast-moving startup focused on helping marketers discover, analyze, organize, and leverage the best-performing ads.

Today, more than 10,000 marketers, brands, and agencies use Foreplay to make their creative research and advertising workflows faster and more effective.

The Role

This is a player-coach role. Half your week is in the code. The other half is deciding what the code should be, who builds it, and how. If you want a seat where you only manage, this is NOT it. If you want a seat where you only code, this is not it either.

You inherit a real distributed system: an event-driven pipeline that ingests about 2 million new unique ads a day from public ad libraries, enriches them on a self-hosted GPU fleet (transcription, creative classification, embeddings), and projects them into a 220-million-document semantic search index, a 50-billion-row ClickHouse warehouse, and a public API and MCP server that sell the corpus as data.

Alongside it sits Lens, a performance-analytics product that pulls directly from Meta, TikTok, and LinkedIn ad accounts and compiles metric definitions into ClickHouse SQL at query time. It runs on about 80 bare-metal servers, across roughly 40 services and 70 repositories, in Node, Python, and Vue.

It works, it makes money, and it was built fast by a small number of people. Some of it exists in two generations at once. Some of it lives in one person’s head. Your job is not to rewrite it. Your job is to make it boring to operate, retire what should be retired, and ship on top of it faster than we ever have, using agents to do most of the typing.

On that last point we are not neutral. We believe software development has changed permanently, and that the teams who win will be the ones who direct agents well, not the ones who type fastest. You will lead that shift here. By the end of your first quarter, routine code at Foreplay should be written and routine bugs squashed without a human in the loop, and the humans should be spending their time on the problems that deserve them.

What You Will Own 

The platform

Every service, every queue, every store, every server. You decide what gets consolidated, what gets retired, and what gets left alone. You own uptime, cost, and the fact that nobody at Foreplay should learn about an outage from a customer.

The way we build

You define how work gets scoped, how agents are directed, how their output is reviewed, and how that scales across 70 repos and a growing team. Work is scoped as projects and jobs-to-be-done in Linear today; you will make it AI-first and AI-led.

The team

Five engineers today, each of whom owns a piece of the system nobody else knows. You end that. You grow the team to 7 or 8, run their 1:1s, set their scorecards, and hold the standard. If you have people you trust and want to bring, we want to meet them.

Shipping

You work with the founder and GM on what gets built, then you make sure it ships. You will personally ship things customers can see. Product opinion is expected.

Who we are looking for

  • At least 5 years shipping production code before coding agents existed. You have been paged. You have run a migration that went sideways. You know what a Kafka consumer lag number means at 2am.
  • Fully bought in on agentic software development, with a specific and defensible opinion on how agent-driven work should be scoped, implemented, reviewed, and scaled. “I use Copilot” is not an opinion.
  • Still in the code and planning to stay there. You are comfortable running agents across many repositories at once, and you know the difference between that and typing in one.
  • Language-agnostic. Our stack is Node, Python, and Vue on Cloudflare, Kafka, ClickHouse, Postgres, MySQL, Firestore, and Elasticsearch. You should recognize most of it, but what matters is that you can read an unfamiliar codebase, ship a correct change in it, and leave the language choice alone.
  • You have operated event-driven or streaming systems at real volume, or you are close enough that you can read our architecture and know what you would do first.
  • System design at real volume. Kafka is the backbone of everything we do. You have operated event-driven or streaming systems at scale, and when something is one machine with no replica, you can draw the design that survives losing it, state the trade-off, and pick one.
  • You have product opinions and you argue for them. You care what gets built, not just how.
  • High agency. You default to shipping. You do not wait for permission or a perfect spec.
  • You want to build and lead a small, senior team, and you know how to do it without adding ceremony.
  • You communicate directly. You can present anything in a 1-take Loom.

Bonus Points

  • You have led through the shift from manual to agent-driven development somewhere else.
  • Bare-metal or self-hosted infrastructure comfort. Docker on your own servers, not only managed cloud.
  • Background with Google Cloud, Firestore and Cloud Functions.
  • Search relevance and vector search experience on Elastic.
  • MarTech or AdTech background, or you have been a heavy user of tools like ours.
  • You have engineers who would follow you.

You might NOT want this job if

  • You think planning is the most efficient way to avoid failure, or you treat structure as a substitute for output.
  • You have no opinion on how agentic development should be scoped, implemented, and scaled.
  • You are romantic about traditional software development and think of AI-written code as a compromise.
  • You want to spend more time managing people than building product & ops.

Why people choose Foreplay

  • You'll build at a scale most engineers only read about. Two million new ads a day. Hundreds of millions indexed and searchable by meaning, not just keywords. When you change how the pipeline works, you change what the world's best marketers see the next morning.
  • Your work lands in front of the people who set the bar. AG1, Dr. Squatch, Rhode Beauty and thousands of other brands and agencies open Foreplay every day to decide what to make next. Ship on Tuesday, watch them use it Wednesday, hear about it in Intercom Thursday.
  • You get the keys, not a ticket queue. You own the platform, the team, and the way software gets built here. Nobody above you will second-guess a technical call you can defend. The flip side: nobody above you will make it for you either.
  • You'll define what an AI-first engineering team actually looks like. Not a pilot, not a policy doc. A real team, a real codebase, real customers, and a mandate to make agents do the typing while humans do the thinking. Most engineers will spend the next five years adapting to this shift. You'll spend them designing it.
  • The business is already working. Bootstrapped, profitable, growing 75%+ a year for three years running. No board, no runway math, no pivot on the horizon. Just a machine that makes money and wants to go faster.
  • Compensation: Competitive base plus an uncapped performance bonus tied directly to company growth. When the company grows, so does your number. There is no ceiling on it.

How We’ll Measure Success

✅ Within 30 days: You have shipped one thing customers can see or feel. You can diagnose an incident on any part of the platform without calling the person who built it, and the runbook you used is written down.

✅ Within 60 days: Routine code is being written and routine bugs squashed by agents without a human in the loop. Something pages a human before a customer notices.

✅ Within 90 days: There is no single-owner system in the company. The development process has shifted to AI-first and AI-led. Deploys are boring.

✅ Within 6 months: The team is 7 or 8. At least one legacy generation of the platform has been retired. We ship measurably faster than before you arrived, and infrastructure costs less.

✅ Within 12 months: Every machine reports its health to one view and alerts reach Slack on a threshold and on silence. Data processing, and infrastructure costs are not linear and the company is shipping more, faster with more platform reliability.

✅ At any point: You make a technical call nobody asked you to make, and the platform is faster, cheaper, or more reliable because of it. The team can explain any system without you in the room.

How We’ll Measure Failure

⛔ Within 30 days: You are still “getting context.” You have a document about the architecture and no commits.

⛔ Within 60 days: Agents are your personal productivity tool, not the team’s process. Velocity is unchanged. Meeting count is up.

⛔ Within 90 days: You have proposed a large migration or rewrite. The team is more organized and ships slower.

⛔ Within 6 months: Headcount grew but leverage did not. The company still depends on individual heroics, yours included.

⛔  Within 12 months: We still learn about outages from customers. Releases still cannot be rolled back by name. You are the only person who can recover the systems you built.

⛔ At any point: You let agent-written code merge without owning it, or you refuse to let it merge because a human didn't write it. You are a new single point of failure.