About the role
We are looking for a Senior Backend Developer with 5+ years of experience to join our core engineering team. In this role, you will design, build, and maintain high-performance, scalable backend services using Python. You will play a kEY role in making architectural decisions, optimising data pipelines, ensuring security and system reliability, and mentoring team members.
Responsibilities:
- System Architecture and Design: Architect, develop, and maintain secure, scalable, and low-latency microservices and RESTful/gRPC APIs using modern Python frameworks (FastAPI, Django, or Flask).
- Performance and Optimisation: Identify bottlenecks, tune database queries, implement effective caching strategies (Redis/Memcached), and optimise overall service responsiveness.
- Database and Data Management: Design robust relational and NoSQL database schemas (PostgreSQL, MySQL, MongoDB, DynamoDB) and manage migrations and indexing strategy.
- Event-Driven Architecture: Design and implement asynchronous task queues and message streaming solutions using tools like Apache Kafka, RabbitMQ, or Celery.
- Code Quality and Best Practices: Write clean, maintainable, and well-tested code (unit/integration tests). Lead code reviews, enforce coding standards, and reduce technical debt.
- DevOps and Observability: Work alongside DevOps/SRE teams to containerise applications (Docker, Kubernetes), manage CI/CD pipelines, and monitor application health using distributed tracing (Prometheus, Grafana, Datadog).
- Technical Leadership: Mentor junior and mid-level engineers, contribute to technical documentation, and translate business requirements into clean technical designs.
Requirements:
- Experience: 5+ years of software development experience with a strong focus on backend systems.
- Python Mastery: Expert-level knowledge of Python 3 x and proficiency in modern backend frameworks such as FastAPI, Django, or Flask.
- Database Expertise: Deep understanding of SQL (PostgreSQL, MySQL) and ORMs (SQLAlchemy, Django ORM), along with experience in NoSQL systems (Redis, MongoDB).
- Asynchronous Systems: Hands-on experience with asynchronous programming (asyncio), background tasks, and event-driven architecture (Celery, Kafka, RabbitMQ).
- API Design: Expertise in designing and documenting RESTful APIs and OpenAPI specifications (experience with gRPC or GraphQL is a plus).
- Testing: Proficiency in automated testing tools (pytest, unittest) and test-driven development (TDD) approaches.
- Cloud and Tools: Experience working with cloud platforms (AWS, GCP, or Azure), Docker, CI/CD pipelines, and Version Control (Git).
Nice-to-Haves:
- Familiarity with Infrastructure as Code (Terraform, CloudFormation).
- Experience with serverless architectures (AWS Lambda).
- Familiarity with frontend frameworks (React/Vue) or a second backend language (Go, Node.js ).
- Exposure to system security, OAuth2 JWT, and compliance best practices.