DEV Community

Daria Dovzhikova
Daria Dovzhikova

Posted on

GTM engineering is a systems design job. Most people doing it are building the wrong system.

Two years ago "GTM engineer" wasn't a job title. Now it's in every growth team's hiring plan. If you're a developer, you've probably seen it on your feed and wondered: real engineering job, or a marketer who learned Zapier?

The honest answer: it's a systems design job. And the interesting part is what happens when the system's target is you.

What the system actually is

Strip the hype and a GTM engineer builds one thing: a pipeline that turns raw prospect data into revenue conversations, with as few humans in the middle as possible.

The reference architecture looks like this:

  1. Ingest: pull prospect and account data from enrichment providers, product telemetry, and public signals (funding rounds, job changes, repo activity).
  2. Transform: dedupe, join, and score. Bad joins here poison everything downstream, which is why data literacy is 80% of the job.
  3. Act: trigger sequences, route leads, draft personalized messages. Increasingly this layer is LLM agents with review gates.
  4. Write back: log everything to the CRM so the system stays observable.

If that sounds like a normal ETL pipeline with a CRM as the sink, you've understood it correctly. The signature orchestration tool is Clay, the glue is n8n or Make or webhooks, and the new layer is agents.

Where it goes wrong: selling to developers

Here's the failure mode I spend my working life on. That reference architecture was designed for sales-led motions: high volume, broad targeting, persistence as a feature. Run it against a developer audience and it fails on contact.

Developers evaluate tools technically, distrust marketing language by default, and talk to each other. A "personalized" email generated from your LinkedIn scrape does not read as personal. It reads as a template with variables filled in, because that is literally what it is, and the developer receiving it has built that template themselves.

The version of this discipline that works on technical buyers inverts the design goals:

  • Signal quality over contact volume. An outreach triggered by actual product usage or a real repo event can be useful. An outreach triggered by "works at a company with 50-200 employees" cannot.
  • Artifacts over messages. Docs, benchmarks, working examples, and calculators earn trust that sequences never will. The system's job is to produce and distribute those, not to send more email.
  • Review gates as a first-class component. Agents will confidently ship wrong, off-brand output at scale. The engineering work is the gate design, not the generation.

Why this might matter to you

Two reasons. First, if you're building or marketing a devtool, the difference between these two architectures is the difference between a warm community and your domain in everyone's spam folder.

Second, if you're a developer looking sideways at your career: this role pays real money (US postings commonly run $110K-$180K base), has no credential gate, and rewards exactly the judgment developers already have about which automation is useful and which is noise. Most people in it came from growth or RevOps and learned the technical layer. Developers coming from the other direction have an edge nobody talks about: you already know how the systems work, you only need to learn what's worth automating.

I keep a longer reference on the role (day-to-day workstreams, the full stack, how it compares to RevOps and PMM) here: what is a GTM engineer.

I'm Daria. I've spent 12 years doing go-to-market for developer tools, 7 of them at JetBrains, and now I build these systems at GTM Labs.

If you've received "personalized" outreach that an AI clearly wrote, what gave it away? Drop it in the comments. I collect these failure modes professionally.

Top comments (1)

Collapse
 
alexshev profile image
Alex Shev

The systems-design angle is right. A lot of GTM automation fails because it optimizes the activity layer instead of the feedback loop: who did we contact, what signal came back, what changed in the next run. Without that loop, the system just becomes a faster way to repeat the same weak assumptions.