Web tech is moving fast, but your job might have you using old technology stacks, or just building sites using a CMS. Or perhaps you are a team lead who doesn’t have the time to keep up.
How do you get experienced in React if you can’t do it at work, and make yourself marketable as a React developer?
Here are some tips to get you over that hump and build the knowledge and experience that will help you get a modern front-end role using React.
Practice JavaScript
Problems people have learning React stem from not understanding JavaScript itself. So if you have a chance, use your current job as a way to get better at JavaScript.
The areas of JavaScript to get proficient at are:
- Closures
- Scopes
- Functional Programming (e.g. Arrow Functions, passing functions as arguments)
- Callbacks and Promises
this
keyword- ES6 Classes
To do this, read Eloquent JavaScript and JavaScript (ES2015+) Enlightenment. Then the great thing is if you use JavaScript at work (or can make so you do) then you can practice these concepts by:
- Refactoring or improving code as you go
- Fixing bugs
- Explaining these concepts to more junior developers
- Write code with as little looking up on Google as possible
Suggest React for an enhancement to an existing project
The nice thing about React is you don’t have to move your entire application to React, you can embed a React component inside you otherwise JQuery – powered app. You just need a good excuse!
A good excuse is if you have a buggy app with lots of state and controls that have complex interactions. For example a shopping cart where there are lots of shipping options depending on location with other options that turn on/off and pricing that depends on that.
Complex interfaces get buggy quickly with JQuery if you just have events fire off and update other things without some central control that a library like React would give you. So there is a good case to use React for complex interfaces. If you are about to add one to your app, suggest React for that.
Suggest React for an internal tool
If your dev team is conservative for some reason about bringing in React for production code, then you could still use it for an internal tool. Most teams have internal tools for one of the following: bug tracking, global app configuration, migrations, importing/exporting/migrating data etc.
Using React for an internal tool is a much easier sell. You could say something like “I am interested in exploring ReactJS, and I think it would be great to solve some of the problems in our app. I would like to trial it on our internal tool X for one part of the user interface, then demo this to the team”.
Do a side project in React
If you can’t convince your boss or team to do any React at all at work, you could simply write your own app in React and start building that portfolio. Just do it.
While some jobs require commercial React experience. Others will accept a good JavaScript developer who can show they are keen to learn and has a portfolio to show it.
Do a freelance project in React
Extending the idea of a side project, you could find someone who needs work done that requires front end code, and do that in React. I did this and it was the project that gave me the most insight into how to structure a React app and the problems, all while having a tight deadline to keep me focused.
Next steps:
Pick two of the above ideas, and then write a quick plan of how you will get this done and get a substantial start on the project this week.
The exact plan depends on your circumstances, e.g. your team, boss or preferences for a personal project.