Job Title

Front-end Engineer – R

South Africa, Gauteng
Back to jobs
R30000 - R32000 Per Month
Area: South Africa, Gauteng
Sector: Banking
Posted: 14 March 2025

Job Details

Overall Purpose of the Role:

As a Front-End Engineer, you will be responsible for building and maintaining user-facing applications that support banking and financial products. You will work as part of a cross functional feature team, collaborating with back-end engineers, Scrum Masters, and QA engineers to deliver intuitive, high-performance, and scalable front-end solutions. Our goal is to be a serial bank builder, emphasizing software craftsmanship and engineering principles. The role requires expertise in modern JavaScript frameworks, cloud-based deployments, and API integrations. Since our infrastructure is fully cloud-based, experience with AWS services and cloud-first application development is essential.

Experience and Skills Required:

Must-have:

• 3+ years of front-end development experience in a JavaScript-heavy environment.

• Strong proficiency in JavaScript (ES6+), HTML, CSS, with experience building responsive and accessible web applications.

• Hands-on experience with React.js (Next.js preferred) and its ecosystem (Hooks, Context API, Redux, Redux-Thunk, State Management libraries).

• Experience integrating with RESTful APIs, GraphQL, or WebSockets.

• Hands-on experience with Git for version control.

• Experience with unit testing & automated testing frameworks (Jest, React Testing Library, Cypress, or similar).

• Proficiency in micro-frontend architecture.

• Familiarity with browser testing and debugging tools (Chrome, Firefox, Edge, Safari).

• AWS cloud experience (S3, Lambda, API Gateway, CloudFront, ECS, or other AWS services). 

• Experience with Docker and containerized front-end deployments.

• Strong debugging skills and experience working with browser developer tools.

• Ability to collaborate in an agile, fast-paced development environment. 

Nice to have:

• 2+ years of front-end development experience.

• Experience with TypeScript.

• Familiarity with CSS frameworks (Bootstrap, TailwindCSS, Ant Design).

• Awareness of UI/UX best practices to ensure optimal user experience.

• Experience with Vue.js or Angular is a plus.

• Familiarity with CI/CD pipelines and ability to set up projects accordingly.

• Exposure to Python (Django, Flask, or FastAPI) to assist in front-end/back-end collaboration.

• Experience working in the banking and financial domain is a plus. 

Responsibilities:

• Develop and maintain scalable, cloud-first front-end applications for banking and financial products.

• Implement modern UI/UX best practices to enhance user experience.

• Optimize applications for performance, accessibility, and cross-browser compatibility.

• Write clean, maintainable, and efficient JavaScript/TypeScript code.

• Work closely with back-end engineers to ensure seamless API integration.

• Deploy front-end applications in an AWS cloud environment.

• Evangelize and promote JavaScript best practices (ReactJS/NextJS).

• Implement strong engineering practices like unit testing, code review, and CI/CD.

• Collaborate with the Scrum Master and QA engineers to maintain agile workflows and ensure high software quality.

• Train & mentor junior engineers to help them progress in their careers.

• Research new technologies, assess market fit, and expand the technical expertise of the company.

• Solve complex technical and business problems, ensuring scalability and performance.

• Design, develop, test, deploy, monitor, and improve – own the entire lifecycle of your product.

The Ideal Candidate

You are a proactive front-end engineer who enjoys creating high-quality, scalable, and cloud first applications. You have a strong understanding of React.js/Next.js, AWS cloud services, and API integrations. While your focus is front-end development, you are comfortable working with back-end engineers and have a basic understanding of Python to help bridge the gap between front-end and back-end services. You thrive in a collaborative, agile environment, take ownership of your work, and always seek to improve both the user experience and the underlying technology.