FuturByte

Hire React Native developers

React Native builds genuinely native iOS and Android applications from one React codebase, and hiring for it means finding someone who can drop into the native layer when the abstraction runs out.

What React Native actually is

React Native lets you write mobile applications in React that render actual native interface components rather than a web view. It originated at Meta and is now developed with a substantial community around it, including Expo, which has become the default way most teams start a project. The promise is one team and one codebase producing applications for both platforms.

That promise is real and it is not total. A large share of any application, typically the screens, navigation, state and business logic, is genuinely shared. The remainder is not: platform-specific behaviour, native module integration, permissions, background work, push notifications and the release process all differ, and those are exactly the parts that consume time near a launch. Teams that budget for one codebase and discover two release processes are the ones that end up unhappy.

The decisive hiring question is what happens when the abstraction is insufficient. Every non-trivial React Native project eventually needs something the JavaScript layer does not expose, or has to debug a crash that only appears on one platform. A developer who can open the native project, read the stack trace and either fix it or integrate a native module is a substantially different hire from one who can only work above that line.

The part that separates seniors from mid-levels

The architecture matters more than it used to. React Native historically ran JavaScript on a separate thread communicating with the native side through an asynchronous bridge, which was a real performance ceiling for anything involving continuous interaction such as gestures or animation. The newer architecture replaces that with a synchronous interface layer and a rewritten rendering system. Developers who have migrated an application across this boundary have dealt with a genuine change rather than a version bump, and it is worth asking about.

Performance work in React Native is mostly about keeping work off the JavaScript thread. Lists are the classic case: a long scrolling list that recreates components on every frame will drop frames in a way users notice immediately. Animations driven from JavaScript rather than run natively will stutter under load. Candidates who have shipped a polished application can name the list component they use, explain why animations should run on the native driver, and describe profiling on a real low-end device rather than a simulator.

The third area is the release process, which surprises teams coming from the web. There are two app stores with two review processes, two signing arrangements and two sets of platform requirements that change on the platforms' schedules rather than yours. Over-the-air updates can ship JavaScript changes without a review, within limits that are worth understanding precisely. A developer who has actually shipped and maintained an application in both stores brings knowledge that is tedious to acquire and expensive to lack.

Where React Native is used

The label “React Native developer” covers several jobs that share a technology and little else. These are the settings the work usually turns up in, and the one you are hiring into should shape the whole process, because the judgement each demands is different.

Consumer applications

Products where a single team must serve both platforms and the interface is mostly standard components.

Internal and field applications

Workforce tools where development speed matters more than platform-specific polish.

Commerce and booking applications

Catalogue, checkout and account flows, often sharing logic with an existing React web front end.

Content and media applications

Feed-driven products where list performance is the main technical challenge.

Companion applications

Mobile front ends for an existing web product, where reusing React knowledge is the main argument.

Startup first products

Where reaching both platforms quickly with a small team outweighs the cost of the abstraction.

If a candidate's experience sits in a different row of that list from the work you have, that is not a reason to reject them, but it is the thing to probe. Ask what would be different about their approach in your setting. Someone who can answer that has transferable judgement. Someone who says it would be much the same has probably not thought about it.

Which React Native versions are still supported

React Native releases frequently and support for older versions is short, so how current an application is directly determines which libraries and build tools remain available to it.

The table is generated from public release data rather than written by hand, so it states what is supported today rather than what was true when any given article was published. Of the 8 most recent release lines, 3 are still maintained and 5 have passed their published end-of-life date. That distinction is the practical one when you read a job specification: a requirement written against a line that is now out of support tells you the specification is older than the codebase it describes, and it is worth asking which of the two the new developer will actually work in.

React Native release lines
ReleaseReleasedEnd of lifeStatusLatest patch
0.872026-08-11none publishedNo published end-of-life date0.87.1 (2026-08-26)
0.862026-06-09none publishedNo published end-of-life date0.86.3 (2026-08-24)
0.852026-04-07none publishedNo published end-of-life date0.85.3 (2026-05-05)
0.842026-02-112026-08-11End of life0.84.1 (2026-02-27)
0.832025-12-102026-06-09End of life0.83.10 (2026-06-25)
0.822025-10-082026-04-07End of life0.82.1 (2025-10-20)
0.812025-08-122026-02-11End of life0.81.6 (2026-02-05)
0.802025-06-122025-12-10End of life0.80.3 (2026-01-26)

Source: endoflife.date public release data, read 2026-09-25.

Two questions follow from this table in an interview. The first is which line the candidate has most recently shipped against, because someone whose last production work was on an unsupported line has not had to deal with the changes since. The second is how they have handled an upgrade. Version migrations are where you see whether a developer reads release notes, writes characterisation tests before changing anything, and knows how to stage a rollout, or whether they upgrade in place on a Friday and hope.

The toolchain around it

Nobody hires for React Native alone. The surrounding tools are where most of the day-to-day work happens, and a gap in any of them costs more time than a gap in the core library. This is the set that turns up most often on real job specifications alongside it.

Expo
The default toolchain, covering build, updates and a large set of native capabilities without touching native projects.
TypeScript
Standard in commercial React Native work, particularly across navigation parameters.
React Navigation
Routing and navigation, with platform-appropriate transitions.
Reanimated and Gesture Handler
Animation and gestures that run natively rather than on the JavaScript thread.
FlashList or FlatList
Virtualised lists, which is where mobile performance is won or lost.
TanStack Query
Server state, caching and offline behaviour, which matters more on mobile than on the web.
Sentry or similar
Crash reporting with source maps, since you cannot reproduce every device.
Fastlane or EAS
Build and release automation across two stores.

Related skills that frequently appear on the same specification: Node.js, React, TypeScript, iOS and Swift, Android and Kotlin.

What to test in an interview

These are the topics that separate candidates in practice. Each one is given with why it discriminates, what a strong answer sounds like, and the response that should make you slow down. None of them requires a whiteboard.

What they do when the abstraction runs out

The single most important question, because every real project reaches this point.

List and render performance

The most visible quality difference between a good and a poor React Native application.

Animation and the native driver

Determines whether the application feels native or approximately native.

Release and store experience

Tedious, unavoidable, and expensive to learn during a launch.

Platform differences they have hit

Reveals depth of real shipping experience.

Offline and unreliable networks

Mobile applications face conditions web applications rarely do.

The new architecture

A genuine change in how the framework works, and a good currency test.

Warning signs in a React Native codebase

The fastest way to read a candidate is to ask what they have found wrong in code they inherited. These are the patterns that come up most often, what they cost, and what fixing them looks like. A developer who recognises three or four of these from their own experience is worth more than one who can recite the documentation.

Unvirtualised long lists

Animations on the JavaScript thread

Testing only on iOS

Ejecting from managed tooling without cause

Treating the network as reliable

Ignoring the upgrade cadence

What each level can own

Job titles are not comparable between companies, so it is more useful to describe levels by what a person can be left to own without supervision. These are the boundaries we use when we assess a React Native developer.

Junior
Builds screens and navigation in an existing application. Needs review on list performance and platform differences.
Mid-level
Owns a feature across both platforms including offline behaviour and tests. Can profile and fix a dropped-frame problem.
Senior
Owns application architecture, the native module strategy, the release pipeline, and can diagnose a crash that only occurs on one platform.
Staff
Owns the upgrade path, the decision about managed versus bare tooling, the relationship with store requirements, and whether the product should be cross-platform at all.

How the work is usually scoped

Team shape follows the kind of work, not the headcount you happen to have budget for. These are the shapes that come up most often and the constraint that actually governs each one.

New cross-platform application

Companion application to a web product

New architecture migration

Performance remediation

Native module integration

Migration work you may actually be hiring for

A large share of React Native work is not new development. It is moving an existing system from one state to another while it stays in service. These are the migrations that come up most often, and each one asks for a different kind of experience from the person you hire.

The old architecture to the new architecture

Bare native projects to Expo's managed workflow

Separate iOS and Android codebases to React Native

JavaScript-driven animation to Reanimated

Migration work rewards a different temperament from greenfield work. The useful question in an interview is not whether someone has done the specific migration you face, but whether they have ever run one incrementally: behind a flag, with both paths live, and with a way back. Developers who have only done big-bang cutovers tend to propose them again.

What a good brief for this role contains

Most of the time lost in hiring a React Native developer is lost before anyone is interviewed, in the gap between what the brief says and what the team actually needs. These are the points that, for this technology specifically, change who the right candidate is. A brief that answers them can be matched in days. One that does not produces a shortlist that looks reasonable and converts badly.

If you cannot answer some of these yet, that is normal and it is still worth writing down which ones are open. An unknown that is named can be worked around. An unknown that is papered over in a job specification turns into a rejected shortlist and a restart four weeks later.

What the US market pays for this work

React Native work is counted by the US Bureau of Labor Statistics under Software Developers. That classification is broader than the technology itself, so treat the figures as the shape of the market a React Native developer is hired into rather than as a rate card for the skill. Across the United States the Bureau counts 1,687,890 people in this occupation, with a median annual wage of $135,980.

US annual wages, Software Developers, May 2025
US annual wages, Software Developers, May 2025$135,980Median$82,460$214,67010th pct90th pctMiddle half $105K to $172K

The spread matters more than the midpoint. The 90th percentile is about 2.6 times the 10th, which is a wide band for a single occupation and tells you that the title on its own carries very little pricing information. Two people described as a React Native developer can sit at $82,460 and $214,670 in the same national dataset. When a budget is set from a median without asking which end of that range the work actually needs, the hire that follows is usually the wrong one in one direction or the other.

These are employer-side wage figures for people on a US payroll. They exclude employer taxes, benefits, recruitment cost and the months a seat sits empty, all of which are real and none of which appear in a salary line. The useful way to read the table is as the cost of the alternative you are comparing against, not as a number to match.

How US metro markets compare for this role

The same job is priced very differently across the country. Ranked by median annual wage for Software Developers, the gap between the highest and lowest of the 28 metro areas covered here is a factor of about 1.7. San Jose sits at the top with a median of $213,110; Pittsburgh sits at the bottom with $124,500. A budget built from a national median will be wrong in both of those markets, in opposite directions.

Median wage for software developers, by US metro area
Median wage for software developers, by US metro areaSan Jose, CA: $213,110San Jose, CASan Jose, CA$213,110San Francisco, CA: $186,640San Francisco, CASan Francisco, CA$186,640Seattle, WA: $167,280Seattle, WASeattle, WA$167,280New York, NY: $166,830New York, NYNew York, NY$166,830Boston, MA: $166,090Boston, MABoston, MA$166,090San Diego, CA: $163,270San Diego, CASan Diego, CA$163,270Los Angeles, CA: $160,920Los Angeles, CALos Angeles, CA$160,920Portland, OR: $156,000Portland, ORPortland, OR$156,000Washington, D.C.: $154,930Washington, D.C.Washington, D.C.$154,930Baltimore, MD: $138,900Baltimore, MDBaltimore, MD$138,900Denver, CO: $137,610Denver, CODenver, CO$137,610Charlotte, NC: $135,920Charlotte, NCCharlotte, NC$135,920Chicago, IL: $134,380Chicago, ILChicago, IL$134,380Austin, TX: $134,120Austin, TXAustin, TX$134,120Dallas-Fort Worth, TX: $133,290Dallas-Fort Worth, TXDallas-Fort Worth, TX$133,290Philadelphia, PA: $133,040Philadelphia, PAPhiladelphia, PA$133,040Atlanta, GA: $132,960Atlanta, GAAtlanta, GA$132,960Raleigh, NC: $132,770Raleigh, NCRaleigh, NC$132,770Miami, FL: $132,650Miami, FLMiami, FL$132,650Phoenix, AZ: $131,750Phoenix, AZPhoenix, AZ$131,750Minneapolis-St. Paul, MN: $130,920Minneapolis-St. Paul, MNMinneapolis-St. Paul, MN$130,920Detroit, MI: $130,760Detroit, MIDetroit, MI$130,760Tampa, FL: $130,450Tampa, FLTampa, FL$130,450Orlando, FL: $129,620Orlando, FLOrlando, FL$129,620Salt Lake City, UT: $129,600Salt Lake City, UTSalt Lake City, UT$129,600Houston, TX: $129,440Houston, TXHouston, TX$129,440Kansas City, MO: $124,990Kansas City, MOKansas City, MO$124,990Pittsburgh, PA: $124,500Pittsburgh, PAPittsburgh, PA$124,500
Software Developers by metro area, May 2025, ranked by median wage
Metro areaEmployedMedian wagevs US medianLocation quotient
San Jose, CA87,350$213,110+57%7.09
San Francisco, CA69,030$186,640+37%2.68
Seattle, WA92,770$167,280+23%4.10
New York, NY121,000$166,830+23%1.17
Boston, MA42,310$166,090+22%1.44
San Diego, CA20,610$163,270+20%1.23
Los Angeles, CA55,540$160,920+18%0.82
Portland, OR18,260$156,000+15%1.39
Washington, D.C.69,060$154,930+14%2.03
Baltimore, MD16,850$138,900+2%1.14
Denver, CO27,010$137,610+1%1.55
Charlotte, NC20,820$135,9200%1.41
Chicago, IL40,370$134,380-1%0.82
Austin, TX31,960$134,120-1%2.28
Dallas-Fort Worth, TX67,030$133,290-2%1.52
Philadelphia, PA28,480$133,040-2%0.91
Atlanta, GA36,300$132,960-2%1.16
Raleigh, NC12,580$132,770-2%1.56
Miami, FL18,900$132,650-2%0.62
Phoenix, AZ29,380$131,750-3%1.14
Minneapolis-St. Paul, MN27,410$130,920-4%1.29
Detroit, MI24,870$130,760-4%1.20
Tampa, FL14,230$130,450-4%0.91
Orlando, FL13,440$129,620-5%0.88
Salt Lake City, UT19,040$129,600-5%2.12
Houston, TX22,940$129,440-5%0.64
Kansas City, MO12,160$124,990-8%1.02
Pittsburgh, PA10,320$124,500-8%0.85

Location quotient compares how concentrated this occupation is in the metro against the national average. A value above 1 means the metro has more of this work than its size would predict.

The location quotient column is the more useful one for hiring. A high median tells you what a role costs; a high quotient tells you whether the people exist. San Jose, San Francisco, Seattle, Washington, D.C., Denver, Austin each have a quotient of 1.5 or above, meaning the work is concentrated there well beyond what the size of the local economy would predict. Those are the markets where a search is likely to be quick and competitive at the same time, and where a counter-offer is most likely to take a candidate off the table late in the process.

The opposite case is worth planning for too. In a metro with a low quotient, the total pool is small even when wages look reasonable, so the realistic options are to widen the search radius, accept a longer time to hire, or bring the capability in from outside the local market entirely. That last option is what most teams are weighing when they come to us.

Hiring risks worth naming

Every one of these has produced a bad hire somewhere. They are written down so that the process tests for them deliberately rather than discovering them in month three.

React experience presented as React Native. The component model transfers; navigation, platform APIs, performance and release do not. Test those specifically.

No native layer capability. Ask what they did the last time something required a native change. This is the most consequential gap.

No store release experience. Ask about a rejection they handled. Learning this during a launch window is expensive.

iOS-only testing habits. Ask what Android device they test on. Much of the real user base is on hardware considerably slower than a developer's phone.

Hiring React Native developers by metro area

Wages for this occupation vary more between US metro areas than most budget models assume. Each page below sets out the published employment and wage figures for that market, how it compares with the national picture, and what the local industry mix means for the kind of React Native developer who will be available.

Frequently asked questions

Will React Native really let us ship both platforms with one team?

Largely, and not entirely. Screens, navigation, state and business logic are genuinely shared, which is most of the code. Permissions, notifications, background behaviour, store submission and platform-specific bugs are not, and they concentrate near release. Plan for one codebase and two release processes and the approach works well.

React Native or fully native?

React Native when the interface is largely standard components, you need both platforms, and team size is the constraint. Fully native when the application depends heavily on platform capabilities, needs the highest possible performance, or when the product is one platform only. Applications that are mostly lists, forms and content do well cross-platform; applications built around camera, sensors or heavy graphics usually do not.

Should we use Expo?

For most projects, yes, and it is now the default recommendation. It covers a large set of native capabilities, handles builds and updates, and removes the need to maintain two native projects. The case for going without it is a specific native requirement it does not support, and that case is narrower than it used to be.

Can our React web developers build the mobile application?

They will be productive faster than someone starting from nothing, because the component model and hooks transfer directly. What does not transfer is navigation, platform APIs, offline behaviour, performance on constrained devices and the release process. Expect a meaningful ramp and pair them with someone who has shipped to the stores.

Why does our React Native application feel slower than a native one?

Usually lists that are not properly virtualised, or animations running on the JavaScript thread rather than natively. Both are fixable and both are very visible to users. The other common cause is that testing happened on high-end devices, so the problem was never seen by the people building it.

What is the new architecture and does it matter to us?

It replaces the asynchronous bridge between JavaScript and native code with a faster, more direct mechanism and a rewritten renderer. It matters most for applications with heavy interaction. For a typical forms-and-lists application the difference is modest, but the ecosystem is moving there, so staying on the old architecture will eventually limit which libraries you can use.

How do over-the-air updates work?

You can ship JavaScript changes directly to installed applications without a store review, which is genuinely useful for fixes. There are limits: anything touching native code still requires a store release, and the platforms have rules about what may be changed this way. It is a real advantage and not a way to avoid the store process.

How much does maintaining a React Native application cost?

More than teams expect, because the framework, the toolchain and both platforms all move. Platform requirements change on their own schedule and can force work you did not plan. Budget continuous maintenance rather than treating the application as finished at launch, because falling behind is significantly harder to recover from here than on the web.