<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: juan pablo hernández</title>
    <description>The latest articles on DEV Community by juan pablo hernández (@juampitech).</description>
    <link>https://dev.to/juampitech</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4004055%2F3360d00a-ae18-4792-a73f-ccf2bf33ab91.png</url>
      <title>DEV Community: juan pablo hernández</title>
      <link>https://dev.to/juampitech</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/juampitech"/>
    <language>en</language>
    <item>
      <title>I have been Vibecoding Evals (works better than I thought)</title>
      <dc:creator>juan pablo hernández</dc:creator>
      <pubDate>Mon, 03 Aug 2026 20:38:30 +0000</pubDate>
      <link>https://dev.to/juampitech/i-have-been-vibecoding-evals-works-better-than-i-thought-33oi</link>
      <guid>https://dev.to/juampitech/i-have-been-vibecoding-evals-works-better-than-i-thought-33oi</guid>
      <description>&lt;p&gt;I’ve been building AI apps with coding agents for a while.&lt;/p&gt;

&lt;p&gt;Lately, I’ve been experimenting with evals too.&lt;/p&gt;

&lt;p&gt;The app in this example mostly worked. That was the problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bug
&lt;/h2&gt;

&lt;p&gt;I built a small support-triage app for a fictional shipment-tracking company.&lt;/p&gt;

&lt;p&gt;A customer sends a support ticket, and the app decides what it is about, how urgent it is, and whether a human needs to respond.&lt;/p&gt;

&lt;p&gt;A real outage should be escalated.&lt;/p&gt;

&lt;p&gt;But this ticket was different:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“URGENT need key rotation now”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The customer was asking how to rotate their own API key before a security review.&lt;/p&gt;

&lt;p&gt;The app classified it as a security incident and escalated it to a human.&lt;/p&gt;

&lt;p&gt;That was wrong. The policy said normal key rotation was a self-service how-to request.&lt;/p&gt;

&lt;p&gt;Nothing crashed. The app returned valid JSON. The fields all contained allowed values.&lt;/p&gt;

&lt;p&gt;The behavior was still wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why clicking around wasn’t enough
&lt;/h2&gt;

&lt;p&gt;I could test a few tickets manually and convince myself the app worked.&lt;/p&gt;

&lt;p&gt;But after changing the prompt, what would I actually know?&lt;/p&gt;

&lt;p&gt;Would the outage case still escalate?&lt;/p&gt;

&lt;p&gt;Would normal how-to questions stay in the normal queue?&lt;/p&gt;

&lt;p&gt;Would another API-key question behave differently?&lt;/p&gt;

&lt;p&gt;I didn’t want to change the prompt and simply hope for the best.&lt;/p&gt;

&lt;p&gt;I wanted a set of cases I could run again.&lt;/p&gt;

&lt;h2&gt;
  
  
  Adding DeepEval with Cursor
&lt;/h2&gt;

&lt;p&gt;I installed the DeepEval agent skill:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npx skills add confident-ai/deepeval --skill "deepeval"&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Then I asked Cursor to add evals to the app:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;This app sometimes treats normal support questions like emergencies and sends
them to a human.
Add DeepEval so I can test this using the tickets and policy already in the repo.
I am new to evals, so use the simplest setup DeepEval already provides, explain
what you create, and ask me anything you need.
Run the app as it is first and show me what fails. Do not fix it yet.

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cursor already had the app, tickets, and policy, so it went straight to creating the baseline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Goldens are the checklist
&lt;/h2&gt;

&lt;p&gt;The first useful artifact was a JSON dataset.&lt;/p&gt;

&lt;p&gt;Each golden contained:&lt;/p&gt;

&lt;p&gt;the customer message&lt;br&gt;
the expected category&lt;br&gt;
the expected priority&lt;br&gt;
whether a human should be involved&lt;br&gt;
For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"input"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"URGENT need key rotation now"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"expected"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"category"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"how-to"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"priority"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"P3"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"needs_human"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The app does not learn from these examples.&lt;/p&gt;

&lt;p&gt;The dataset is a checklist. It tells me which behaviors need to keep working before I ship a prompt update.&lt;/p&gt;

&lt;p&gt;That was the part that made evals click for me.&lt;/p&gt;

&lt;h2&gt;
  
  
  The metrics
&lt;/h2&gt;

&lt;p&gt;Cursor used built-in DeepEval metrics to check two different things.&lt;/p&gt;

&lt;p&gt;The first compared the app’s routing fields with the expected values in the golden:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;category&lt;/li&gt;
&lt;li&gt;priority&lt;/li&gt;
&lt;li&gt;human escalation
The second checked whether the decision followed the escalation rules in the policy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I could ask two separate questions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Did the app return the expected decision?&lt;/li&gt;
&lt;li&gt;Does that decision make sense under the policy?&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The baseline failure
&lt;/h2&gt;

&lt;p&gt;The first run caught the key-rotation case.&lt;/p&gt;

&lt;p&gt;The app returned:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;category&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;security&lt;/span&gt;
&lt;span class="na"&gt;priority&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;P1&lt;/span&gt;
&lt;span class="na"&gt;needs_human&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The expected result was:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;category&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;how-to&lt;/span&gt;
&lt;span class="na"&gt;priority&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;P3&lt;/span&gt;
&lt;span class="na"&gt;needs_human&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The output was valid. The behavior was not.&lt;/p&gt;

&lt;p&gt;The policy check also gave Cursor a reason explaining why the decision did not fit the support rules.&lt;/p&gt;

&lt;p&gt;That was already more useful than changing the prompt, clicking the same ticket again, and hoping I hadn’t broken something else.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fixing the prompt
&lt;/h2&gt;

&lt;p&gt;The failure pointed back to an over-broad instruction in the triage prompt.&lt;/p&gt;

&lt;p&gt;It was treating anything involving API keys as a security incident.&lt;/p&gt;

&lt;p&gt;That was too aggressive.&lt;/p&gt;

&lt;p&gt;The fix was to reserve escalation for actual compromise, suspicious access, or an outage.&lt;/p&gt;

&lt;p&gt;Then Cursor reran the same test cases.&lt;/p&gt;

&lt;p&gt;The key-rotation case passed.&lt;/p&gt;

&lt;p&gt;The real outage case still escalated.&lt;/p&gt;

&lt;p&gt;That second part matters. Fixing one case is not enough. I also want to know that I didn’t break a case that was already working.&lt;/p&gt;

&lt;h2&gt;
  
  
  The loop
&lt;/h2&gt;

&lt;p&gt;This is the workflow I’ve been using:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Build the app
Create test cases
Run the app
Read the failure
Fix the prompt
Run the same cases again

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Without evals, I would change the prompt and hope I didn’t create three new bugs.&lt;/p&gt;

&lt;p&gt;With evals, every prompt change has a checklist behind it.&lt;/p&gt;

&lt;p&gt;I recorded the full workflow here:&lt;/p&gt;

&lt;p&gt;Watch the video: &lt;a href="https://x.com/juampitech/status/2084330588593385637?s=20" rel="noopener noreferrer"&gt;https://x.com/juampitech/status/2084330588593385637?s=20&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DeepEval is open source and runs locally. You don’t need a Confident AI account for this workflow. LLM-as-a-judge metrics require a model API key.&lt;/p&gt;

&lt;p&gt;DeepEval Vibe Coder quickstart:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://deepeval.com/docs/vibe-coder-quickstart" rel="noopener noreferrer"&gt;https://deepeval.com/docs/vibe-coder-quickstart&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>python</category>
      <category>evals</category>
    </item>
    <item>
      <title>What the F*** Is a Marketing Engineer?</title>
      <dc:creator>juan pablo hernández</dc:creator>
      <pubDate>Fri, 17 Jul 2026 15:16:54 +0000</pubDate>
      <link>https://dev.to/juampitech/what-the-f-is-a-marketing-engineer-5edp</link>
      <guid>https://dev.to/juampitech/what-the-f-is-a-marketing-engineer-5edp</guid>
      <description>&lt;p&gt;Everyone is hiring for one. Nobody can agree on what it is.&lt;/p&gt;

&lt;p&gt;Let’s fix that.&lt;/p&gt;

&lt;p&gt;Open LinkedIn and look at the job titles for a second:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Marketing Engineer&lt;/li&gt;
&lt;li&gt;Growth Engineer&lt;/li&gt;
&lt;li&gt;Developer Relations&lt;/li&gt;
&lt;li&gt;Developer Growth&lt;/li&gt;
&lt;li&gt;Engineer Marketer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each one has a clean job description and a salary band.&lt;/p&gt;

&lt;p&gt;Each one also quietly overlaps with the others.&lt;/p&gt;

&lt;p&gt;Recruiters swap them around. Founders argue about which one they actually need. Candidates rewrite their headlines based on whoever they are talking to that week.&lt;/p&gt;

&lt;p&gt;So, what the f*** is a marketing engineer?&lt;/p&gt;

&lt;p&gt;It sounds like another buzzword.&lt;/p&gt;

&lt;p&gt;Tech loves to rename things and act like it invented them. But something real is happening beneath the title soup, and the people who understand it early are about to become very valuable hires.&lt;/p&gt;

&lt;p&gt;Here is the simple version:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;A marketing engineer is a builder who reports to the business side instead of the CTO.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is the whole idea.&lt;/p&gt;

&lt;p&gt;The rest is just a question of where they point.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a Marketing Engineer Actually Is
&lt;/h2&gt;

&lt;p&gt;Drop the branding and the role is simple.&lt;/p&gt;

&lt;p&gt;A marketing engineer sits inside marketing and turns boring, manual, repetitive work into systems.&lt;/p&gt;

&lt;p&gt;Not someone who is simply good at using AI tools.&lt;/p&gt;

&lt;p&gt;Someone who builds things that did not exist before.&lt;/p&gt;

&lt;p&gt;The old marketing job was to run campaigns.&lt;/p&gt;

&lt;p&gt;This job is to build the machine that runs them, so humans can spend their time on judgment instead of copying and pasting.&lt;/p&gt;

&lt;p&gt;Think:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Content pipelines&lt;/li&gt;
&lt;li&gt;Attribution that is not held together with tape and a shared spreadsheet&lt;/li&gt;
&lt;li&gt;SEO and automated answer workflows&lt;/li&gt;
&lt;li&gt;Internal marketing tools&lt;/li&gt;
&lt;li&gt;Systems that continue working while everyone sleeps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The output is not “a nicer dashboard.”&lt;/p&gt;

&lt;p&gt;It is a system that does the work.&lt;/p&gt;

&lt;p&gt;The metric is leverage.&lt;/p&gt;

&lt;p&gt;One marketing engineer should make the entire team faster, and you should feel that impact in the pipeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Family Tree
&lt;/h2&gt;

&lt;p&gt;Now the fun part.&lt;/p&gt;

&lt;p&gt;The marketing engineer has a lot of cousins, and the gaps between them are smaller than the people defending each title would like you to think.&lt;/p&gt;

&lt;p&gt;Two questions sort the whole family out:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Do you face inward, building for your own team, or outward, facing customers and developers?&lt;/li&gt;
&lt;li&gt;Where in the funnel does your work live?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Answer those two questions and everyone starts to come into focus.&lt;/p&gt;

&lt;h3&gt;
  
  
  GTM Engineer
&lt;/h3&gt;

&lt;p&gt;The closest sibling.&lt;/p&gt;

&lt;p&gt;A GTM engineer builds the revenue machine.&lt;/p&gt;

&lt;p&gt;Think:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enrichment pipelines&lt;/li&gt;
&lt;li&gt;CRM setup&lt;/li&gt;
&lt;li&gt;Outbound automation&lt;/li&gt;
&lt;li&gt;Lead scoring&lt;/li&gt;
&lt;li&gt;Glue code between tools that refuse to talk to each other&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Clay’s community coined the term in 2023, and it grew rapidly throughout 2024 and 2025.&lt;/p&gt;

&lt;p&gt;Roughly 100 listings now go live every month at companies such as Cursor, Lovable, Webflow, and OpenAI.&lt;/p&gt;

&lt;p&gt;A marketing engineer generally lives at the top of the funnel.&lt;/p&gt;

&lt;p&gt;A GTM engineer works across the revenue side.&lt;/p&gt;

&lt;p&gt;It is a similar skill set with a more sales-led focus. They usually report to the CRO rather than the CMO, and they almost never interact directly with customers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Growth Engineer
&lt;/h3&gt;

&lt;p&gt;Same DNA. Wider lens.&lt;/p&gt;

&lt;p&gt;A growth engineer works across the entire journey, not only the front door:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Acquisition&lt;/li&gt;
&lt;li&gt;Activation&lt;/li&gt;
&lt;li&gt;Retention&lt;/li&gt;
&lt;li&gt;Referral&lt;/li&gt;
&lt;li&gt;Revenue&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The whole loop.&lt;/p&gt;

&lt;p&gt;They usually have access to product data and experimentation tools that a marketing engineer might not, so their work sits closer to the product itself.&lt;/p&gt;

&lt;p&gt;Can only hire one person and want the widest possible range?&lt;/p&gt;

&lt;p&gt;This is probably the hire.&lt;/p&gt;

&lt;p&gt;A good growth engineer can usually do marketing engineering work.&lt;/p&gt;

&lt;p&gt;It does not always go the other way.&lt;/p&gt;

&lt;h3&gt;
  
  
  Developer Relations
&lt;/h3&gt;

&lt;p&gt;The oldest cousin.&lt;/p&gt;

&lt;p&gt;Also the one having the loudest identity crisis.&lt;/p&gt;

&lt;p&gt;DevRel was built around a simple trade:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Earn developer trust and drive adoption.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For years, that meant:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tutorials&lt;/li&gt;
&lt;li&gt;Talks&lt;/li&gt;
&lt;li&gt;Documentation&lt;/li&gt;
&lt;li&gt;Sample applications&lt;/li&gt;
&lt;li&gt;Managing a Discord community&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then AI ate the easy half of the job.&lt;/p&gt;

&lt;p&gt;More than half of professional developers now use AI tools every day, according to Stack Overflow.&lt;/p&gt;

&lt;p&gt;Developers ask a model their syntax questions instead of reading your “Hello World” tutorial.&lt;/p&gt;

&lt;p&gt;The role is drifting toward the harder work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Community strategy&lt;/li&gt;
&lt;li&gt;Building real relationships&lt;/li&gt;
&lt;li&gt;Turning developer feedback into product decisions&lt;/li&gt;
&lt;li&gt;Helping developers become successful with the product&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is also a completely new problem:&lt;/p&gt;

&lt;p&gt;Making your documentation and APIs readable by the AI agents using them.&lt;/p&gt;

&lt;p&gt;Your documentation quietly became an API for machines, whether you planned for it or not.&lt;/p&gt;

&lt;h3&gt;
  
  
  Developer Growth
&lt;/h3&gt;

&lt;p&gt;The devtools cousin.&lt;/p&gt;

&lt;p&gt;It has the same instinct to build systems, but those systems are aimed at developers instead of traditional buyers.&lt;/p&gt;

&lt;p&gt;The audience is what makes the role different.&lt;/p&gt;

&lt;p&gt;Developers can smell marketing from a mile away and quickly tune it out.&lt;/p&gt;

&lt;p&gt;That means the work is less about campaigns and more hands-on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Documentation that actually converts&lt;/li&gt;
&lt;li&gt;Sample applications&lt;/li&gt;
&lt;li&gt;Free tools&lt;/li&gt;
&lt;li&gt;Technical content&lt;/li&gt;
&lt;li&gt;Onboarding that gets someone to their first win before they lose interest&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Developer Growth exists at companies where “technical” and “marketing” are no longer treated as completely separate things.&lt;/p&gt;

&lt;p&gt;Everybody ships.&lt;/p&gt;

&lt;p&gt;A Developer Growth hire simply owns more of how the product reaches the people who will use it.&lt;/p&gt;

&lt;p&gt;The market keeps inventing names for this person because the old org chart had no box for someone who is half engineer, half marketer, and expected to be great at both.&lt;/p&gt;

&lt;p&gt;See the pattern?&lt;/p&gt;

&lt;p&gt;The titles disagree on scope, reporting lines, and whether the person interacts with customers.&lt;/p&gt;

&lt;p&gt;But they all agree on the verb.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The verb is build.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Spot the manual workflow.&lt;/p&gt;

&lt;p&gt;Turn it into a system.&lt;/p&gt;

&lt;p&gt;Measure it.&lt;/p&gt;

&lt;p&gt;Do it again.&lt;/p&gt;

&lt;p&gt;Call yourself a Growth Engineer, Marketing Engineer, or a marketer who got tired of waiting in the engineering queue.&lt;/p&gt;

&lt;p&gt;That loop is the job.&lt;/p&gt;

&lt;h2&gt;
  
  
  Engineer vs. Operator
&lt;/h2&gt;

&lt;p&gt;One distinction matters:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engineer versus operator.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Revenue Operations and Marketing Operations usually run the systems that already exist.&lt;/p&gt;

&lt;p&gt;They keep the machine working, clean up processes, manage tools, and make sure the team follows the playbook.&lt;/p&gt;

&lt;p&gt;The engineer builds something the company did not have before.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Build versus run.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A great operator who cannot code will struggle with the building work.&lt;/p&gt;

&lt;p&gt;A great engineer who hates writing process documentation will struggle with operations.&lt;/p&gt;

&lt;p&gt;At a small company, one person often does both.&lt;/p&gt;

&lt;p&gt;By Series B, you usually split them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Now and Not Five Years Ago?
&lt;/h2&gt;

&lt;p&gt;None of these roles made as much sense five years ago.&lt;/p&gt;

&lt;p&gt;A marketer who wanted custom software filed a ticket and waited an entire quarter.&lt;/p&gt;

&lt;p&gt;The ticket usually died in a backlog because it was never quite important enough to beat the product roadmap.&lt;/p&gt;

&lt;p&gt;The gap between “I have an idea” and “the idea is live” was measured in sprints you did not control.&lt;/p&gt;

&lt;p&gt;That gap collapsed.&lt;/p&gt;

&lt;p&gt;The cost of turning a clear description into working software fell off a cliff.&lt;/p&gt;

&lt;p&gt;And it fell fastest for the people who are good at describing things.&lt;/p&gt;

&lt;p&gt;Vibe coding is the most obvious example.&lt;/p&gt;

&lt;p&gt;Andrej Karpathy coined the term in February 2025.&lt;/p&gt;

&lt;p&gt;You describe what you want in plain language, and a model helps build it.&lt;/p&gt;

&lt;p&gt;Tools such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lovable&lt;/li&gt;
&lt;li&gt;Bolt&lt;/li&gt;
&lt;li&gt;v0&lt;/li&gt;
&lt;li&gt;Cursor&lt;/li&gt;
&lt;li&gt;Claude Code&lt;/li&gt;
&lt;li&gt;Replit&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here is the statistic that should make a CMO pay attention:&lt;/p&gt;

&lt;p&gt;Depending on the survey, around 63% of people building with these tools have no engineering background.&lt;/p&gt;

&lt;p&gt;This stopped being only a developer trend.&lt;/p&gt;

&lt;p&gt;It quietly became marketing infrastructure.&lt;/p&gt;

&lt;p&gt;And here is the funny part:&lt;/p&gt;

&lt;p&gt;Marketers were accidentally trained for this throughout their entire careers.&lt;/p&gt;

&lt;p&gt;The core skill of marketing is briefing.&lt;/p&gt;

&lt;p&gt;Describe an outcome clearly enough that someone else can build it.&lt;/p&gt;

&lt;p&gt;Explain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What the page should do&lt;/li&gt;
&lt;li&gt;Who it is for&lt;/li&gt;
&lt;li&gt;What action they should take&lt;/li&gt;
&lt;li&gt;Why the experience matters&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is exactly the kind of input an AI coding tool wants.&lt;/p&gt;

&lt;p&gt;Marketers did not learn a completely new skill.&lt;/p&gt;

&lt;p&gt;They pointed an old one at a keyboard.&lt;/p&gt;

&lt;p&gt;The market is already adjusting.&lt;/p&gt;

&lt;p&gt;Renewals for single-function tools reportedly dropped by roughly one-third year over year.&lt;/p&gt;

&lt;p&gt;Why pay a vendor for one narrow feature when you can build something fitted to your exact workflow in an afternoon?&lt;/p&gt;

&lt;p&gt;The question changed from:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Which tool should I buy?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Should I just build this?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For many teams, the honest answer is now “build it.”&lt;/p&gt;

&lt;p&gt;The person who can do that is the marketing engineer.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Distribution Era
&lt;/h2&gt;

&lt;p&gt;Here is the real reason this role is not going away.&lt;/p&gt;

&lt;p&gt;It has nothing to do with job titles.&lt;/p&gt;

&lt;p&gt;When AI made building cheap, it also made something much scarier cheap:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Copying.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A product feature used to buy you months of lead time.&lt;/p&gt;

&lt;p&gt;Now it might buy you a few days before a fast, AI-native team ships something similar.&lt;/p&gt;

&lt;p&gt;So the moat moved.&lt;/p&gt;

&lt;p&gt;It walked away from the product and toward the audience.&lt;/p&gt;

&lt;p&gt;Call it the distribution era.&lt;/p&gt;

&lt;p&gt;When everyone can build, the scarce thing is no longer the ability to build.&lt;/p&gt;

&lt;p&gt;The scarce thing is getting anyone to use what you built.&lt;/p&gt;

&lt;p&gt;The real edge becomes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Distribution&lt;/li&gt;
&lt;li&gt;Brand&lt;/li&gt;
&lt;li&gt;Trust&lt;/li&gt;
&lt;li&gt;An audience that opens your emails&lt;/li&gt;
&lt;li&gt;Relationships&lt;/li&gt;
&lt;li&gt;First-party data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A competitor cannot rebuild those things over a weekend.&lt;/p&gt;

&lt;p&gt;But not all distribution counts.&lt;/p&gt;

&lt;p&gt;Rented reach is not a moat.&lt;/p&gt;

&lt;p&gt;It is a bill that becomes more expensive as demand increases.&lt;/p&gt;

&lt;p&gt;The same AI wave is attacking rented distribution from the other side, as answer engines and buying agents position themselves between companies and their customers.&lt;/p&gt;

&lt;p&gt;The moat is the distribution nobody can take away from you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Owned audience&lt;/li&gt;
&lt;li&gt;Earned authority&lt;/li&gt;
&lt;li&gt;First-party data&lt;/li&gt;
&lt;li&gt;Relationships that do not reset every quarter&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now put the two trends next to each other:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Building became cheaper, so distribution became more valuable.&lt;/li&gt;
&lt;li&gt;Building became easier, so marketing teams can now build.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The role sitting directly at that intersection is the marketing engineer.&lt;/p&gt;

&lt;p&gt;Technical enough to ship a system.&lt;/p&gt;

&lt;p&gt;Commercial enough to know which system is worth shipping.&lt;/p&gt;

&lt;p&gt;The title simply follows the shift.&lt;/p&gt;

&lt;p&gt;“Your GTM is your product” stops being a LinkedIn line and starts becoming an org chart decision.&lt;/p&gt;

&lt;h2&gt;
  
  
  There Are Some Problems, Though
&lt;/h2&gt;

&lt;p&gt;This would be a bad guide if it only sold the upside.&lt;/p&gt;

&lt;p&gt;The titles are genuinely confusing, and that confusion has a cost.&lt;/p&gt;

&lt;p&gt;Good candidates get filtered out because they used the wrong keyword.&lt;/p&gt;

&lt;p&gt;Hiring managers post a “Marketing Engineer” role when they actually need a Revenue Operations specialist.&lt;/p&gt;

&lt;p&gt;Pick the label that matches the real center of gravity of the role.&lt;/p&gt;

&lt;p&gt;Not the one that sounds the coolest.&lt;/p&gt;

&lt;p&gt;The same overreach affects the work itself.&lt;/p&gt;

&lt;p&gt;“Do everything” roles usually break down, especially when you combine a customer-facing role with a quiet, build-focused one.&lt;/p&gt;

&lt;p&gt;The incentives fight each other, and one side eventually gets ignored.&lt;/p&gt;

&lt;p&gt;When you must combine them, choose the primary focus and treat everything else as a bonus.&lt;/p&gt;

&lt;p&gt;There is also a quieter risk.&lt;/p&gt;

&lt;p&gt;Vibe-coded systems are still code.&lt;/p&gt;

&lt;p&gt;They can contain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hardcoded passwords&lt;/li&gt;
&lt;li&gt;Weak input validation&lt;/li&gt;
&lt;li&gt;Security vulnerabilities&lt;/li&gt;
&lt;li&gt;Silent data leaks&lt;/li&gt;
&lt;li&gt;Broken permissions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The difference is that the person building the system might not know what to look for.&lt;/p&gt;

&lt;p&gt;Trusting AI-generated work simply because it came from a friendly chat window is how you end up with a security incident attached to your name.&lt;/p&gt;

&lt;p&gt;The teams that win will keep a strong review habit around the new speed.&lt;/p&gt;

&lt;h2&gt;
  
  
  So, What the F*** Is a Marketing Engineer?
&lt;/h2&gt;

&lt;p&gt;It is not a brand-new species.&lt;/p&gt;

&lt;p&gt;It is what happens when an old itch finally gets access to cheap, fast tools.&lt;/p&gt;

&lt;p&gt;That itch is the desire to stop doing the same manual task repeatedly and build a machine that does it instead.&lt;/p&gt;

&lt;p&gt;The cousins are all driven by the same instinct:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GTM Engineer&lt;/li&gt;
&lt;li&gt;Growth Engineer&lt;/li&gt;
&lt;li&gt;Developer Relations&lt;/li&gt;
&lt;li&gt;Developer Growth&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They simply point that instinct at different parts of the funnel and different audiences.&lt;/p&gt;

&lt;p&gt;The companies that understand this shift are no longer asking whether the title is real.&lt;/p&gt;

&lt;p&gt;They are asking a sharper question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Now that anyone with taste and a clear brief can build, who on the team is actually doing it?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Is the thing they are building something a competitor could not copy by Friday?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;More and more, the answer to both questions is a marketing engineer.&lt;/p&gt;

&lt;p&gt;Whatever the job posting happens to call them.&lt;/p&gt;

&lt;p&gt;The phrase will probably age badly.&lt;/p&gt;

&lt;p&gt;The shift underneath it will not.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
