Last updated: September 10, 2026
By Robert Ardell, Co-Founder and Strategic Advisor, KORE1
To hire a frontend developer in 2026, decide what the seat owns before you pick a framework, budget $95,000 to $170,000 in base salary for mid-level to senior talent, and screen with a pull request review instead of a portfolio. Portfolios and finished take-homes got cheap once AI coding tools got good. Judgment didn’t.
In March a product lead at an e-commerce company in Costa Mesa forwarded me a take-home submission with one line of commentary. “Best one we’ve ever gotten, and something about it bugs me.”
She had reason to. The component was clean, typed end to end, tested, with a skeleton loader and a label on every input. It came back fifty minutes into a two-hour assignment. On the walkthrough call she asked why he’d wrapped the filter update in useTransition, and he didn’t know what useTransition did. The tool had put it there. The tests passed. He left it in.
He wasn’t a fraud, exactly. He was a decent mid-level developer with a very good assistant, interviewing for a senior seat, and the assignment had no way to tell those two things apart.
That’s this year’s frontend hiring problem in one story. The artifacts hiring managers have always leaned on, a polished portfolio site, a tidy GitHub, a finished take-home, now cost a motivated candidate an afternoon. What still takes years is knowing which parts of the generated code are wrong.
I’m Robert Ardell. KORE1 was two years old when the iPhone shipped and eight when Facebook open-sourced React, and these days my piece of a frontend search is usually the post-mortem, the call that comes after a client has passed on five finalists and wants to know what’s wrong with the market. Usually nothing is. Something upstream of the interviews is.
The conflict, stated plainly. We run a frontend developer staffing desk inside our broader IT staffing practice, and our fee comes from you hiring someone we introduced. A couple of sections below will talk some of you out of calling anyone. Read them anyway.
Here’s the whole process before the detail.
- Decide what the hire owns. Browser code only, or the server-rendered layer too? And who answers for accessibility?
- Set the band for the level you need. A national average describes nobody.
- Source where the work shows, which is rarely a portfolio site.
- Screen with a pull request review, then a walkthrough of code the candidate wrote.
- Choose between direct hire, contract, and contract-to-hire based on one question: does the work end?
- Close inside a week of the final round, with the first thirty days already planned.

Decide What the Seat Owns Before You Pick a Framework
A frontend developer builds the part of a web application people see and touch, the layouts, components, forms, and interactions that run in the browser, usually in React, Angular, or Vue with TypeScript. In 2026 the job often reaches past the browser into server-rendered code, which is where most scoping mistakes start.
Most frontend reqs I read open with the framework. “Senior React Developer,” then a list of nineteen technologies. The framework is the least interesting decision on the page, and it’s the only one most postings bother to make.
That second sentence of the definition matters more than it looks. In a Next.js App Router codebase, server components, server actions, and route handlers all run on your infrastructure, not on the user’s laptop. A “frontend” developer on that stack may be writing the code that reads from your database, holds your API credentials, and decides what gets cached for every visitor. That’s backend-grade responsibility under a frontend title. Some teams want exactly that. Others want someone who stays in the browser and hands data questions to the API team. Both are legitimate. Posting one while meaning the other is how a search burns six weeks.
Accessibility is the second decision. For a lot of buyers it stopped being optional this year. The Department of Justice rule under Title II of the ADA requires state and local government web content and mobile apps to meet WCAG 2.1 Level AA, and an April 2026 interim final rule set the first compliance date at April 26, 2027, for jurisdictions of 50,000 people or more. Sell software to a city, a county, a transit authority, or a public university and that standard shows up in your procurement questionnaire whether your engineers have heard of it or not. The European Accessibility Act has applied to e-commerce and other consumer services sold into the EU since June 2025.
A regional credit union we worked with learned this the expensive way. Their loan application couldn’t be completed with a screen reader, a demand letter arrived, and the developer they’d hired the year before, whose resume said “WCAG compliant” right in the summary, had never actually turned on VoiceOver or NVDA. Nobody had asked him to. Decide who owns this before the posting goes up, and if it’s the new hire, put it in the req in plain words.
Four questions settle most of the scope. Answer them in writing, with the engineering lead and whoever owns design in the same room.
| Scoping Question | If Yes | If No |
|---|---|---|
| Will the hire write server components, server actions, or API routes? | Screen for data fetching, caching, and security judgment. Budget toward the senior band. | Screen for browser fundamentals and state management. The mid band is realistic. |
| Is there a product designer on the team? | Ask how they push back on a design that breaks at real widths or fails contrast. | You need design sense in the hire, or a separate UX designer. |
| Does the hire answer for WCAG 2.1 AA? | Ask for keyboard and screen reader testing experience by name. | Name who does, or the gap ships to production. |
| Does a design system already exist? | They’ll consume it. Ask how they’d extend it without forking it. | Someone builds one eventually. Decide whether it’s this person. |
Then, and only then, the framework. React still leads. It isn’t close. Stack Overflow’s 2025 Developer Survey had 44.7 percent of respondents working in React, with Angular at 18.2 percent and Vue at 17.6. You’ll feel that ratio in the inbox. Post an Angular req next to an equivalent React one and the Angular stack comes back thinner, and slower, because enterprise Angular shops usually want RxJS depth on top. If the posting already names React, our React developer staffing page covers that search specifically, and the Vue.js hiring guide walks through the Vue 2 to Vue 3 trap that catches most Vue searches.
Once those answers exist, the posting nearly writes itself. Our frontend developer job description template has the structure if you’d like a head start.
What the Seat Costs, and Why the Spelling Moves the Number
The public salary numbers disagree with each other, and the disagreement turns out to be useful once you know where it comes from.
The government figure sits lowest. O*NET, the Department of Labor’s occupational database, puts the 2025 median for web developers at $92,650. That category includes a lot of people building marketing sites and WordPress themes, not engineers working in a TypeScript monorepo, so treat it as the floor of the market rather than the price of your seat.
The commercial aggregators cluster higher. ZipRecruiter reports a $110,412 national average as of August 2026. Built In lands almost on top of it at $110,010 average base, or $121,493 in total compensation.
Glassdoor is the odd one out, and the reason is close to comic. Its “Front End Developer” page shows a $101,921 average across 9,229 reported salaries. Its “Frontend Developer” page, one word, shows $124,100 across 2,731. Same site. Roughly the same job. A $22,179 gap, and it comes down to how people typed their title. My read, and it’s only a read: teams running modern React and TypeScript stacks tend to write “frontend,” while agencies and small web shops tend to write “front end,” so the spelling is quietly sorting employers, and the employer is what sets the pay.
So don’t average them. Set the band from the level of work you wrote down in the scoping step. These are the ranges we see clearing offers on our desk, the same bands behind our frontend developer salary guide, paired with what each level should actually be buying.
| Level | Base Salary, 2026 | What That Money Should Buy | Screen That Fits |
|---|---|---|---|
| Junior, 0 to 2 years | $75,000 to $95,000 | Builds components from a finished design, with code review behind them | A paired session on a small real bug |
| Mid-level, 2 to 4 years | $95,000 to $130,000 | Owns a feature end to end, including loading, error, and empty states | Pull request review, then a walkthrough of their own code |
| Senior, 4 to 7 years | $130,000 to $170,000 | Owns a product area and sets its performance and accessibility bar | Pull request review plus one architecture conversation |
| Staff or lead, 7+ years | $160,000 to $200,000+ | Owns the design system, the build tooling, or a framework migration | Migration tradeoff discussion and deep reference checks |
Geography stretches all of it. A senior hire in the Bay Area or Seattle clears the top of that range without much negotiation, and the same resume in Phoenix or Tampa usually lands near the middle. If you’d like a local number before the req goes live, run the role through our salary benchmark assistant.
Portfolios Got Cheap. Read the Pull Requests Instead.
A portfolio site used to be a decent proxy for skill. Somebody had to design it, build it, make it responsive, and get it deployed, and the result told you something about taste and persistence at the same time.
Not anymore. Tools like v0, Bolt, and Lovable will produce a polished, animated, fully responsive portfolio from a paragraph of instructions, and Cursor or Claude Code will fill in whatever the generator missed. One of our recruiters built one on a lunch break last spring to prove the point to a client. Forty minutes, start to finish. It looked better than most of the portfolios in the stack she was screening that week.
What’s still expensive to fake is a long, unglamorous history of working in the same codebase as other people, so our recruiters read for that first.
- Review comments they left on someone else’s pull request. If a candidate has a public GitHub, the review history tells you more than the list of repositories ever will.
- A commit log that runs for months on one project, with the boring commits mixed in. “Fix focus order in checkout modal.” “Revert, broke Safari.” Those are the ones worth reading.
- Anything touching accessibility or performance that comes with a before-and-after number attached.
- Did they ever maintain something other people depended on? A component library, an internal design system, even a well-used Storybook? Maintainers learn things that builders don’t.
- Issue threads where they argued, politely, for a different approach and turned out to be right. Or wrong, and said so afterward.
The best frontend hire I watched us make last year had a portfolio site that hadn’t been touched since 2022. Genuinely ugly. What he did have was a few hundred review comments on a public design-system repository, patient and specific ones, the kind that explain why a prop name will confuse the next person instead of just flagging it. The hiring manager nearly passed on him because of the portfolio. She hired him after twenty minutes of reading those comments, and eighteen months later he’s the engineer the rest of the team sends their pull requests to first.
Where do people like that work? Not where you’d post. Mostly in places that don’t advertise frontend as a specialty. In-house e-commerce teams are one. A slow product page shows up in their revenue by Friday, so the engineers there think about Core Web Vitals without being asked. Digital agencies are another, full of people who’ve shipped thirty sites in three years and can read a Figma file faster than anyone, although it’s worth checking whether any of those sites were maintained past launch. Companies that froze hiring over the last two years have design-system teams full of people who are quietly bored. And a surprising number of good frontend engineers started on the backend, got tired of watching the interface get built badly, and moved over. Search for the work, not the title, or you’ll miss half of them.

A Screen Built for Code Nobody Typed by Hand
Your candidates are using AI tools. Nearly all of them. The Stack Overflow 2025 Developer Survey found 84 percent of developers using or planning to use AI tools in their work, and the single biggest frustration, cited by 66 percent, was “AI solutions that are almost right, but not quite.” More developers said they distrust the accuracy of those tools (46 percent) than trust it (33 percent).
Almost right, but not quite. Closing that gap has become a big share of frontend work. Somebody on your team has to be the person who catches the “not quite” before a customer does, so test for that directly.
Here’s the screen we’ve been steering clients toward. Build a pull request of roughly 250 lines that adds a filterable product list to a small Next.js app. Seed it with problems. Send it to the candidate with forty-five minutes on the clock and one instruction, which is to review it the way they’d review a teammate’s code. The six problems we usually plant:
- An API key stored in an environment variable prefixed
NEXT_PUBLIC_, which Next.js inlines into the JavaScript bundle that every visitor downloads. - Customer review text rendered through
dangerouslySetInnerHTML. A textbook cross-site scripting hole. - A search box with placeholder text and no label. Common, and easy to miss.
- A
useEffectthat depends on an object recreated on every render, so it fetches, sets state, re-renders, and fetches again, forever, until somebody notices the API bill. - All of lodash, imported to use one debounce function.
- What happens when the API returns a 500? Nothing. The spinner just keeps spinning.
A strong mid-level candidate finds four. A strong senior finds all six, ranks them by severity without being asked, and leaves at least one comment aimed at the next developer rather than the bug, something like “this works, but move the fetch into a server component and most of the client-side loading logic goes away.” Weak candidates fix formatting. You’ll know which kind you have within ten minutes of reading their comments.
Follow it with a thirty-minute walkthrough of something the candidate built, and let them use whatever tools they used to build it. Ask why for every choice that isn’t obvious. The Costa Mesa candidate would have sailed through the build and stalled on the first “why,” which is exactly the point of running both.
One more adjustment is worth making. React Compiler reached version 1.0 in October 2025 and now handles most memoization automatically at build time, so a screen built around when to reach for useMemo is increasingly testing a decision the build tool makes for any team that has adopted it. The render model still matters. The trivia matters less.
For the full loop, round by round and level by level, the frontend engineer interview guide I put together earlier this year goes deeper, and our frontend developer interview question bank covers React, TypeScript, CSS, and accessibility questions in detail.
Does the Work End? Then Maybe Don’t Hire Full-Time.
The engagement model question has a one-line answer most of the time. Does the work end?
A redesign ends. So does a migration from the Pages Router to the App Router, or moving a Create React App codebase onto Vite, or the Angular upgrade that’s been deferred through four major versions. For work shaped like that, a contract frontend developer who has done the same migration twice before will usually finish faster than a new employee learning your codebase from scratch, and then leave when it’s done, instead of drifting onto whatever work happens to be left once the launch ships.
A product area doesn’t end. The person who owns your checkout flow, your design system, or your accessibility posture for the next three years is a direct hire, and covering that seat with rotating contractors tends to produce a codebase with four different opinions about state management.
Contract-to-hire fits one situation especially well, which is when you honestly can’t tell whether the seat is mid-level or senior. Ninety days of real pull requests settles that better than a fifth interview round does. A B2B software client in Irvine brought in a contractor last year for a fourteen-week App Router migration, watched her mentor two juniors through it without being asked, and converted her at the senior band in week eleven. They’d posted the job as mid-level. She wasn’t.

From Final Round to Signed Offer
KORE1’s IT searches average 17 days to hire. Frontend searches land between roughly 14 and 22 days when the req is precise about scope and level, and stretch past a month when the posting is vague about both. Most of that difference isn’t sourcing. It’s decision speed.
Good frontend candidates are rarely in only one process. By the time your final round wraps, assume the person you liked has another offer pending, or a counteroffer being drafted by a manager who just realized what they’re about to lose.
None of the fixes are complicated. Hold the debrief the same day as the final round, with written scores submitted before anyone talks. Get the number approved before the final round happens rather than after it. Put the offer in writing within 48 hours. And ask the counteroffer question early, in the first screen, while it’s still hypothetical: “If your current company offered you more to stay, what would you do?” People answer that honestly in week one. By week four they’ve mostly stopped telling you.
Remote still works here. Frontend work happens in a browser, a terminal, and a design tool, and a remote req usually sees a stronger shortlist sooner simply because the pool is bigger. If the job is hybrid, say how many days in the posting, because “hybrid” on its own reads as “we haven’t decided,” and the best candidates skip it.
The First Thirty Days Tell You Whether You Hired Well
This part is simple, and almost nobody does it.
Get a small pull request merged in the first week. A real one. A bug fix or a copy change is plenty, as long as it goes through your actual review and deploy process, so the new hire learns the pipeline on something low-stakes. By week three, hand them the slowest page in the product or the worst-scoring screen in your accessibility audit and ask for a written plan, not a fix. How they scope that plan will tell you more about the hire than anything in the interview loop did. If at day thirty you can’t point to shipped code and one clear opinion they’ve formed about your codebase, have the conversation then. Not at day ninety.
Questions That Come Up on Almost Every Frontend Search
Can our full-stack engineer just cover the frontend for now?
Sometimes, and for longer than frontend specialists like to admit, as long as the product is mostly forms and tables and nobody is measuring page speed or accessibility yet.
The line gets crossed when the interface becomes the product. A customer-facing app with real traffic, a design system, or a public-sector buyer asking about WCAG will outgrow a generalist who treats the UI as the last ten percent of every ticket. Our full-stack developer staffing team sees plenty of companies that should keep the generalist and add a specialist, rather than swap one for the other.
Should candidates be allowed to use AI tools during the technical screen?
Let them, since they’ll use those tools on the job anyway, and design the screen so it measures whether they can judge generated code rather than whether they can produce it.
That’s the whole case for the review exercise above.
Eight weeks in and still no finalist. What’s usually broken?
Usually the band, sometimes the interview loop, and almost never the market itself.
Start with the dropouts. Pull the last ten candidates who withdrew or were rejected and write one line on each explaining why. If most of them dropped after hearing the number, the band is wrong. If most failed the same round, that round is testing for a different job than the one you’re paying for. If you can’t come up with ten names at all, the posting isn’t reaching anyone, and that’s a sourcing problem worth handing to someone who does this full time.
Is a bootcamp graduate a realistic option for a junior seat?
It can be, if a senior engineer on your team has real time to review their code, and it rarely works when the junior would be your only frontend person.
The bootcamp itself matters less than what they did afterward. A graduate who spent the following year fixing bugs in an open-source project, or building something real for a local nonprofit, has already learned the part bootcamps skip, which is working in code somebody else wrote. One with six tutorial clones and nothing since hasn’t. Pay at the bottom of the junior band, pair them from day one, and you’ll often have a solid mid-level engineer within two years.
Nobody on our team knows WCAG. How do we test for accessibility?
You don’t need an expert on staff, because a keyboard, a screen reader, and twenty minutes of watching the candidate use your own product will expose most of what matters.
Hand the candidate a flow on your own site, a signup or a checkout, and ask them to complete it with the Tab key only, then again with VoiceOver on a Mac or NVDA on Windows, narrating as they go. Someone who has done real accessibility work will find the unlabeled button or the modal that swallows focus within a couple of minutes and tell you which WCAG success criterion it breaks. Someone who has only read about accessibility will be slower, and vaguer about the fix.
What does a senior frontend contractor cost by the hour?
$85 to $130 an hour, W2, when the contractor is billed through a staffing firm in 2026, with metro, stack, and any accessibility or performance specialty deciding where a given person lands.
Short engagements price higher than long ones. A six-week accessibility remediation with a hard deadline costs more per hour than a nine-month build, because the contractor is pricing in the gap that follows.
If I Were Filling This Seat Myself
Honestly, I’d spend the first week not recruiting at all. I’d get the engineering lead and whoever owns design into a room and settle the scope, the server-layer question and the accessibility question especially, because every week of sourcing done before those are answered gets thrown away. Then I’d build the review exercise out of our own history: take the last three bugs that reached customers, rebuild them into one tidy-looking pull request, and give it to every finalist before anyone opened a portfolio.
It feels slow. It isn’t. Searches run that way tend to close in about three weeks, and the ones that skip it are often still open when the redesign was supposed to ship.
If you’d rather not build the exercise yourself, or the seat has already been open longer than you’d like, talk to a frontend recruiter on our team. KORE1 has placed technology talent in more than thirty U.S. metro areas since 2005. Our twelve-month retention rate is 92 percent. Our frontend staffing specialists will tell you on the first call if what you actually need is a better posting rather than a recruiter.

