Oliver James Associates Ltd.
The Netherlands / Global
The Netherlands / Global
Senior Backend Engineer (Python / FastAPI): Multi-Tenant Cloud Migration
About the Project
We are migrating multiple business-critical applications from a single-tenant Hub-and-Spoke architecture to a scalable, multi-tenant, cloud-native backend. The platform must be highly available, secure, scalable, and high-throughput, with a strong focus on async processing, API performance, database efficiency, authentication, and production readiness. This is a delivery-driven engagement with firm deadlines and a broad group of stakeholders. It is a high-visibility position within the organization, with a strong likelihood of extension for engineers who deliver.
The Role
You will combine hands-on application migration with backend development. You will work independently, own your deliverables end to end, and communicate clearly and proactively with technical and business stakeholders.
Key responsibilities
Migrate business-critical applications from a single-tenant Hub-and-Spoke architecture to a multi-tenant, cloud-native platform
Enable multi-tenancy across existing applications and services
Design and build new REST APIs and backend functionality using Python and FastAPI
Develop scripts and automation for data and configuration migration
Design and optimize PostgreSQL schemas, queries, and data access patterns for efficiency at scale
Implement async processing and high-throughput API design
Implement authentication and security, including SSO, OAuth, OIDC, PKCE, On-Behalf-Of (OBO) flow, and API key authentication
Containerize applications with Docker and deploy them on Azure Container Apps
Build and maintain CI/CD pipelines in Azure DevOps
Ensure production readiness through automated testing, logging, monitoring, and observability
Debug, troubleshoot, and optimize performance in production environments
Integrate Azure AI services into the backend
Technology Stack
Languages and frameworks: Python, FastAPI
Database and ORM: PostgreSQL, SQLAlchemy
Containerization: Docker
Cloud: Azure Container Apps, Azure Database for PostgreSQL Flexible Server, Azure AI Search, Azure Document Intelligence, Azure AI Foundry
DevOps: Azure DevOps, CI/CD
Architecture: Multi-tenant, cloud-native
Required Skills and Experience
Python development
Strong Python development experience
Deep FastAPI expertise (essential)
Strong object-oriented programming skills and application of SOLID principles
Async programming
Scripting and automation
Database
Deep understanding of PostgreSQL and its capabilities
Strong database design skills
Experience with SQLAlchemy or an equivalent Python ORM (essential), including transactions and connection management
NoSQL experience (a plus)
API design and development
REST API design
Rate limiting and validation
API versioning and error handling
High-throughput API design
Authentication and security
SSO, OAuth, OIDC, and PKCE
On-Behalf-Of (OBO) flow
API key authentication
Secure API development practices
Architecture and scalability
Multi-tenant architecture
Highly available and scalable systems
Resilience and fault tolerance
Distributed-system concepts
Cloud and containerization
Azure-based application architecture
Docker and containerized applications
Azure DevOps and CI/CD
Production engineering
Automated testing
Logging, monitoring, and observability
Debugging and troubleshooting
Performance optimization
AI fluency
Familiarity with RAG, document processing, and visual processing concepts
Experience working with AI-assisted development tools (e.g., GitHub Copilot)
What Sets a Strong Candidate Apart
Direct experience delivering a migration project, ideally moving legacy or single-tenant systems to a multi-tenant, cloud-native architecture
A track record of independent ownership: you can clearly explain the technical decisions you made and the parts you personally designed and implemented
Clear, proactive communication with stakeholders under tight deadlines
Comfort defending architectural and technical decisions in a deep, rigorous technical discussion
Interview Process
The technical interview will be conducted by a senior engineer and will be in-depth. Expect detailed questions on your hands-on contributions, technical decision-making, and specific examples of ownership from previous projects, particularly around Python, API design, Azure, Docker, security and authentication, and migration work. Please be prepared to discuss what you personally built and delivered, rather than what the team accomplished.
#J-18808-Ljbffr
The Netherlands / Global
The Netherlands / Global
The Netherlands / Global
The Netherlands / Global
The Netherlands / Global
The Netherlands / Global