IT – Software Development
Johannesburg – Gauteng
- 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.
- 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.
- CSS3 –
- Knowledge of browser idiosyncrasies and the ability to create styling that works in all modern browsers, both mobile and desktop.
- 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.