React.js is one of the hottest topics right now in client-side application development. With features such as reusable components, clean abstraction, and awesome developer toolset, React has truly stolen the thunder from its predecessors.
So, once you have decided that you want to move your tech-stack to React now, the next job of hiring an awesome developer still remains. That's a crucial task right, as you want nothing less than a rock star. Don't worry, we have got it for you.
We interviewed Kiran Abburi, a freelance frontend developer who has tried his hands in different Frontend technologies since the last ten years. Kiran is also an organizer in the Bangalore React.js meetup group and one of our top React experts. In a candid conversation with AirCTO, he shares his list of valuable guidelines that one needs to follow while interviewing your next React Rockstar.
How did your journey in React start?
It started almost three years back, I was working with an Angular project and I saw a couple of videos about React on Youtube. I found it very interesting and I started trying it out and I sure liked it a lot. Compared to Angular.js, I found React.js much easier to work with and it also had a better architecture. So, I just started exploring and learning and at the same time created the React.js meetup group as well.
According to you, what is the reason behind such vast popularity of React?
The first reason would be that React.js is very architecturally strong and the second reason is React creates its own virtual DOM where your components actually live.
How do you identify if a developer will be a good fit for a React.js position? What skills do you give more importance to while hiring for the position?
React has very few concepts, but those concepts should be understood by the candidates pretty well for example, component, composition, state management etc, these concepts are very crucial. Once someone understands them completely they can apply them with ease.
How do you measure his knowledge of CSS, JS and ReactJS methods for providing performant user interface?
A sample question can be - Suppose you are building the price-listing page for an e-commerce company, and you have a set of data. So, how do you frame that data into components? Or, what are the components needed to build this particular page?
These kind of questions will help the interviewer understand, how well does he know about component and composition.
The second question could be, in an e-commerce platform, users would be adding different products to their cart. So, how do you manage the state of the different products that are added into the cart?
How important is coding test?
Coding test is very important because theoretical questions can be read and learned from any blog post or documentation and one might even manage to have some higher level ideas. The real challenge comes while writing the code because only when we start writing the code, we understand the real concept of any framework or any language and we know the real problem. If someone did have an experience of working on a real project with some company or even has done a personal project, it is always great.
What is the typical flow of interview that you follow and how does it vary according to the experience?
For a senior guy, I tend to ask more architectural questions. When someone is being recruited as an experienced person, he will be expected to make some architectural decisions. For example, how do you track performance? So, at 5 years level architectural questions are very important, but for a 2-year guy, someone would be there to make the decisions. So, I frame my questions accordingly.
What is the demand of React, with more .js frameworks coming in every day, what will be its scope in the future?
Sure, a lot of frameworks come in every day but one major advantage of React.js is that it is backed by Facebook.That means a lot. There are several frameworks which are used every day, but they can become obsolete and the project might die. But if some big company is backing that project, it will have a trust that the company will take the work forward. This is a big plus for React. Other big companies are also coming forward and supporting this framework. There are several other companies who are coming forward and enriching this eco-system.
React increases the performance of the client side apps greatly. The library is widely used and has an exciting community. Startups and other oprganizations are readily shifting to React and this calls for hiring great talent. We hope, this guide helps you in your next hiring endeavor.