Posted: 11 January 2025
Job Details
Overall, Purpose of the Role:
We’re seeking a passionate Full-Stack Software Development Engineer to join our engineering team. This role emphasizes backend development in Python, with significant involvement in frontend technologies. You’ll work at the leading edge of the fintech and banking space. Contributing to both existing and new tech stacks while ensuring the development of secure, scalable and very reliable systems.
Required Qualifications:
• 5+ years of experience in software engineering or development fields.
• Bachelor’s degree in computer science, Engineering or a related field.
• Strong proficiency with Python.
• Familiarity with Python based frameworks (Flask, FastAPI, Django).
• Experience with building quality API’s.
• Proficiency in PostgreSQL or other relational databases.
• Experience with frontend technologies: HTML, CSS, JavaScript, jQuery, and AJAX.
• Familiarity with version control systems – Git.
• Excellent problem-solving skills, adaptability, and the ability to thrive in a high paced environment.
• Familiarity with AWS tools and services.
• Strong communication skills and the ability to work effectively within a team
Preferred Qualifications:
• Experience in the South African banking or fintech industry.
• Familiarity with CI/CD pipelines, automated testing frameworks, and secure coding practices.
• Familiarity with OOP practices or exposure to languages like Java, C++, C#.
• Understanding of security compliance requirements, particularly in financial systems.
• Experience in JavaScript/Typescript, and related frameworks (React, Node.js).
• Understanding of SOLID principles, security best practices, and software design patterns.
• Familiarity with Docker.
• Familiarity with agile development practices.
• Experience with Jira and Confluence.
• Experience with micro service architectures.
Development:
• Design, develop, and maintain robust, scalable services with:
• Python with Flask.
• PostgreSQL
• JavaScript, CSS, HTML, jQuery, AJAX, with possibilities of React.
• AWS cloud services.
• Participate in design of systems architectures.
• Solve complex problems within the tech stack.
Collaboration and Communication:
• Work effectively in your immediate team to solve complex problems within the
• tech stack to achieve team goals.
• Work closely with cross-functional teams to effectively understand and solve
• project based requirements.
• Work effectively with international teams to deliver high-quality software
• solutions that meet global standards and banking sector standards.
• Engage in continuous learning and improvement, optimizing existing systems and
• contributing to new features and functionalities.
• Take initiative in the software development process.
• Communicate effectively with team members and stakeholders.
• Document processes, code and decisioning.
• Provide guidance to junior developers.
Security and best practices:
• Implement best practices for security in software development, ensuring all APIs
• and systems are secure and scalable.
• Apply SOLID principles to design and architecture, ensuring code is scalable,
• maintainable, and secure.
• Work within established banking processes and procedures, while contributing to
• the creation of new, efficient processes for our software solutions.
• Implement stringent practices in the production deployment process.
Quality Assurance and Testing:
• Write and maintain codebase testing suites.
• Participate in the code peer review process to ensure robustness and reliability of
• applications through testing and review.
• Troubleshoot, debug and improve software systems and processes.
AWS and Cloud services:
• Deploy and manage applications within AWS,
• Cross functional interaction with Dev-ops team on Terraform and CircleCI
• Pipelines
Development & Implementation:
• Assist in writing and maintaining Python scripts for solving basic problems and
• automating tasks.
• Contribute to the development and maintenance of web applications using Flask, HTML,
• CSS, and JavaScript under supervision.
• Collaborate with developers to maintain and update database systems using PostgreSQL.
• Participate in code reviews to improve coding standards and learn best practices.
AWS & Cloud Services:
• Support the deployment of applications using AWS services with guidance.
• Assist in monitoring and optimizing cloud-based applications for better performance.
• Gain an understanding of AWS security standards and contribute to compliance efforts
System Design & Architecture:
• Participate in discussions on system architecture and design to gain exposure to scalable solutions.
• Research new technologies and tools, presenting findings to the team.
• Assist in planning and testing deployment processes.
Quality Assurance & Testing:
• Write and run basic unit tests to ensure software quality.
• Assist in debugging and troubleshooting issues alongside experienced engineers.
• Document issues and propose potential fixes for review.
Collaboration & Communication:
• Work in an agile development environment.
• Communicate effectively with team members and stakeholders.
• Document development processes, code, and architectural decisions.