Editorial note: This analysis combines developer research, software engineering studies, and labor-market observations to examine why AI adoption has affected different parts of software work unevenly.
The Frontend Was Never the Hard Part. What Generative AI Actually Took From Software Teams.
Why the "AI Will Replace Customer Service First" Prediction Was Wrong
In 2023, a common expectation around generative AI was that customer support, copywriting, junior legal work, and repetitive administrative tasks would be among the first areas affected.
The argument carried an unstated premise — that how senior a job looks is a reliable proxy for how automatable it is.
What actually happened ignored that premise. Stack Overflow's 2025 Developer Survey (49,009 respondents across 166 countries) found that 84% of developers already use or plan to use AI tools, while only 33% trust the accuracy of the output, 46% actively distrust it, and 3% report high trust. Tools moved into the workflow at scale; trust did not follow. That combination — high adoption, low trust — is what real automation looks like once it lands, rather than what it looks like in a lab.
Labor-market signals from 2025–2026 suggest a similar pattern: software engineering has not declined evenly, and implementation-focused roles such as frontend work appear more exposed than roles centered on system design, integration, and AI deployment.
The same wave of technology, and the forecast had put support first. The impact landed on the people writing the code. Four mundane conditions explain the ordering better than any judgment about difficulty:
- Whether the machine can verify its own output. Code compiles, runs, renders, screenshots, passes tests. A legal opinion gets judged by a judge and a client. A resolved complaint gets judged by the person who complained. The machine cannot grade itself in either case.
- Whether the corpus is large and clean. Open-source code is one of the largest and most structurally regular text collections humans have produced. Case files and support transcripts sit behind confidentiality agreements.
- How much a mistake costs. A broken render costs a page refresh. A bad update statement costs money and corrupted rows.
- Whether adopting it requires the organization or the regulator to move first. A law firm adopting AI has to clear compliance, liability allocation, and client trust — a process measured in years. An engineering team adopting a coding assistant installs a plugin, and one technical lead makes the call.
That fourth gap is an order of magnitude wide. So the impact surfaced in software first — partly because software work is genuinely more automatable, and partly because it got tested first. Programmers built these tools and used them hardest, which meant the tools landed, iterated, and exposed their failure modes in public before anyone else's did. Substitution in other industries may well be coming. It simply has not become observable yet.
Follow those four conditions into a specific team and the mechanism becomes concrete.
Case Study: A Dashboard That Shipped in Half a Day
Meridian is a composite example based on recurring patterns observed in small software teams. It represents a twelve-person B2B SaaS company selling warehouse and inventory analytics. In spring 2026, its largest customer — a regional logistics operator — asked for a real-time operations wall display: vehicles in transit, slot occupancy, exception volumes, mounted in the dispatch center.
Under the 2023 process, that request had a predictable path. The product manager writes a spec. The designer produces three visual directions. Frontend estimates the work — a wall display means live data streams, multi-resolution adaptation, chart performance — and quotes two to three weeks. Backend builds three aggregation endpoints. Then integration, review, style fixes, review again. Any single stall stops the whole chain.
The actual sequence went differently. The product manager handed the requirement description plus the backend's existing OpenAPI document to a coding assistant. By the end of the afternoon there were three runnable dashboards, each with a different visual treatment, all rendering in a browser against mock data. At the demo that day, the customer's operations director picked version two, raised seven changes, and five of them were done within the next two hours.
Two days from request to sign-off.
There is a mechanism here that gets overlooked: an interface contract is already a machine-readable specification. OpenAPI, JSON Schema, TypeScript types — these formats were designed so machines on different teams could understand each other, and they incidentally became input a model can consume directly. That is why "hand over a well-specified API and get a frontend" works. The hard part of backend work — the historical layering of business rules, consistency boundaries, concurrency and idempotency, coupling to a dozen legacy systems — lives largely as tacit knowledge. It sits in people's heads and in incident postmortems, not in the document. The same model that produces a frontend in an afternoon cannot produce a backend in an afternoon.
Three weeks later the dashboard went live on real data.
The problems arrived in a fairly predictable order. In week one, vehicle status arrived over WebSocket at roughly two hundred messages per second at peak, with parsing and aggregation running on the main thread. Frames dropped; the cursor lagged. Moving parsing and aggregation into a Web Worker and passing data as Transferables fixed it. In week two, historical series grew to tens of thousands of points, and the charting library's default animations became a liability under high-frequency updates. Disabling animation and adding LTTB downsampling stabilized rendering. In week three, after six continuous hours, memory climbed steadily; the historical buffers and event listeners were not being released properly. Around the same time, a data-center network blip left the frontend with no reconnection fallback. The image froze on the last frame, and the dispatcher had no way to know the data had stopped. A failure that looks alive is worse than a white screen.
The common thread: none of these problems live in the generation step. They live in the running step. On demo day all three versions met the bar. The acceptance criteria were "does it run, does it look right." The production criteria are "does it run for three months, and does it lie to you when the feed drops." AI handles the first set well. The second set requires someone who knows where the browser's main-thread budget actually is and what a healthy long-running memory curve looks like.
Anthropic's research on AI-assisted software development provides another perspective: some AI-assisted work represents incremental tasks that may not have been attempted without AI, with interactive data dashboards among the examples discussed. The cost of producing these artifacts dropped to near zero, so they get produced in volume — and volume needs someone accountable for keeping it alive.
Meridian's story does not end there. Six months later the company looked different.
Why Frontend Work Was the First to Be Commoditized
Apply the four conditions from the first section to frontend work and it satisfies all four, each in the most favorable position.
Verification is cheapest here. Frontend is the easiest layer of software engineering to self-certify: it compiles, it renders, it can be screenshotted and diffed, it can pass end-to-end tests. A model can close that loop on its own and even iterate several rounds until the visual output converges on the target. A wrong transaction boundary on the backend may not surface until concurrency arrives, which makes it hard to judge at generation time.
The work is fundamentally a mapping. Design file to DOM and styles. PRD to state machine and interactions. API document to request wrappers and data rendering. Each has a defined input, a defined output, and comparatively convergent rules — the shape generative models handle best.
Expression is highly patterned and the corpus is dense. Component architectures, utility CSS, and mature component libraries collapse visual implementation into a handful of paradigms. Models trained on enormous volumes of near-identical samples learn that quickly. By contrast, in a three-year-old system with layers of historical decisions baked in, the model's constraint is not generation capacity. It is context and constraint comprehension.
Small projects have the most error tolerance. The pattern shows up concentrated in small, non-standardized projects, and that is not a coincidence: no legacy baggage, loose standards, acceptance held by the requester, short lifecycle. How fast an organization automates is largely decided by what happens when something breaks.
Designers becoming optional on small projects is the same logic from another angle. The acceptance criterion for aesthetics is "does it look right," and "does it look right" is exactly the kind of judgment a non-specialist can make. Once the requester can hold acceptance themselves, the professional translation layer in between loses its economic justification.
There is still a gap between "can be generated" and "can run for a long time." Meridian's second half of the year is the shape of that gap.
Case Study: The Seat That Disappeared
Four months after the dashboard shipped, Meridian took on a custom project for a new customer: an internal ticket-routing system, six-week delivery, limited budget.
The staffing was one backend engineer and one product manager. No designer, no frontend. The product manager drove the coding assistant to produce pages and interactions; the backend engineer owned endpoints and the data model. The two worked directly together. Six weeks later the system was delivered and accepted, at roughly half the cost of comparable projects.
Management drew a reasonable-looking conclusion: on projects like this, frontend and design are not required. The next similar project used the same configuration. So did the one after. By year-end, when the frontend role turned over, it was not backfilled.
The bill arrived in installments over the following months.
First: nobody could review. The state management in that system had grown incrementally across many assistant conversations. Nobody held a complete model of why it was shaped that way. A single requirement change touched seven components, and the person making the change could only confirm nothing else broke by trial and error — because no one had the full mental map. Lines of code went up. Comprehensibility went down.
Second: technical debt accumulated in a new form. Generated code tends toward "works, ship it." Repeated logic gets copied rather than extracted. Dependencies get added without anyone checking license or maintenance status. None of this fails immediately. It comes due around month ten.
Third, and the hardest to repay: juniors lost their entry point. Junior frontend engineers used to build intuition about the browser by building pages, tuning styles, and going back and forth with designers. Those are precisely the tasks AI took over, and they were the training ground for judgment. Judgment does not grow from reading generated code. It grows from doing it, and from breaking it.
In month eleven, Meridian reopened a frontend role. The job description contained almost no implementation language. It described code review, rendering and memory performance, build and engineering infrastructure, maintainability, and the ability to take over when an AI-generated approach goes collectively wrong. The salary was higher than the role that had been cut a year earlier.
Three separate things are happening here, on three different clocks, and conflating them produces bad conclusions:
- Tasks get removed — fast, already done, irreversible. Manual design translation, style tuning, and glue code between UI and API are losing market value.
- Headcount gets merged — medium speed, underway, highly dependent on project type. Small, short-cycle, loosely-gated projects merge first. Large legacy systems, heavily regulated work, and long-lived products have not moved yet.
- Accountability does not get cheaper — essentially unchanged. Whoever owns a production incident, whoever decides whether an interaction is sound, whoever picks up the pieces when an AI-generated approach fails collectively — that is still human work. And because AI multiplies code volume, the review and gating burden has grown, it just moved from writing to reading and judging.
The accurate framing is that what got commoditized is the portion of the work whose primary value was manual implementation. The hiring data supports "frontend is among the steepest declines in implementation-focused engineering roles." It does not yet support "the role disappears." Treating those as the same claim costs the argument its credibility.
The most expensive line on that bill needs a different set of numbers.
The Real Cost of AI-Generated Code: What the Data Shows
Three bodies of evidence from 2025–2026 point in the same direction, and their quality is high enough to take seriously.
Efficiency illusion. METR ran a randomized controlled trial in 2025 (Becker et al.): 16 experienced open-source developers, 246 tasks drawn from their own real repositories, half assisted by AI and half not. The AI-assisted arm was 19% slower on average. The subjective data is more interesting: before the trial they expected to be 24% faster, and after it they still believed they had been 20% faster.
That gap deserves attention. The developers were not lying. They genuinely experienced the fast part — generation — while the slow part — verification — got absorbed into the experience of making progress. When output speed rises and verification load rises with it, self-assessment systematically underweights the second term. For an industry that judges tooling largely by feel, that is an uncomfortable finding.
Trust structure and pain distribution. Beyond the 33% trust figure, two numbers from the same Stack Overflow survey map onto daily practice: 66% of respondents said their biggest pain point with AI is output that is "almost right, but not quite," and 45% said debugging AI-generated code takes longer than expected.
"Almost right" is a precise description. It means the artifact cleared the shallow acceptance bar — it compiles, it renders, the demo passes — while the errors sit in boundary conditions: races on out-of-order responses, requests without cancellation, derived state stored where it should not be, no fallback after a disconnect. Every problem Meridian's dashboard hit belongs to this class.
Security. Veracode's code security research (100 large models across a task set spanning 25 months) found that an average of roughly 45% of code-completion tasks introduced a security vulnerability, concentrated in shallow, high-frequency locations such as input validation and unsafe API calls. By late 2025 the rate for reasoning models had fallen to around 30%. The improvement is real. The remaining order of magnitude means security review is scheduled work rather than a bonus.
Read together, the cost did not disappear. It moved: from implementation to verification. Verification is harder to automate than implementation, because its input is "under what conditions does this fail" — knowledge that usually lives in incident records, profiler traces, and long-running memory curves rather than in requirement documents or training corpora.
One pattern is worth naming directly: models perform well at generating something new from scratch and less reliably at keeping something alive under constraints. The first is a generation task. The second is a constraint-satisfaction task, and the constraints are often implicit, temporal, and only visible while running. That is why "works in a demo, dies in production" recurs as a pattern rather than as an isolated accident.
Tasks, Headcount, and Accountability — and the Roles That Grew Anyway
Splitting work into product, design, frontend, and backend rested on a cost assumption: translating intent into implementation is expensive, expensive enough that specialization's efficiency gains outweighed the friction of cross-role communication.
Generative AI's core effect is pushing the cost of "natural-language intent → runnable artifact" toward zero. Once that premise changes, the payoff from specialization shrinks while communication cost becomes the dominant overhead — and roles start merging. Meridian's second half of the year was not an executive whim. It was the natural consequence of a changed cost structure.
Deloitte's 2026 Software Industry Outlook, citing Gartner, projects that by 2030, 80% of organizations will restructure large engineering teams into smaller, AI-augmented ones. Deloitte's own estimate puts software development lifecycle productivity gains in the 30–35% range, and it explicitly flags long-term skill erosion as a risk. On the impact to junior roles, Deloitte's wording is that the picture is "far from settled" — a phrasing that says a great deal on its own.
In the same period, the talent market produced a strong signal in the opposite direction.
Forward-deployed engineer (FDE) — a role Palantir scaled beginning around 2010 — became one of the fastest-growing technical job titles in 2025–2026. Indeed data, reported by Business Insider, shows postings rising from 643 in April 2025 to 5,330 in April 2026, roughly +729% year over year. Lightcast data, reported by Fortune and The New York Times, shows "forward deployed" role hiring up more than 1,000% year over year in January–August 2026 and more than 4,600% versus 2023, against roughly +13% for the broader tech hiring market; median advertised compensation exceeded $188,000, compared with about $145,000 for traditional software engineers.
Capital moved the same way. In May 2026 OpenAI launched a deployment company with an initial commitment above $4 billion and acquired the consultancy Tomoro, bringing in roughly 150 deployment engineers. Anthropic formed an enterprise AI services joint venture of roughly $1.5 billion with Blackstone, Goldman Sachs, and others. AWS announced a $1 billion commitment to build an FDE team. Salesforce publicly recruited over a thousand FDEs for its Agentforce line.
This deserves an even reading, because it contains real demand and visible froth at the same time.
The real part: an FDE's core job is connecting a model to a customer's existing systems, data, and workflows, and owning the delivered outcome. That sits exactly on the gap described in the previous section. Model capability has become a commodity; making it continuously usable under real constraints has not. Dice president Paul Farnsworth put it plainly to Fortune: enterprises increasingly have powerful models but struggle to turn them into tools people inside the company can actually use, and bridging models to proprietary data, existing systems, and specific workflows is often the hardest obstacle to clear.
The part to discount: the title is not new. Critics note it substantially renames solution architects, implementation consultants, and delivery engineers, and some in the industry joke that it is senior outsourcing with better branding. Compensation figures circulating online (some sources cite $400k–$700k total for senior roles) diverge sharply from what practitioners report; platform medians and outlier packages at frontier labs should not be conflated. The commercial model is also unsettled — per-project, per-consulting-day, subscription, and savings-share pricing all exist, and "what is redesigning a workflow worth" has no standard answer.
The defensible reading: the FDE surge indicates value migrating from producing code toward making code produce results under real constraints. That direction is credible. Promoting it as an already-formed high-paying career goes beyond what the current evidence supports.
Verification as a Thinking Skill in the Age of Generative AI
If the marginal cost of generation approaches zero, scarcity moves to its opposite: judging under what conditions an output will fail. That judgment cannot be delegated to the model, because a model's ability to recognize its own "almost right" is precisely its least reliable faculty. The 19% versus +20% discrepancy in the METR trial is the quantified form of that unreliability.
Three failure modes are worth examining, because each maps onto a different reader's daily reality.
Failing to verify production using demo criteria. The demo passes, the render is clean, the mock data looks good. Those criteria became extremely cheap in the AI era, which makes them extremely insufficient. What separates "runs" from "runs for a long time" is usually temporal: what does the memory curve look like after six continuous hours? When the feed drops, does the interface report honestly, or does it quietly hold the last frame? Under concurrency, does an out-of-order response overwrite correct state? Requirement documents typically contain none of this, because the author assumes the implementer will handle it as a matter of course — and that implementer is now a model that will not ask.
Mistaking fluency for correctness. Generation is fast, the interface appears immediately, and the operator gets a strong sense of progress. That sensation has no stable correlation with whether the output is correct, but attention gets captured by it anyway. The 45% who say debugging AI code takes longer than expected are largely living with that mismatch: time went into verification while the experience said it went into creation. Noticing the mismatch is the first step out of the efficiency illusion.
The structural failure: verification ability has to be built by hand, and the handwork is disappearing. Judgment does not grow from reading generated code. It grows from breaking a page yourself, catching a memory leak yourself, debugging at 2 a.m. a performance cliff that only appears at real data volume. When that practice gets taken over at scale, the practice ground empties. Anthropic's internal research observed reduced technical exchange between colleagues and some engineers worrying about erosion of deep skills; its engineering lead described team dynamics publicly as resembling toddler "parallel play" — everyone working alongside everyone, with little intersection. That is not an efficiency problem. It is a problem in the reproduction of talent, and it becomes a real problem earlier than "will this role disappear," because its consequences surface a decade out.
For people studying AI trends, the lesson is methodological. When predicting the order of automation, "verification cost + corpus availability + error cost + adoption friction" explains a great deal more than "how hard does the task look." Applying the first set of criteria to the 2023 consensus reveals that putting customer service first was the flaw in that forecast, not a surprise delivered by AI.
For engineers, and frontend engineers in particular, the shift is in how skills get priced. Implementation skill is losing market value. The ability to state in advance under what conditions a piece of code will fail is gaining it — spotting races, judging where rendering performance will break, reading a dependency's license and maintenance status, taking over when a generated approach goes wrong collectively. This class of skill has an unusual property: it does not depreciate as models improve. It appreciates as output volume grows.
For product managers, the shift is at the other end of the pipeline. Once intent-to-artifact is nearly free, the bottleneck returns to the intent. The more precise the description, the better the output; the vaguer it is, the result is three beautiful versions that none solve the problem. Writing a specification a machine can execute accurately, and defining what counts as acceptable, carries far more leverage than before — because a vague spec used to get caught by an engineer downstream, and that layer is no longer there.
Closing
What got commoditized is implementation. What did not is judgment. That sounds reassuring until you follow its corollary: judgment only grows from having actually done the work, and the opportunity to do the work is being crowded out by the very tooling that judgment is supposed to supervise.
Meridian's dashboard was ultimately fixed by an engineer two years into the job — not because that person used the tooling better, but because during those six months they had tuned rendering by hand, caught one memory leak, and been burned by a dropped connection. In 2023 those were byproducts of junior work. In 2026 they were a scarce asset.
Once an industry hands its cheapest work to machines, the question worth answering is not "what work is left for people." It is "how do people grow the capability to do the work that remains." There is no agreed answer yet, and it will likely shape the next decade more decisively than any single hiring dataset.
Read More of Intelligenr
-
How AI Is Used in Quantitative Trading (and Where It Breaks)
-
Does AI Make You Worse at Your Job? The Feedback Problem Nobody Measures
References
-
Stack Overflow, 2025 2025 Developer Survey https://survey.stackoverflow.co/2025/
-
Becker, Joel; Rush, Nate; Barnes, Elizabeth; Rein, David, 2025 Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity https://arxiv.org/abs/2507.09089
-
Veracode, 2025 GenAI Code Security Report https://www.veracode.com/blog/genai-code-security-report/
-
Deloitte, 2026 2026 Global Software Industry Outlook https://www.deloitte.com/us/en/insights/industry/technology/technology-media-telecom-outlooks/software-industry-outlook.html
Author Note: This analysis does not argue that AI will simply replace software engineers. It examines how the value of different engineering tasks changes when generation becomes cheaper and verification becomes more important. The question is not only which tasks AI can perform, but how people develop the judgment required to build, evaluate, and maintain complex systems in an AI-assisted world.