Job Search and Career Advice Platform

Enable job alerts via email!

Intermediate Software Engineer

Holistitech

Johannesburg

On-site

ZAR 500 000 - 700 000

Full time

12 days ago

Generate a tailored resume in minutes

Land an interview and earn more. Learn more

Job summary

A leading FinTech company in Johannesburg seeks an Intermediate Software Engineer to build and maintain API-driven services in Python. This role requires 3-5 years of experience in software engineering and strong proficiency in backend technologies such as FastAPI, Django, or Flask. You will have the opportunity to work in a hybrid environment, tackle real engineering challenges, and grow into a Senior Software Engineer under supportive mentorship. Exposure to Docker, CI/CD, and databases is essential.

Benefits

Strong mentorship
Flexible remote days
Supportive team environment

Qualifications

  • 3-5 years professional software engineering experience.
  • Strong proficiency in Python 3.x.
  • Hands-on experience building backend APIs/services using FastAPI, Django, or Flask.
  • Experience with Docker and CI/CD pipelines.

Responsibilities

  • Build and maintain API-driven services using Python.
  • Contribute to modular microservices that support analytics.
  • Participate in design discussions and propose improvements.
  • Deploy containerised applications using Docker.

Skills

Python engineering strength
Ability to think critically
Learning agility
Independent work in a hybrid environment

Education

Degree or NQF Level 7 equivalent in Computer Science, Engineering, Mathematics or similar

Tools

FastAPI
Django
Flask
Docker
GitHub Actions
Jenkins
Job description

Location: Johannesburg, South Africa (Hybrid Remote)

Level: Intermediate (3–5 years experience)

Sector: FinTech • Digital Banking Technology

Reporting to: Lead Engineer / Technical Director

Role Overview

We are looking for an Intermediate Software Engineer who enjoys solving real engineering problems — not just delivering tickets.

You will design and build backend services powering high-availability financial systems, working closely with experienced engineers and cross-functional stakeholders. You’ll have autonomy in how you approach problems, while still having support whenever you need it.

This role is perfect for someone who:

  • Wants to grow quickly in a high-trust, delivery-focused environment
  • Can take an idea from discussion → implementation → deployment
  • Learns fast and adapts well when priorities shift

No prior banking experience is required — we will enable you on the domain.

What matters is your Python engineering strength and your ability to think.

What You’ll Do
Backend Development
  • Build and maintain API-driven services using Python (FastAPI / Django / Flask)
  • Contribute to modular microservices that support analytics and operational systems
  • Apply asynchronous programming where performance matters
Systems Design & Problem Solving
  • Participate in design discussions, propose solutions, improve reliability and performance
  • Help break down complex requirements into manageable technical work
Cloud & DevOps Exposure
  • Deploy containerised applications using Docker and CI/CD pipelines
  • Contribute to monitoring, logging and stability improvements
Data and Integration
  • Work with relational databases (e.g., PostgreSQL) and caching layers (e.g., Redis)
  • Integrate services with messaging systems (e.g., Kafka / RabbitMQ)
Quality & Support
  • Write maintainable, tested code
  • Assist in troubleshooting production issues as needed
What Success Looks Like
Technical Ability

Write clean, reliable Python services; improve performance with guidance

Learning Agility

Pick up new concepts fast (tech + financial domain)

Delivery Ownership

Follow through on commitments; communicate early if blocked

Collaboration

Work openly with engineers, analysts and business users

Professionalism

Show maturity, punctuality, and care when working with clients

Minimum Requirements
  • Degree or NQF Level 7 equivalent in Computer Science, Engineering, Mathematics or similar
  • 3–5 years professional software engineering experience
  • Strong proficiency in Python 3.x
  • Hands-on experience building backend APIs/services (FastAPI, Django or Flask)
  • Experience with Docker and CI/CD pipelines (GitHub Actions, Jenkins, etc.)
  • Good understanding of databases & writing efficient queries
  • Ability to work independently in a hybrid environment
  • Exposure to distributed / event-driven systems
  • Basic knowledge of async programming and messaging systems (advantageous)
  • Experience with Kubernetes or cloud platforms (advantageous)
Tech Stack You’ll Work With
  • Python 3.x (primary language)
  • FastAPI / Django / Flask
  • Docker • CI/CD (GitHub Actions, Jenkins, GitLab CI)
  • PostgreSQL • Redis • MongoDB
  • Kafka / RabbitMQ (depending on projects)
  • Prometheus • Grafana • Sentry (observability)

You don’t need experience in all of these — curiosity and willingness to learn are key.

Growth & Culture

You’ll enjoy this role if you like:

  • Applying engineering thinking to real-world business problems
  • Designing the solution, not just following instructions
  • Learning new concepts fast and stepping into challenges
  • Building structure where none exists

You’ll have strong mentorship and a clear path to grow into Senior Software Engineer.

Important Notes
  • This is a client-facing role in a regulated environment
  • Hybrid setup with flexible remote days
  • Supportive team, high pace — you’ll always be learning
  • You are required to undergo credit/criminal checks required by financial institutions

Apply if you want to solve real engineering challenges, build credible experience in the FinTech domain, and grow fast in a team that values both people and delivery.

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.