Job Summary
TECHNOLOGY STACK
- Frontend (Customer) - React, using redux and redux-toolkit for state management.
- Frontend (Admin) - React, using redux sagas for state management.
- Frontend (Marketing) - React, using gatsbyjs for static site-building.
- Backend (Dashboard/Admin/ DMZ Layers) - .Net Core 2.2
- Backend Microservice (Services running through Kubernetes and docker management)
- Azure DevOps (Source control)
- CI / CD
- Pipeline management
- Azure cloud services
- Bugsnag (Front-End Real-time issue monitoring)
- Graylog (Back-End Real-time issue monitoring)
- Postman / Swagger (API Documentation)
WHAT YOU WILL BE RESPONSIBLE FOR
- Help create an inspiring team environment with an open communication culture
- Take accountability for team targets
- Assist to hire junior and mid-level developers
- Encourage creativity and intelligent risk-taking
- Develop new user-facing features
- Build clean, semantic and maintainable code and libraries for future use
- Ensure the technical feasibility of UI/UX designs
- Optimise application for maximum speed and scalability
- Assure that all user input is validated before submitting to back-end
- Translate application storyboards and use cases into functional applications.
- Ensure the best possible performance, quality, and responsiveness of applications.
- Identify bottlenecks and bugs, and devise solutions to these problems.
- Help maintain code quality, organization, and automatization.
- Analyze system requirements and prioritize tasks
- Develop technical specifications and architecture
- Test and debug various Front-End applications
- Review and refactor code
- Deploy fully functional applications
- Upgrade existing programs
- Support junior developers’ work
- Document development and operational procedures
REQUIREMENTS
General
- Proficient understanding of web markup, including HTML5, CSS3
- Proficient understanding of server-side css pre-processing frameworks, such as LESS and SASS.
- Proficient understanding of utility based css frameworks, such as TailwindCSS.
- Strong proficiency in JavaScript, TypeScript, ES6 including DOM manipulation.
- Good understanding of modern frameworks - ReactJS, KnockoutJS, AngularJS
- Proficient understanding of version control tools. (Git, Mercurial, SVN)
- Good understanding of SEO principles and ensuring the application will adhere to them
- Building reusable components and front-end libraries for future use
- Experience integrating with RESTful API’s
- Experience working with common front-end tools such as Babel, Webpack and NPM.
Minimum Requirements
- 5+ years’ experience as a Front-End Software Developer,
- Prior experience in a technical position,
- College or University degree in Computer Science, a related discipline or proven experience in software development.
Core Competency Requirements
- Proficient with React development
- Experience with source control management systems and continuous integration/deployment environments. GIT, Azure Pipelines.
- Experience with automated testing
- Experience with agile and scrum development methodologies.
- Experience with debugging, performance profiling and optimisation
- Strong initiative to find ways to improve solutions, systems, and processes
- Forensic attention to detail
Preferred Competency Requirements
- Experience in various frontend architecture patterns
- Experience in implementing service workers
- Knowledge of modern authorization mechanisms, such as JSON Web Token
- Experience building PWA (Progressive web applications)
- Knowledge of isomorphic React
NICE TO HAVES
- Have a decent amount of financial/investment knowledge and associated database/process design
- Show interest in fintech, cryptocurrencies, blockchain and broader financial industries
- A British or EU passport in addition to a South African passport
SKILLS, COMPETENCIES AND INTERESTS REQUIRED FOR THIS ROLE
- Flexible/ adaptable. You adjust quickly to changing priorities and conditions. You cope effectively with complexity and change. Able to work in a fast-paced environment with a focus on continuous improvement.
- You plan, organize, schedule, and budget in an efficient, productive manner. You focus on key priorities.
- A team player. You reach out to peers and cooperate with executives to establish an overall collaborative working relationship.
- Follow-through on commitments. You live up to verbal and written agreements, regardless of personal cost. You are action-oriented.
- Able to hire and develop A Players. You coach people in their current roles to improve performance and prepare them for future roles.
- A good communicator. You speak and write clearly and articulately without being overly verbose or talkative. You let others speak and seek to understand their viewpoints.
- Creative/ innovative. You generate new and innovative approaches to problems.
- You are able to convince others to pursue a course of action. You are a skilled facilitator and able to resolve conflicts when they occur.
- Ability to think and act strategically while also being hands-on
- Able to deliver on time with outstanding quality content
- Ambitious, dynamic and self-motivated
- Has good time management and organisation skills
- Accountable and strong-willed
- Ability to work in a small team (8-12 people) as well as work independently