371,660open jobs
9,621companies
49,388added this week
Browse all
Location
In office
Seniority
Senior · 5+ years exp
Overview
Company
Impact
Profile match

DVT

DVT is a South African software company founded in 1999 and headquartered in Johannesburg. It provides software development, testing and agile consulting. The company works with enterprise clients across the country.

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 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:

Free account
Stop reading job ads. Get the ones that fit.
One free account turns this page into a shortlist built around your stack, your level and your pay.
Match on every job. Stack, seniority, pay and location, scored against your profile.
371,660 open roles. Read straight off company career pages, refreshed every day.
Unlimited applications. Every one you send is tracked in one place, on-site or on a company board.
3 tailored CVs a month. Rewritten for the exact job you are applying to. Included free.
Create a free account
Free forever. No card. Under a minute.

Your match

How well do you fit this role?
Two answers are enough for a real match. No account needed.
Check my fit
Answers stay in this browser until you create an account.

Recommended for you based on this role

Similar stack
Same company
In your city
$59k – $152k per year (Estimated) • In office • Full-Time • 3+ years exp • Bachelor's Degree • Singapore
DevOps
AWS
Azure
Incident Management
SLI/SLO/SLA
Cybersecurity
OWASP Top 10
Apply
Security Engineer 10 hours ago
$49k – $128k per year (Estimated) • In office • Full-Time • 3+ years exp • Melbourne
PowerShell
Python
DevOps
Ansible
AWS
Azure
Terraform
Cybersecurity
Microsoft Defender
Apply
$31k – $61k per year (Estimated) • In office • 6+ years exp • Bengaluru
Go
Python
SQL
Databases
Apache Kafka
ElasticSearch
PostgreSQL
DevOps
AWS
Azure
GCP
Kubernetes
Platform Engineering
Terraform
Vector
Apply
$24k – $63k per year (Estimated) • In office • Full-Time • 5+ years exp • Bengaluru
TypeScript
JavaScript
Databases
DynamoDB
AI/ML
Copilot
Frontend
AG Grid
Angular
npm
pnpm
DevOps
Amazon CloudWatch
Amazon S3
API Gateway
AWS
AWS Lambda
CDKTF
CI/CD
GitHub
GitHub Actions
Terraform
QA
Cypress
Jest
Apply
$21k – $41k per year (Estimated) • In office • Full-Time • 10+ years exp • Hyderabad • Bengaluru
Python
SQL
Databases
MySQL
PostgreSQL
DevOps
AWS
Azure
GCP
Analytics
Power BI
Tableau
ETL/ELT
Apply
In office • Contractor • 7+ years exp
Python
SQL
Databases
Amazon Redshift
Databricks
Microsoft Fabric
AI/ML
AI Agents
Amazon SageMaker
Feature Store
LLMOps
DevOps
AWS
AWS Lambda
Azure
CI/CD
FinOps
Git
Incident Management
Amazon S3
Apply
$62k – $100k per year • In office • 8+ years exp
C#
SQL
C#
.NET
AI/ML
Embeddings
Prompt Engineering
RAG
Semantic Search
AI Agents
Edge AI
Function Calling
OpenAI
Semantic Search
DevOps
Azure
Azure DevOps
CI/CD
Docker
Kubernetes
Vector
Apply
In office • Contractor • 5+ years exp
Java
SQL
TypeScript
Java
Maven
Spring Boot
Databases
Apache Kafka
MySQL
PostgreSQL
AI/ML
Claude
Claude Code
DevOps
AWS
Docker
Helm
JFrog Artifactory
Kubernetes
Terraform
Apply
Remote • Contractor • 5+ years exp
PowerShell
Python
Databases
Microsoft Fabric
DevOps
Azure
Azure DevOps
CI/CD
FinOps
Platform Engineering
Rest API
Terraform
GitHub
Cybersecurity
Microsoft Entra ID
Apply
$62k – $74k per year • In office • Contractor
C#
C#
.NET
DevOps
Azure
Apply
See all jobs
This is one of many
371,660 more open roles from verified company boards, updated every day.