Location: Dubai, United Arab Emirates
Company: Udrive
About Udrive
Udrive is transforming urban mobility through technology. We build scalable platforms that power vehicle sharing, subscription services, fleet management, IoT connectivity, payments, and customer experiences across multiple markets.
About The Role
We are looking for a highly skilled Senior Backend Platform Engineer who is passionate about building scalable backend applications and taking complete ownership of the systems they develop.
This is primarily a hands-on backend engineering role, with additional responsibility for deploying, maintaining, and optimizing applications in production.
You will design and develop APIs, backend services, database-driven applications, and integrations while ensuring that your solutions are deployed securely, perform efficiently, and operate reliably at scale.
We are not looking for a traditional DevOps engineer who primarily manages infrastructure or deployment pipelines. We need a strong software engineer who can build production-grade backend systems and has the technical expertise to deploy, troubleshoot, and operate them independently.
Key Responsibilities
- Backend Development API Engineering
- Design, develop, and maintain high-performance backend applications using Python and FastAPI.
- Build scalable RESTful APIs, microservices, and event-driven applications.
- Develop asynchronous applications using Python's asyncio ecosystem.
- Design clean, maintainable, reusable, and well-structured application code.
- Build integrations with third-party APIs, payment gateways, IoT systems, and external services.
- Implement authentication, authorization, data validation, and secure API communication.
- Develop background workers, scheduled tasks, and asynchronous processing pipelines.
- Write automated tests, conduct code reviews, and maintain high software quality standards.
- Troubleshoot application-level issues, optimize code performance, and resolve bottlenecks.
- Participate in architecture decisions and contribute to the continuous improvement of backend systems.
- Database Design Engineering
- Design and maintain PostgreSQL database schemas, relationships, and indexes.
- Write and optimize complex SQL queries for high-performance applications.
- Implement efficient database access patterns and connection pooling.
- Handle database migrations, transactions, and data consistency.
- Diagnose slow queries and database performance bottlenecks.
- Work with caching technologies such as Redis to improve application performance.
- Ensure backend applications interact with databases efficiently and reliably.
- Distributed Systems Integrations
- Build and maintain distributed backend services.
- Implement event-driven architectures using messaging systems such as NATS, RabbitMQ, or Kafka.
- Design reliable asynchronous communication between services.
- Develop systems capable of handling high concurrency and large transaction volumes.
- Implement retries, timeouts, idempotency, and fault-tolerant processing.
- Design integrations for real-time data processing, IoT devices, and external platforms.
- Cloud Deployment Application Operations
- Deploy and maintain backend applications on AWS.
- Containerize applications using Docker.
- Configure and manage application deployments using AWS services such as EC2, ECS, App Runner, RDS, S3, and related services.
- Build and maintain CI/CD pipelines for automated testing and deployment.
- Configure application environments, secrets, and deployment settings.
- Manage reverse proxies and application routing using Nginx, Traefik, or equivalent technologies.
- Implement rolling deployments and minimize application downtime.
- Troubleshoot deployment failures, runtime issues, and infrastructure-related application problems.
- Optimize application resource consumption and cloud infrastructure costs.
- Application Performance Reliability
- Monitor the health, performance, and availability of backend applications.
- Implement structured logging, metrics, tracing, and alerting.
- Identify and resolve application memory leaks, CPU bottlenecks, slow database operations, and concurrency issues.
- Perform root cause analysis for production incidents.
- Improve application resilience, scalability, and fault tolerance.
- Ensure services recover gracefully from failures.
- Maintain production readiness through appropriate testing, monitoring, and operational documentation.
- Technical Ownership Collaboration
- Take end-to-end ownership of backend services, from development through production deployment.
- Collaborate with mobile, product, and engineering teams to deliver new features.
- Participate in technical design discussions and architectural reviews.
- Review code and contribute to engineering best practices.
- Identify technical debt and proactively improve existing systems.
- Mentor engineers and promote clean, maintainable development practices.
Required Skills Experience
Backend Engineering — Essential
- 5+ years of professional software engineering experience, with substantial hands-on backend development experience.
- Strong proficiency in Python, including asynchronous programming, concurrency, and application performance optimization.
- Production experience developing backend applications using FastAPI or comparable Python frameworks.
- Strong understanding of REST APIs, service-oriented architecture, and backend application design.
- Strong PostgreSQL experience, including schema design, indexing, query optimization, and transactions.
- Experience with Redis or equivalent caching technologies.
- Experience building integrations with external APIs and third-party services.
- Understanding of distributed systems, messaging patterns, and background processing.
- Experience with Git, automated testing, debugging, and code quality practices.
- Ability to independently design, develop, debug, and deliver production-ready backend services.
Cloud Platform Engineering — Essential
- Practical experience deploying and operating backend applications on AWS.
- Strong working knowledge of Docker and containerized application deployment.
- Experience configuring and maintaining CI/CD pipelines.
- Comfortable working with Linux servers and production application environments.
- Understanding of HTTP, HTTPS, DNS, load balancing, reverse proxies, and networking fundamentals.
- Experience troubleshooting production issues across application, database, and infrastructure layers.
- Familiarity with application logging, monitoring, and alerting.
Candidates must be strong backend developers first. Infrastructure and deployment expertise should complement their software engineering skills, rather than replace them.
Nice to Have
- Experience with NATS, RabbitMQ, or Kafka.
- Experience with TimescaleDB or time-series databases.
- Experience with IoT platforms, TCP socket communication, or real-time device connectivity.
- Experience with payment processing systems and transactional applications.
- Familiarity with Kubernetes, EKS, or container orchestration.
- Experience with Terraform or Infrastructure as Code.
- Experience with Prometheus, Grafana, CloudWatch, or OpenTelemetry.
- Experience with high-concurrency applications and performance profiling.
- Familiarity with Go or Rust.
- Experience working with mobility, fleet management, or connected vehicle platforms.
What Success Looks Like — First 6 Months
- Independently design, develop, and deploy production-ready backend features and services.
- Take ownership of key backend applications and understand their architecture, dependencies, and operational requirements.
- Improve backend performance through code optimization, database tuning, and efficient resource utilization.
- Build or enhance API integrations, background workers, and asynchronous processing systems.
- Improve automated testing, deployment pipelines, and release reliability.
- Identify and resolve recurring application and production issues.
- Strengthen application monitoring, logging, and operational visibility.
- Contribute to architectural improvements that make the backend platform more scalable, maintainable, and resilient.
Why Join Udrive
You'll have the opportunity to build and own the technology behind a large-scale mobility platform, working on backend services that support vehicle sharing, fleet operations, connected vehicles, payments, and customer experiences.
This role offers genuine engineering ownership: you'll be involved in designing solutions, writing production code, making architectural decisions, deploying applications, and ensuring the systems you build continue to perform reliably.
We're looking for engineers who enjoy solving complex technical challenges and want to take responsibility for the complete software lifecycle —
from code to production.