Hiring a React Native Developer: What Should You Look For?

BY JESS MARRANCO

/ 04/06/2020

If you're looking to hire a React Native developer, here are both the hard and soft skills you should be looking for.

As of 2019, there were more than 204 billion mobile app downloads worldwide. Moreover, consumers spent over 23.4 billion U.S. dollars on mobile apps across all platforms - and that’s in Q1 of 2020 alone.
With those staggering numbers in mind, it might not be such a bad idea to tap into the power of mobile applications for your business (if you haven’t already). And if you think your business could benefit from the development of a custom mobile app, then chances are you’re in need of acquiring a top-notch React Native developer to help bring that idea to fruition.
Overview
1.
What is React Native?
2.
Soft Skills to Look for in a React Native Developer
3.
Hard / Technical Skills to Look for in a React Native Developer
4.
Vetting Traps to Avoid
5.
Conclusion: Over to You
What is React Native?
Created by Facebook, React Native is an open-source JavaScript framework used to create mobile applications. Based on Facebook’s React framework, which is used for building web-based user interfaces, React Native enables mobile apps created with it to render natively on both iOS and Android, which has been proven to save a whole lot of time, money, and resources.
Created by Facebook, React Native is an open-source JavaScript framework used to create mobile applications. Based on Facebook’s React framework, which is used for building web-based user interfaces, React Native enables mobile apps created with it to render natively on both iOS and Android, which has been proven to save a whole lot of time, money, and resources.
It’s a fair bet to say that mobile app development isn’t going anywhere any time soon, and having access to a quality React Native developer can take your organization to the next level, earning you more business, increasing customer loyalty and engagement, and, ultimately, helping you stay both relevant in a fast-paced world and top-of-mind for your customers.
But when looking for a React Native developer, what kind of skills and attributes are most important to look for?
Soft Skills to Look for in a React Native Developer
Technical skills are crucial, sure, but let us not forget the ever-important soft skills it takes to make a software developer exceptional.
Communication Skills
It sounds obvious, but in an increasingly remote world, being able to communicate well and in a timely manner is absolutely imperative. When looking for developers, discuss their means of communication and their hours of work. It’s likely that they may live in a different timezone than you, so being able to set aside time to connect is a must.
It’s also important to set up expectations when it comes to the communication channels that will be used. What tools are being used internally at your organization?
Lastly, any effective team player is willing to ask for help when it’s needed. Too often we see precious time wasted by someone who was unwilling to ask someone else for help. Ensure that there are open lines of communication between your developer and the rest of your team and that they understand the appropriate parties for any problem they might have. Encourage working together to uncover solutions.
Good Time Management
A skill that’s top priority for most organizations, time management becomes increasingly important when we’re talking about projects with a strict deadline. That often comes into play for developers being hired for a very specific project where time is of the essence. With many software developers having an entrepreneurial spirit, it’s important to know that your project is a top priority.Especially with many organizations moving into remote work for the first time, it’s natural to be weary about how time (and money) is being spent. For this reason, ensuring you’re working with a developer that knows how to manage his or her time wisely enables you both to set up feasible expectations up front while giving you the comfort of knowing they’ll follow through (pending any unexpected issues).
Problem-solving Skills
Problems will inevitably arise in any development project. It’s a creative and analytical developer that can seamlessly find the solutions and keep the project going. Your developer must be able to do their own research and have the ability to bring solutions to the table.
While it’s not a requirement, it’s also helpful to have a developer with different industry experience. They’ll be able to take that widespread experience and apply it to relevant situations encountered within your organization’s project.
Humility
When you’re hiring someone new to the team, it’s always going to be important for them to be a good culture fit and an overall team player. Regardless of the time being spent on a specific project with your organization, the developer you’re bringing on should be willing to understand your business as a whole and its specific need, and must also be willing to work with the appropriate people on the team to ensure your vision is being brought to light.
Client Feedback
It’s always an excellent addition to have client feedback. It’s not every day that someone is going to boast negative reviews, but positive feedback can give you a great look at what you might be able to expect from a developer from people who were once in your shoes.
Adaptability
Being adaptable may be one of the most important skills a developer can bring to the table. The industry is constantly in flux; it’s important to be able and willing to learn new skills and programming languages when they do present themselves as a necessity for current and future projects. Staying on top of the latest news and trends will keep a developer relevant and in demand.
Effort Estimation
Software is expensive. Therefore, having an engineer that can accurately scope out a project and its moving parts (e.g., how long it will take for them to add a feature) is vital to keep the product moving forward and set for on-time delivery, as well as ensuring that money’s not being wasted.
One can argue that accurate effort estimation could certainly fall under "hard skills" as there's far more that goes into it than what meets the eye. Although, it's worth mentioning that a good developer will have some experience with effort estimations, and should be able to give you a pretty good idea of what your project looks like in terms of dollar amount and man-hours/resources required to make it happen.
Hard / Technical Skills to look for in a React Native Developer
Naturally, any React Native developer you’ll be bringing on to your team should have specific hard technical skills in order to complete your project. At G2i we vet for engineers who have a deep understanding of React Native. To help you out, we asked our own engineers what those hard skills might look like. Here’s what they had to say. Feel free to use this info when you’re conducting your own developer vetting:
Adrian Carolli, Core Team Engineer
We spoke with one of our senior developers Adrian Carolli, a developer with eight years of professional experience. He started on the web with the LAMP stack and moved into the modern JavaScript ecosystem with React and React Native three years ago. He is a contributor to the React codebase, and is very involved in the larger React ecosystem. He loves startups and is plugged into the startup scene in Waterloo as well as YCombinator. His experience as a freelancer makes him great with communication in teams and with clients.
Here is what he believes you should look for in a React Native developer:
Required:
Strong knowledge of React fundamentals such as the virtual DOM, component lifecycle, component state, etc.
Strong knowledge of JavaScript and functional programming paradigms. For example, writing functional code opposed to imperative code.
Experience with a state management library like Redux, MobX or others
A deep understanding of the full mobile app development lifecycle such as releasing to the app stores and continuous integration
Writing clean, reliable and maintainable code
Knowledge of type checking and unit testing like jest, typescript, prop types, flow, etc.
Experience with debugging mobile applications
Worked with large applications and can quickly understand a large codebase
Bonuses
In some projects, knowledge of mobile programming languages like Swift, Java, and Objective-C are required
Strong knowledge of type checking and unit testing
Strong knowledge of mobile programming languages
Knowledge of monitoring tools like crash reporting and analytics
Experience writing npm packages and native modules
Experience using a React Native UI kit
Andrei Calazans, Core Team Engineer
After speaking with Adrian, we spoke with another one of our senior developers, Andrei Calazans. He is a Software Developer with an emphasis on the JavaScript stack (React, React Native, GraphQL, Relay, Apollo, Redux, Redux-Saga, and others). Over the past few years, he has mostly worked with front-end applications, but has also done back-end with GraphQL. Despite starting his career on the Web, he migrated and has been working with mobile applications for quite some time. Due to working on cross-platform solutions like React Native, he has experience writing Swift, Java, and C++.
He believes that despite knowing Software Development, to be successful we have to be good humans too. He cherishes good communication and respect. He also has some of the soft skills we mentioned earlier. He is a fast learner and has great communication skills.
Here is what he believes you should look for in a React Native developer:
Required:
Strong knowledge of JavaScript, and also programming language fundamentals since as a React Native developer reading code in Swift, Java, Objective-C is required.
Understanding of how React Native works architecturally in order to understand where a bug could be.
Basic experience with Mobile UI.
React Fundamentals.
Bonuses:
Understanding of State Managers and how they solve problems.
Experience with Stack and Tab Navigator pattern (Most commonly used navigation architecture for mobile)
Experience with Animations using the Animated API and Reanimated.
DevOps for mobile development, this includes beta distribution, releasing pipelines, build tools like Fastlane, CI/CD, and etc.
Some experience with analytics and crash logging.
Understanding of how Android (gradlew) and iOS (Cocoapods) dependency managers work.
How to write Native Modules.
How to link third party Native Modules.
Guillermo Velasquez, Core Team Engineer
Lastly, we spoke to Guillermo Velasquez, yet another senior developer at G2i. First thing you might notice on his resume, he has 10 years of experience. Long story short, he has always been very much interested in software development. He has an interest in building products in a semi-entrepreneurial kind of way. He can wear multiple hats as a React Native developer, product manager and SCRUM master.
Here is what he believes you should look for in a React Native developer:
Required:
Javascript

Content Management with Gatsby, Contentful & Netlify

Babs Craig /

02/18/2019

Gatsby, Contentful, Netlify — The Triple Threat For Content Management Success

Focus Management with React Native on TV Plaforms

Guillermo Velásquez /

03/06/2019

Helping frontend / React engineers prepare for interviews with mock interviews

How to set up a Monorepo with React Native You.I and Yarn Workspaces

Andrei Calazans /

02/06/2020

In order to simplify dependency management, code reuse, and collaboration across teams, many projects have sought out to use the Monorepo structure.