SaaS Media

Marketing Ops, GTM Engineer, Or Marketing Engineer: Which To Hire

Marketing ops owns the record, GTM engineers the pipes into it, marketing engineers the agents. Staff the one the others read from first.

Author:
Vlad Shvets
Contributors
Vlad Shvets
Date:
October 29, 2026

Three job descriptions can claim one backlog. Marketing ops, GTM engineer, and marketing engineer each promise to fix the routing, build the outbound lists, and put agents to work, and when your sales team says the leads are bad, all three postings sound like the cure.

This page is for the marketing leader with one technical hire approved and no way yet to choose between them. It shows how to tell which of the three you need from the work your team already has, and in what order to staff it.

Empact Partners works from inside the go-to-market teams of B2B software companies, as their consultancy, and since 2020 has built these systems with partners and given each one an owner. That is the revenue operations work of our RevOps workstream: routing, lead data, and the workflows that carry a signup to a closed deal.

The Three Titles Name Three Things To Own After Launch

Ask practitioners what a GTM engineer does and the answer changes with the company’s stage and team. The marketing engineer barely has a definition yet. What holds still is what each role owns once something is live, and written down, the three answers barely overlap:

Role Owns once live Writes to How it fails
Marketing ops The record: which tool holds which fact, the fields, the lifecycle stages, the routing The CRM and the tools wired to it A good lead lands in the wrong stage or with the wrong person
GTM engineer The pipes into the record: list criteria, enrichment, triggers, the check against the CRM New accounts, contacts and sequences Wrong-fit accounts and duplicates enter a clean CRM
Marketing engineer Agents for work a person repeats: research, drafts, reports, measurement Something a person reads, or one of the two rows above A confident wrong output that nobody checks

The record comes first in the table because the other two read it. When a process breaks, marketing ops asks which system should own the fix and how to configure it. GTM engineering asks which accounts the fix should touch, and a decision that changes how hundreds of them are picked or routed is its work rather than a seller’s.

Marketing engineering is what we call building agents for repeated work. At Empact Partners it is how we deliver work across every workstream, with a named consultant directing each agent and owning what it produces. Two of ours run every week:

The Empact Panel. It measures how visible more than a dozen of our partners are in ChatGPT, Google AI Mode, and Claude answers.
The content system. Our consultants direct agents through research, drafting, and review in the content system behind the Empact Zone, and sign every piece.

“Agent” is not a fourth column, though. The prospecting agent we built for SystemOne is an agent, and what it produces is new accounts for outbound, so once it runs it is GTM engineering work, whoever built it. Sort the work by where it lands.

Trace Twenty Bad Leads Back To The Column That Failed

Start from the complaint you already have. A lead sales calls bad went wrong in one of three places, and each place belongs to one column. Counting which one turns an argument between sales and marketing into a staffing decision, and it takes an afternoon:

First, pull twenty. Take the last twenty leads sales rejected, marked as bad, or never worked.
Then check the record. Open each one and check the handling: the wrong stage, the wrong owner, a demo request sent to nurture, a duplicate of a contact sales already had. A mark here is the record failing.
Then check the entry. If the record is clean, look at how the lead got in: the wrong size, the wrong market, a contact who left months ago. That lead should never have been on a list, and a pipe let it in.
Last, check what was read. If it fit and was handled right, find what someone read about it: the score, the report, or the brief that called it ready. That is an agent writing to a person, and the person believed it.

The last kind is the one teams miss, because nothing in the CRM changed. The error moved into a sentence somebody read and acted on, and a sentence passes a wrong field along in good grammar.

Count the three. The column with the most marks is where the first owner goes, and it may not be the title the job postings are fighting over.

Sort The Backlog By What Each Item Writes To

The trace says where it hurts now. The backlog says what you are about to ask somebody to build, and three questions sort it, in this order:

First, what it writes to. The record itself, new accounts entering it, or something a person reads?
Second, who depends on it. Once it runs: sales, the board, or one of the other two columns?
Third, who keeps it working. By name, and how often they look at what it produces.

The first question places the item. The third tells you whether it is owned, and an item with no name beside it is the real vacancy, whatever the title on the posting.

Misrouted demo requests. Demo requests landing in nurture write to the record, as a routing rule, so the fix belongs to marketing ops.
Outbound target list. It puts new accounts into motion, so it belongs to GTM engineering.
Weekly board brief. It writes to people. Marketing engineering can build the agent, and whoever signs the brief owns it.
Signup scoring. It writes a field that a person then acts on, so it is two items.

Anything that writes to two places is two items with a seam between them. Split it, put each half in its column, and write the seam down as one sentence with a name in it: before the list tool adds a company, it checks the CRM for the domain, and marketing ops keeps the domain field filled.

Small teams will object that one person holds two columns, and at forty people that may be the only option. The columns still need names, because the person wearing two hats has to know which one a broken thing belongs to before they can fix it.

Every Seam Between Two Columns Needs A Written Rule

SystemOne, the artist booking platform, is the clearest case we have of the columns split across two teams. Their own team runs the CRM and a segmented sales pipeline with outreach going out all the time, so the record is theirs. Their biggest sales motion picks booking agencies one at a time and works each one, and we built a prospecting agent to feed it.

The agent reads public artist profiles, finds out who books each artist, and adds the booking agency to SystemOne’s outbound list. The seam is one rule: before it writes a lead, it loads the contacts their CRM already holds and skips anyone on them. Without it, sales would get agencies they already know, sent back as new.

We added that rule in March, and the same week found two halves of the build reading two different databases, so the scheduled job kept checking artists the app had already checked. The fix took three tries, because the second undid the first, and the third shipped with a note beside it saying why it must stay.

What practitioners on Reddit say about working inside someone else’s stack

“The gap usually isn’t the outbound skills, it’s working inside someone else’s stack. In-house GTME roles care a lot about the CRM side: routing, keeping Salesforce or HubSpot data clean enough that RevOps trusts it, and building things other people will maintain after you.” — r/gtmengineering, Oct 2026
“You would need a clear process for deduplication. [...] But you must get a grip on that or otherwise you chase more and more bad data.” — r/revops, Oct 2026

Both comments describe the seam from the builder’s side. A seam rule has two owners: the record’s owner keeps the list current, and the pipe’s owner keeps the check running. At SystemOne those two owners sit in two different companies, which is why the rule had to be written down at all.

A Background System Needs An Owner Who Reads Its Output

The rule at the seam held. What the agent needed after that was a person reading what it produced, because three times in six weeks it ran on schedule, logged every run as a success, and found nobody.

When What the log showed What was happening The fix
April Hourly runs completing for more than twenty days, artists read No agencies found: told to find contacts, it stopped at thin profiles instead of searching One verb in the instruction, changed to “search”
May 1 Seventeen runs in a row completing Nobody read: a fix stepped through the results too fast One step per full cycle, not per run
May 19 to 21 Forty-one runs in a row, each a success Nobody read: it had paged past the artists worth reading A cap on how deep it goes

None of the three was an error. Every run did what it was told and reported that accurately, which is why an alert on errors would never have fired. The third showed up as a zero in a daily summary, and somebody read it.

The obvious fix is an alarm on empty output, and a builder can add one in an afternoon. An alarm is a message to a person, though. Somebody has to know what a normal week looks like to set it, and somebody has to answer it when it fires. That is the job the postings leave out.

A lead-finding agent that finds nobody still logs a success. The owner is whoever notices.

At SystemOne that work sits with Sharné McDonald, the senior GTM consultant who runs the partnership and maintains the agent. In September the rules that had lived in memory went into the repository: one way to deploy, the limits that set how much each run can do, and a line saying the scheduler’s “succeeded” only means the request was queued.

Whichever title you hire, then, the job description’s first line names what the person reads every week and what they do when it looks wrong. A title without that line hires a builder, and builders move on to the next build.

Fix The Column The Other Two Read From First

The pipes and the agents both read the record. SystemOne’s agent reads their CRM before every lead it writes, a scoring agent reads lifecycle stages, and a board brief reads whatever the fields say. When the record is wrong, everything built on it is wrong too, and it arrives faster and better formatted.

The order that follows is a ruling. If your twenty bad leads mostly failed in the record, marketing ops comes first, before any builder. If they arrived clean and were handled correctly, the list is the problem and GTM engineering goes first. Agents come after both, because they inherit whatever the other two get wrong.

The trace and the sort take an afternoon with a spreadsheet. The part after takes quarters: fixing the record, writing each seam rule, building what the backlog asks for, and having somebody read every output, every week, for as long as it runs.

Vlad Shvets
Founder @ Empact Partners
Hire for the column the rest of your work reads from. When sales calls the leads bad and the trace lands in the record, another builder only scales the distrust. Give the record an owner first, then build on it, and write down who reads each output before anything ships.

Empact Partners works in that order. A RevOps engagement starts with an audit of the work a team repeats and the record it lands in, and the record stays in the partner’s hands throughout.

Then one system or agent is scoped to one job, a consultant owns what it produces, and the measure is agreed before the build: hours returned, pipeline moved, or a number the team already reports.

If you have one technical seat to fill and sales still calls the leads bad, grab a time in my calendar, and we will find out together whether this is work for us.

Ready
To Connect?

Let's Partner