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.

Two and a half years back, people in India were not much interested in React as it was very new but now the interest in React.js is growing very rapidly. Also, interest in Bangalore is very high. Either someone already knew it, or is now trying to get into React.js. Now, most of the companies are shifting to Javascript. If you see, even a few years back, most of the work would be done on the backend and there would be some work on HTML, CSS etc. But now, most of the work is done on the client side. So, the need for a framework such as React has arisen recently. Earlier most of the work would be done on a Java server but now most of the work is done on the client side and for that, we need a perfect architecture to work with. Thereby, the popularity of React.

How important is it to have a knowledge of javascript before jumping into React?

It's very important to know javascript. React is just one part of web development because there could be several other aspects as well, javascript comes first and then React. I generally ask few basic questions about Javascript, like whether he is familiar with the newer versions like ES6, whether he can implement functional programming in Javascript, whether he knows inheritance, these are some of the questions which can be asked.

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.

The good part of React is, there are very few concepts to know. Once you know them, rest is just like writing Javascript. So, while interviewing, one should focus only on the understanding of these concepts.

How do you measure his knowledge of CSS, JS and ReactJS methods for providing performant user interface?

I will be asking few basic important questions. For example, in CSS I might ask him how to build a responsive website, test his knowledge on media queries, pre-processor etc. In Javascript, I would ask about closure, whether he can write functions, whether he has a knowledge of function hoisting etc.

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?

When I am interviewing for a 2 year person, I might ask some basic questions about Javascript or React.js and whether he understands the basic concepts and whether he would be able to write some code.

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.