We are looking for a skilled React.js developer to join our front-end development team. In this role, you will be responsible for developing and implementing user interface components using React.js concepts and workflows such as Redux, Flux, and Webpack. You will also be responsible for profiling and improving front-end performance and documenting our front-end codebase.
To ensure success as a React.js developer, you should have in-depth knowledge of JavaScript and React concepts, excellent front-end coding skills, and a good understanding of progressive web applications. Ultimately, a top-class React.js developer should be able to design and build modern user interface components to enhance application performance.
Responsibilities
- Developing new user-facing features using ReactJS.
- Building reusable components and front-end libraries for future use.
- Translating designs and wireframes into high-quality code.
- Optimising components for maximum performance across a vast array of web-capable devices and browsers.
- Construct visualisations that are able to depict vast amounts of data.
- Work and collaborate with the rest of the engineering team.
- Work with product team and graphic designers.
- Learn and understand user interactions.
Requirements
- Strong proficiency in JavaScript, including DOM manipulation and the JavaScript object model.
- Thorough understanding of React.js and its core principles.
- Experience with popular React.js workflows and libraries (such as Flux, Redux, Redux-Saga etc.)
- Knowledge of isomorphic React is a plus.
- Familiarity with RESTful APIs.
- Knowledge of modern authorisation mechanisms (such as Auth 2.0 or JSON Web Token)
- Familiarity with modern front-end build pipelines and tools.
- Experience with common front-end development tools such as Babel, Web-pack, NPM, etc.
- Ability to understand business requirements and translate them into technical requirements.
- A knack for bench-marking and optimisation.
- Knowledge of the overall browser rendering behaviour and measuring and optimizing performance.
- Familiarity with code versioning tools (such as Git or Perforce).
Bonus points for having hands on knowledge on -
- Jest and Enzyme
- Backend frameworks like express / nest.js