Senior Python (Django) Developer – Johannesburg - Hybrid
SUMMARY:
-
POSITION INFO:
ENVIRONMENT: Our client develops 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 . 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 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.