Senior Python (Django) Developer - Johannesburg - Hybrid
Datafin · Johannesburg, Gauteng · R Undisclosed
Stop applying one at a time.
JobAlertsZA auto-applies to South African jobs like this one for you, overnight. Upload your CV once — we do the applying.
Start free — we apply for you →ENVIRONMENT
Our client develops banking technology that enables financial institutions to launch innovative, compliant digital products faster and more reliably. Their core product is a white-labelled, cashflow-based business lending platform that allows banks to offer pre-approved, variable-repayment loans to small and medium-sized businesses through digital origination and real-time loan management. They are seeking a Senior Python Developer to help maintain the technical integrity of their platform as it scales across a shared core platform and independently deployed client implementations. Beyond developing production code, the successful candidate will influence how system domains are modelled and structured, mentor junior engineers and serve as a trusted technical partner to the Development Manager and Technical Architect.
DUTIES
- Take responsibility for the domain models and structural decisions underpinning the platform, ensuring the system remains coherent as the product and business evolve.
- Translate complex and changing requirements into clear domain models with well-defined boundaries and ownership.
- Apply Domain-Driven Design principles and bounded contexts in practical production environments.
- Assess the wider impact of technical decisions on operations, reporting, integrations, downstream capabilities and independently deployed client implementations.
- Ensure business rules are positioned within the appropriate domain and application boundaries.
- Separate reusable core-platform capabilities from client-specific configurations, extensions and integrations.
- Prevent duplicated logic, unnecessary coupling and divergence between client implementations.
- Introduce structure where it provides value while avoiding shortcuts and unnecessary abstraction.
- Evolve production systems through backward-compatible changes, safe migrations and incremental rollouts.
- Support upgrades across independently deployed client environments and multiple concurrently supported platform versions.
- Apply expand-and-contract migration patterns where appropriate.
- Design systems for correctness during retries, failures and recovery.
- Build auditability, data lineage, observability and failure handling into solutions from the outset.
- Lead the development and evolution of Python and Django platform services, from requirements and architecture through to production deployment.
- Design, build and maintain backend systems within cloud and containerised environments, including AWS, Kubernetes, OpenShift and K3s.
- Set technical direction across the core platform and client implementations, including codebase, API and data-model decisions.
- Determine whether capabilities should form part of the core platform or a client-specific implementation.
- Review technical designs against established architectural and engineering standards.
- Mentor junior and mid-level developers through code reviews, technical guidance and knowledge sharing.
- Take ownership of technical delivery and proactively identify architectural, implementation and operational risks.
- Collaborate closely with the Development Manager and Technical Architect.
- Lead the secure packaging and deployment of application artefacts, including offline and on-premises delivery methods such as ISO images.
- Champion reusable CI/CD pipelines, automated testing, release practices and cloud-native engineering standards.
- Participate in rotational production support and lead incident-response activities when required.
REQUIREMENTS
- At least five years of hands-on Python development experience.
- Experience building production applications using Python frameworks and libraries.
- Django experience is preferred.
- Experience developing well-structured domain models with clear service boundaries and separation of business concerns.
- Experience developing applications for cloud-based and containerised environments.
- Understanding of deployment platforms such as AWS, Kubernetes and OpenShift.
- Experience evolving live systems through migrations, backward-compatible changes and phased rollouts.
- Experience within regulated banking or financial services environments is strongly preferred.
Education
- Degree in Computer Science, Software Engineering or a related field, or equivalent practical experience.
ATTRIBUTES
- Strong understanding of Domain-Driven Design and bounded contexts.
- Sound technical judgement and the ability to evaluate architectural trade-offs.
- Strong Python development and backend engineering skills.
- Knowledge of cloud-native development and containerised deployment.
- Ability to use AI-assisted development tools responsibly while maintaining code quality, security and review standards.
- Comfortable working with ambiguity and constructively challenging requirements or designs.
- Collaborative team player who respects agreed technical direction and contributes to a shared engineering vision.
- Strong mentoring mindset with the ability to raise engineering standards across the team.
- Strong sense of responsibility for the reliability, security and confidentiality of production banking systems.
Desired Skills
- Senior
- Python
- Django