DVT is one of the top software development and testing companies on the continent. Our vision is to be South Africa's favourite custom software solutions & services company, with a global footprint.
You will have the opportunity to work alongside some of the most established developers in the country with the latest technologies. DVT is committed to continuously training our staff and we are very proud of our culture of learning, from internal speaking and training to sponsoring a variety of technical events from DevConf to GDG.
We are looking for experienced Python developers to join our engineering team and help us create dynamic software applications for our clients. In this role, you will be responsible for building a Backend for Frontend (BFF) service to power a new React Native mobile application. You will join a cross-functional team, working alongside frontend, cloud, and test engineers to implement a production-grade Python BFF that bridges mobile clients with enterprise backend services.
An initial BFF codebase has been produced by the client's Head of Development using AI and spec-driven development. One of your first tasks will be to assess the quality of that codebase and determine whether to build upon it or establish a fresh foundation. From there, you will be a hands-on contributor as well as a technical leader for the mid-level developer on the team.
Key Responsibilities
Assess and determine the viability of an existing AI-generated BFF codebase as a starting point
Implement and extend the BFF using FastAPI, contributing hands-on alongside the mid-level developer
Integrate with a custom-built internal OAuth2 auth service backed by an Oracle identity database, with a future migration path to AWS Cognito
Integrate with backend APIs via Azure APIM using Entra B2B service-to-service authentication
Acquire, cache, and refresh tokens for downstream API calls
Orchestrate and aggregate multiple backend service responses into mobile-optimised payloads
Implement resilience patterns: circuit breakers, retries with exponential backoff, and timeouts
Design and enforce authorisation policies (RBAC/ABAC - exact model TBD)
Set up structured logging, distributed tracing, and metrics using Grafana / Grafana Faro
Implement rate limiting, input validation, and secure data handling
Integrate with a feature flag service once defined (potentially a custom-built solution)
Contribute to CI/CD pipeline configuration (GitHub Actions)
Contribute to Terraform IaC alongside the client's dedicated cloud team
Collaborate with principal engineers to define an API versioning strategy for mobile backward compatibility
Technical Context
BFF will be containerised and hosted on AWS (specific service TBD - App Runner, ECS, or EKS)
Dual-cloud environment: AWS is the primary platform; Azure is used for APIM and Entra ID
Some backend APIs will be available at the start; others will be built in parallel by internal teams during the engagement
Caching layer not yet defined - likely AWS-based (e.g. ElastiCache)
Observability: Grafana / Grafana Faro (migrating away from Datadog and Google Analytics)
IaC: Terraform, with support from a dedicated cloud team
CI/CD: GitHub Actions (confirmation pending)
Streaming (WebSocket/SSE) is on the product roadmap but is not a near-term deliverable
Required Skills & Experience
5+ years Python development with strong async programming (asyncio)
Proven production experience with FastAPI or a comparable async Python framework
Solid understanding of OAuth2/OIDC flows and token lifecycle management
Experience integrating with Azure APIM and Entra ID for service-to-service auth
Knowledge of distributed systems resilience patterns: circuit breakers, retries, bulkheads
Experience designing REST APIs for mobile consumption: response shaping, batching, payload optimisation
Security-first approach: TLS enforcement, rate limiting, input validation, data masking
Observability experience: structured logging, metrics, and distributed tracing
Comfortable reviewing and making quality judgements on an existing codebase
Comfortable working in a CI/CD environment (GitHub Actions or equivalent)
Nice to Have
Experience with AWS Cognito or custom OAuth2 provider integration
AWS container hosting experience (ECS, EKS, App Runner, or similar)
Grafana stack experience — Grafana Faro, Loki, Tempo
Redis or ElastiCache caching experience
Terraform familiarity
Prior experience implementing a BFF or API Gateway pattern
Familiarity with React Native or mobile-first API design
WebSocket or SSE implementation experience
Who we are:
Skills Required
- 5+ years Python development with strong async programming (asyncio)
- Production experience with FastAPI or comparable async Python framework
- Solid understanding of OAuth2 and OpenID Connect (OIDC) flows and token lifecycle management
- Experience integrating with Azure API Management (APIM) and Entra ID (Azure AD B2B) for service-to-service auth
- Knowledge of distributed systems resilience patterns (circuit breakers, retries, bulkheads, timeouts)
- Experience designing REST APIs for mobile consumption: payload shaping, batching, optimisation
- Security-first practices: TLS enforcement, rate limiting, input validation, secure data handling
- Observability experience: structured logging, distributed tracing, and metrics
- Comfortable reviewing and making quality judgements on an existing codebase (including AI-generated code)
- Comfortable working in CI/CD environments (GitHub Actions or equivalent)
- Experience integrating with an OAuth2 auth service backed by an Oracle identity database
- Ability to acquire, cache, and refresh tokens for downstream API calls
- Experience implementing rate limiting, input validation, and secure data handling
- Ability to orchestrate and aggregate multiple backend service responses into mobile-optimised payloads
- Preferred: Experience with AWS Cognito or custom OAuth2 provider integration
- Preferred: AWS container hosting experience (ECS, EKS, App Runner, or similar)
- Preferred: Grafana stack experience (Grafana Faro, Loki, Tempo)
- Preferred: Redis or ElastiCache caching experience
- Preferred: Terraform familiarity
- Preferred: Prior experience implementing a BFF or API Gateway pattern
- Preferred: Familiarity with React Native or mobile-first API design
- Preferred: WebSocket or Server-Sent Events (SSE) implementation experience
What We Do
Custom Software, AI and Data Engineering services. Global Scale. Local Engagement. DVT is a proudly South African founded and operated technology services provider. As a BEE level 2 company, we are a committed local partner to South African clients, providing experienced software technology teams or staff to build, enhance or maintain your AI, data and software solutions.








