Senior Python Developer
Summary
Leads development and evolution of Python/Django platform services for production financial systems at ARCS in Johannesburg, from architecture through to cloud deployment. Core stack: Python, Django, AWS, Kubernetes and OpenShift/K3s, with mentoring, CI/CD and incident response responsibilities.
Duties & Responsibilities - Lead the development and ongoing evolution of Python/Django platform services, from requirements and architecture through to production deployment.
- Translate complex and evolving business requirements into clear domain models with well-defined boundaries and ownership.
- Apply Domain-Driven Design (DDD) principles and bounded contexts to production systems.
- Assess the broader impact of technical decisions across operations, reporting, integrations, downstream capabilities and system configurations.
- Establish appropriate separation between business rules, application boundaries and reusable platform capabilities.
- Design systems that minimise duplicated logic, unnecessary coupling and architectural divergence.
- Make pragmatic architectural decisions, introducing structure where it provides genuine value while avoiding unnecessary abstraction.
- Evolve production systems through backward-compatible changes, safe migrations and incremental/phased rollouts.
- Apply appropriate migration strategies, including expand-and-contract patterns where required.
- Design systems for correctness and resilience under retries, failures and recovery scenarios.
- Build auditability, data lineage, observability and appropriate failure handling into production systems.
- Design, build and maintain backend systems within cloud and containerised environments.
- Work with technologies and platforms including AWS, Kubernetes and OpenShift/K3s .
- Contribute to technical direction across codebases, APIs and data models.
- Evaluate where capabilities should reside within core platform functionality versus client-specific implementations.
- Review technical designs and ensure they align with agreed 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.
- Champion reusable CI/CD pipelines, automated testing, effective release practices and cloud-native engineering standards.
- Support secure packaging and deployment of application artefacts, including offline and on-premises deployment mechanisms where required.
- Participate in rotational production support and lead incident response when necessary.
- Promote high standards of reliability, security and confidentiality when developing and supporting production financial systems.
- Use AI-assisted development tools responsibly to improve delivery speed while maintaining code quality, security and appropriate review standards.
Requirements
Essential Experience
- 5+ years of hands-on Python development experience.
- Previous experience within the Fintech industry is essential.
- Strong experience building production applications using Python frameworks and libraries.
- Experience with Django is preferred.
- Experience working with well-structured domain models and clearly defined service boundaries.
- Strong understanding of separation of business concerns within production systems.
- Experience developing applications for cloud and containerised environments.
- Practical exposure to AWS, Kubernetes and/or OpenShift/K3s .
- Experience working with live production systems and safely implementing migrations, backward-compatible changes and phased rollouts.
- Experience within regulated environments, particularly banking or financial services , is strongly preferred.
Technical & Professional Skills
- Strong technical judgement and the ability to evaluate architectural trade-offs.
- Ability to understand and contribute to wider architectural and structural decisions.
- Strong systems-thinking capability and an understanding of the downstream impact of technical decisions.
- Ability to work effectively with ambiguity and constructively challenge requirements or technical designs when appropriate.
- Strong problem-solving and analytical skills.
- Strong understanding of production reliability, security and confidentiality.
- Ability to collaborate effectively within a technical team and contribute to a shared engineering vision.
- Strong mentoring mindset with the ability to support and develop junior and mid-level developers.
- Ability to take ownership of technical delivery and proactively identify risks.
- Comfortable working within CI/CD, automated testing and modern cloud-native engineering practices.
- Responsible and effective use of AI-assisted development tools while maintaining engineering quality and security standards.
Education
- Degree in Computer Science, Software Engineering or a related field; or equivalent practical experience .