Datafin

React/JavaScript Developer (JHB)

IT – Software Development
Johannesburg – Gauteng

ENVIRONMENT:
A fast-paced cutting-edge FinTech company in Joburg seeks the coding talents of an ambitious React/JavaScript Developer with at least 2 years of experience writing React applications. They care about the details and want to work with someone who holds themselves to a high standard of quality.  You will primarily work on a user-facing data visualisation dashboard tool which pulls data from various systems and allows clients to gain insights about their business. You must have a grasp of the various conventions, design patterns, and best practices used within the React community and your tech toolset must also include JavaScript, Redux, Jest, HTML5, CSS3, UI/UX and Git.
 
DUTIES:
  • Contribute to the 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 the Product Owner, Designers, Data/Business Analysts, and Back-end Developers to ensure the platform is achieving its goals.
  • Work in an Agile environment. That means participating in sprints, sprint rituals, and having good ticket hygiene!
  • Know your own knowledge gaps and work to close them. We’re all autodidacts and self-starters here, and we’re always learning and improving.
  • Be 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:
  • React –
    • At least 2 years’ work experience writing React applications.
    • You must have a grasp of the various conventions, design patterns, and best practices used within the React community.
  • JavaScript.
  • Redux.
  • Jest.
  • HTML5.
  • CSS3 –
    • Knowledge of browser idiosyncrasies and the ability to create styling that works in all modern browsers, both mobile and desktop.
  • UI/UX.
  • Git –
    • Must be able to demonstrate good commit hygiene!
 
Nice to Haves –
  • Experience with functional programming concepts.
  • Experience working with tools like ESLint and Prettier.
  • Familiarity with PWA architecture and the Service Worker API.
  • We use fairly vanilla Redux, but experience with any popular state management library.
  • Experience doing TDD.
  • 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.
  • Knowledge of UX design principles.
  • Knowledge of or an interest in applying good UX practices.
  • Experience using Git Flow as a branching strategy.
  • 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.