React. JS Developer
| Location | Johannesburg, South Africa |
| Date Posted | March 10, 2020 |
| Category |
IT / Information Technology
|
| Job Type |
Full-time
|
| Currency | ZAR |
Description
Our client in JHB (West Rand) is currently looking to employ a React. JS Developer.
We’re looking for a front-end developer with at least 2 years of experience writing React applications.
Responsibilities:
- Contributing to our primary dashboarding project, as well as various once-offs and prototypes.
- Consistently review other team members’ code, and have your code reviewed as well.
- Work closely with our product owner, designers, data/business analysts, and back-end developers to ensure the platform is achieving its goals.
- Working in an agile environment. That means participating in sprints, sprint rituals, and having good ticket hygiene!
- Knowing your own knowledge gaps and working to close them. We’re all autodidacts and self-starters here, and we’re always learning and improving.
- Being a team player! A willingness to help out where needed, mentor those more junior than you, and step up to whatever challenge we face as a team.
Requirements and Qualifications:
JavaScript (goes without saying)
- Experience with functional programming concepts is beneficial, but not a requirement.
- Experience working with tools like ESLint and Prettier is beneficial, but not a requirement.
- Familiarity with PWA architecture and the Service Worker API is very beneficial, but is not a requirement.
React:
- You must have a grasp of the various conventions, design patterns, and best practices used within the React community.
Redux (and friends):
- We use fairly vanilla Redux, but experience with any popular state management library is beneficial.
Jest:
- Experience doing TDD is beneficial, but not a requirement.
HTML 5:
- A good knowledge of HTML semantics is expected, but not a deal breaker if you’re willing to learn on the job.
- Knowledge of a11y and WAI-ARIA best practices is beneficial, but not a requirement.
CSS 3:
- Knowledge of browser idiosyncrasies and the ability to create styling that works in all modern browsers, both mobile and desktop.
UI/UX:
- Knowledge of design principles is beneficial, but not a requirement.
- Knowledge of or an interest in applying good UX practices to your work is beneficial, but not a requirement.
Git:
- Experience using Git Flow as a branching strategy is beneficial, but not a requirement.
Must be able to demonstrate good commit hygiene!
Nice To Have:
- Having knowledge or experience in any of the following is not a requirement, but would set you apart from other candidates:
- Experience creating data visualisations with D3.js or similar
- Experience contributing to an open-source project
- Publishing packages to NPM
- Using Lerna mono-repos for managing projects
- Building component libraries using Storybook
- Using StyledComponents, Emotion or any CSS-in-JS library
- Using SASS, LESS or any other CSS preprocessor
- Experience with SVG or Canvas animation
- Experience with writing integration tests using Cypress or an equivalent tool
- Experience with setting up visual regression testing tools such as Percy
- Knowledge of, or experience with using Progressive Enhancement as a methodology for building web front-ends.
- Experience with TypeScript
