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.