Key Responsibilities
API & Backend Development
▸ Design and develop high-performance REST APIs using FastAPI and Python.
▸ Build and maintain async endpoints with Pydantic models, dependency injection, and middleware.
▸ Write clean, modular, and well-documented code following PEP 8 and project conventions.
▸ Integrate third-party services and external APIs as required.
Database Management
▸ Design relational database schemas optimised for performance and scalability.
▸ Write and optimise complex SQL queries, stored procedures, and migrations.
▸ Work with ORM tools such as SQLAlchemy or Tortoise ORM for database interaction.
▸ Ensure data integrity, indexing strategies, and query performance tuning.
Version Control & Collaboration
▸ Manage code using Git with branching strategies (Git Flow / trunk-based development).
▸ Conduct and participate in code reviews via pull requests with constructive feedback.
▸ Maintain well-written commit messages and keep the repository history clean.
Agile & Team Collaboration
▸ Participate actively in sprint planning, daily standups, retrospectives, and backlog grooming.
▸ Break down requirements into actionable technical tasks and story points.
▸ Collaborate cross-functionally with frontend, QA, product, and data teams.
▸ Communicate blockers early and contribute to continuous improvement of team processes.
DevOps & Infrastructure Basics
▸ Containerise applications using Docker and manage multi-service setups with Docker Compose.
▸ Support CI/CD pipeline setup and maintenance (GitHub Actions, GitLab CI, or similar).
▸ Understand Linux server basics: file system, permissions, process management, and SSH.
▸ Monitor application health using logging frameworks and basic observability tools.
Testing & Quality Assurance
▸ Write unit, integration, and API tests using pytest and HTTPX test client.
▸ Maintain meaningful test coverage and enforce quality gates in CI pipelines.
▸ Identify and resolve bugs, performance bottlenecks, and security vulnerabilities.
Required Qualifications
Must Have
▸ 3+ years of professional backend development experience with Python.
▸ Strong proficiency in FastAPI (routing, dependencies, background tasks, middleware, OAuth2).
▸ Solid understanding of SQL — joins, aggregations, window functions, indexing, transactions.
▸ Experience with at least one relational database: PostgreSQL, MySQL, or SQLite.
▸ Proficient with Git: branching, merging, rebasing, conflict resolution.
▸ Familiarity with Agile/Scrum methodologies and working within sprint-based teams.
▸ Experience with REST API design principles: versioning, authentication, error handling.
▸ Working knowledge of Docker for local development and deployment.
▸ Basic Linux command-line proficiency.
Good to Have
▸ Experience with async Python (asyncio, httpx, aiofiles).
▸ Knowledge of Redis for caching and background task queues (Celery / ARQ).
▸ Familiarity with cloud platforms — AWS, GCP, or Azure (S3, RDS, EC2).
▸ Exposure to Kubernetes or container orchestration basics.
▸ Understanding of API security: JWT, OAuth2, rate limiting, CORS.