Students learning React often ask the question, "Am I ready for a React developer job?" To answer the question, you must reflect on your React skill level, your React knowledge, and your React experience. The truth is that getting a job as a React developer does not require as much knowledge and experience as you might think.
Let's go over a list of things that you need to know to get hired as a React developer. Then, we'll go over a list of things that you aren't expected to know as a junior or intermediate React developer. You'll be relieved to find out that you are not expected to know it all!
All the essential topics that you need know below are covered in my React books:
- React Ready: Learn modern React with TypeScript.
- React Router Ready: Learn React Router with React and TypeScript
- Template literals.
- Ternary operator.
- Optional chaining.
- Nullish coalescing operator.
- Arrow functions.
- Classes and inheritance.
- Destructuring, rest, and spread operators.
- Asynchronous programming (Callbacks, promises, async/await).
- Error handling (try/catch/finally).
- ES modules.
- Web Storage (localStorage, sessionStorage).
- Pure functions and immutability.
It's important to know the React fundamentals well enough to build a basic web app with React. Here's a list of React essentials that you should be familiar with:
- Re-using components.
- Component composition.
- The special
- Uncontrolled and controlled forms.
- Hooks (
- Custom Hooks.
- Performance Hooks (
- React Context.
You should know how to use local component state via React's
useReducer Hooks. You should also know how to use React Context to manage things like the user's login state, their preferred theme, their preferred language, and so forth.
Knowing how to use Redux is a plus, but it is not required.
You should know how to create a React app with client-side routing using the popular React Router library.
You should know how to use the Fetch API to make asynchronous requests to an API. These requests should be used to retrieve resources (
GET), create new resources (
POST), update existing resources (
PUT), and delete resources (
You should know how to style React components using different approaches:
- Inline styling.
- Using CSS files.
- Using CSS modules.
- Using Sass and SCSS.
You don't need to know about all the inner workings of React. If you know what the advantages of using React are, and you know what React uses the Virtual DOM for, that's a good start.
Even if you never wrote unit tests or integration tests for your React components using Jest or React Testing Library, don't let that stop you from applying for junior or intermediate React positions. Testing can be learnt on the job in less time than you might think!
If you know how to use Vite and npm/yarn to create simple React projects, that's a great start.
You don't need extensive knowledge on how to deploy React apps. Every company has its own deployment tools and strategies, so it's impossible to be fully prepared.
If you know how to configure a GitHub repository for your React app, that's a great start.
It's worthwhile to learn how to collaborate with other React developers over GitHub via pull requests and code reviews. Try to find other React developers who would be open to reviewing your code. Offer to help them with code reviews as well. This is great preparation for any job you apply for.
Once you know the fundamentals of React and React Router, learning either of these frameworks becomes a lot easier.
You don't need to have built many React projects, or large React projects, to start applying for React jobs. As long as you have a few good React apps that you can demonstrate, you should be fine.
Start by building a React website for yourself, even if you have no other projects to add to your portfolio yet. Start with a home page, an about page, and a blog page with articles that tell the world what you've learned.
Build your React website using Vite, React, and React Router. If you want a greater challenge, try building it with Next.js. Then, add it to a GitHub repository. Lastly, try to deploy it using a provider like Netlify or Vercel.
Focus on learning the necessary topics that we covered above to boost your React confidence. If you have more time, learn the other topics as well. Then, apply for the React jobs that interest you. Even if you don't make it past all the interview rounds, you can learn a lot from the questions you will be asked.
You don't need to know everything to get hired as a React developer. Even senior React developers use Google, StackOverflow, and ChatGPT on a daily basis. No one on the job will expect you to have it all memorized. Using online resources is encouraged at every job because it promotes learning and growth.
You might be more ready for a React developer job than you think!
If you need help learning React and React Router, check out my React books: