Senior Python Developer

 Posted an hour ago
     
5-10 years experience
Apply Now

Please mention DailyRemote when applying

AI Summary

Build and implement a production-grade Backend for Frontend (BFF) service using FastAPI to power a React Native mobile application. Lead a mid-level developer and integrate the service with enterprise backend APIs and authentication systems.

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:

Similar Jobs

See all Remote Software Development jobs →

Personalize your Remote Job Search in 3 Easy Steps!

Discover remote opportunities in Python Developer

Answer easy questions

Answer easy questions

200,000+ jobs across 15+ categories

Get your best job matches

Get your best job matches

Only hand-screened, legit jobs

Find a remote job faster

Find a remote job faster

No ads, scams, or junk

I was the first applicant for a remote marketing position that got listed on the company website the same day I applied. Had an interview within 48 hours!

Sarah J. — Sarah J. · Marketing Manager ★★★★★ Verified