TymeBank

Overall, Purpose of the Role:

We are seeking a passionate Full-Stack Software Development Engineer to join our engineering team. This role focuses on backend development in Python and involves substantial work with front-end technologies. You'll be working at the forefront of the fintech and banking industry, contributing to both existing and new technology stacks. Your goal will be to ensure the development of secure, scalable, and highly 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 highpaced 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.

Responsibilities:
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.


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.