Company: DVT
Type: Onsite
Employment: Full Time
Description: 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. Requirements Key ResponsibilitiesAssess and determine the viability of an existing AI-generated BFF codebase as a starting pointImplement and extend the BFF using FastAPI, contributing hands-on alongside the mid-level developerIntegrate with a custom-built internal OAuth2 auth service backed by an Oracle identity database, with a future migration path to AWS CognitoIntegrate with backend APIs via Azure APIM using Entra B2B service-to-service authenticationAcquire, cache, and refresh tokens for downstream API callsOrchestrate and aggregate multiple backend service responses into mobile-optimised payloadsImplement resilience patterns: circuit breakers, retries with exponential backoff, and timeoutsDesign and enforce authorisation policies (RBAC/ABAC - exact model TBD) Set up structured logging, distributed tracing, and metrics using Grafana / Grafana FaroImplement rate limiting, input validation, and secure data handlingIntegrate 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 teamCollaborate with principal engineers to define an API versioning strategy for mobile backward compatibilityTechnical ContextBFF 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 IDSome backend APIs will be available at the start; others will be built in parallel by internal teams during the engagementCaching 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 teamCI/CD: GitHub Actions (confirmation pending)Streaming (WebSocket/SSE) is on the product roadmap but is not a near-term deliverableRequired Skills & Experience5+ years Python development with strong async programming (asyncio)Proven production experience with FastAPI or a comparable async Python frameworkSolid understanding of OAuth2/OIDC flows and token lifecycle managementExperience integrating with Azure APIM and Entra ID for service-to-service authKnowledge of distributed systems resilience patterns: circuit breakers, retries, bulkheadsExperience designing REST APIs for mobile consumption: response shaping, batching, payload optimisationSecurity-first approach: TLS enforcement, rate limiting, input validation, data maskingObservability experience: structured logging, metrics, and distributed tracingComfortable reviewing and making quality judgements on an existing codebaseComfortable working in a CI/CD environment (GitHub Actions or equivalent)Nice to HaveExperience with AWS Cognito or custom OAuth2 provider integrationAWS container hosting experience (ECS, EKS, App Runner, or similar)Grafana stack experience — Grafana Faro, Loki, TempoRedis or ElastiCache caching experienceTerraform familiarityPrior experience implementing a BFF or API Gateway patternFamiliarity with React Native or mobile-first API designWebSocket or SSE implementation experienceWho we are:
Apply here:
Web: Apply here
Emails:
Found 6 similar Onsite jobs
gitlab
Worldwide
View Job →Join our community of over 1,000 Python developers and get instant access to the highest-paying Python jobs worldwide - from Django, Flask and FastAPI to AI and data roles. Save time with our curated job listings featuring transparent salary ranges.