Python Tech Lead
Backend Engineering — Python (Django / Flask)
B.E/B.TECH
We are looking for an experienced Tech Lead to drive the design, development, and delivery of our backend systems. In this role you will combine hands-on engineering with technical leadership — setting direction, mentoring engineers, and owning the quality and scalability of the services your team builds.
You will work primarily within a Python ecosystem (Django or Flask), deploy and operate workloads on AWS, and design event-driven data flows using Apache Kafka. Beyond writing code, you will be accountable for architecture decisions, engineering standards, and the growth of the people on your team.
- Lead the technical design and architecture of backend services, APIs, and data pipelines, balancing scalability, reliability, and maintainability.
- Own delivery of features end to end — from requirements and design through implementation, code review, testing, deployment, and production support.
- Provide hands-on engineering contribution, writing high-quality, well-tested Python code and setting the standard for the team.
- Mentor and guide engineers, conducting code reviews, pairing, and supporting career growth and skill development.
- Define and enforce engineering best practices around coding standards, testing, CI/CD, observability, and security.
- Collaborate with product managers, designers, and other stakeholders to translate business goals into technical roadmaps.
- Design and operate event-driven systems using Kafka for reliable, scalable inter-service communication.
- Manage cloud infrastructure and deployments on AWS, optimising for cost, performance, and resilience.
- Identify and resolve technical debt, performance bottlenecks, and production incidents.
The following sections outline the core experience we require. Strong candidates will demonstrate depth across all of these areas.
- Breadth: A minimum of 8 years of professional software engineering experience, with a track record of shipping and maintaining production-grade systems.
- Depth: Demonstrated progression from individual contributor to a senior or lead-level engineer, with ownership of significant features or systems.
- Fundamentals: Strong grounding in software design principles, data structures, algorithms, API design, and system architecture.
- Lifecycle: Experience across the full software development lifecycle — requirements, design, implementation, testing, deployment, and maintenance.
- Core Python: At least 5 years of hands-on experience building applications in Python, with deep knowledge of the language and its ecosystem.
- Frameworks: Production experience with Django or Flask, including building and maintaining RESTful APIs and web services.
- Data & ORM: Proficiency with relational databases (e.g. PostgreSQL, MySQL) and ORMs such as Django ORM or SQLAlchemy, including query optimisation.
- Quality: Strong testing discipline using frameworks such as pytest or unittest, and experience integrating tests into CI pipelines.
- Performance: Experience profiling, debugging, and scaling Python services under real-world load.
- Hands-on: Practical, developer-focused experience building and deploying applications on AWS — not just consuming managed services superficially.
- Core services: Working knowledge of services such as EC2, S3, Lambda, RDS, IAM, and API Gateway in the context of application development.
- Deployment: Experience packaging and deploying applications using containers (Docker), and familiarity with ECS/EKS or similar.
- Operations: Understanding of monitoring, logging, and alerting on AWS (e.g. CloudWatch) to keep services healthy in production.
- Best practices: Awareness of security, cost-efficiency, and infrastructure-as-code (e.g. CloudFormation or Terraform) is a strong plus.
- Leadership tenure: A minimum of 3 years leading engineering teams or squads, whether as a tech lead, team lead, or engineering manager.
- Mentorship: Proven ability to mentor and grow engineers through code reviews, pairing, and structured feedback.
- Delivery ownership: Experience planning, estimating, and delivering projects on time while managing scope and technical trade-offs.
- Collaboration: Skilled at working cross-functionally with product, design, and other engineering teams to align on goals and priorities.
- Communication: Excellent written and verbal communication, able to explain complex technical concepts to both technical and non-technical audiences.
- Practical experience: At least 1 year of hands-on experience working with Apache Kafka in a production or near-production environment.
- Producers & consumers: Experience designing and implementing Kafka producers and consumers, including topic and partition design.
- Event-driven design: Understanding of event-driven architecture patterns, message ordering, delivery guarantees, and schema management.
- Reliability: Familiarity with handling failure scenarios such as retries, dead-letter queues, and consumer lag monitoring.
- Experience with asynchronous task queues (e.g. Celery, RQ) and caching layers (e.g. Redis).
- Exposure to microservices architecture and service-to-service communication patterns.
- Familiarity with CI/CD tooling (e.g. GitHub Actions, GitLab CI, Jenkins).
- Contributions to open-source projects or an active engineering community presence.
- Experience working in Agile / Scrum environments.
- A pragmatic, ownership-driven mindset and a bias toward delivering value.
- Strong problem-solving skills and sound technical judgement under ambiguity.
- A collaborative attitude and genuine investment in the growth of your teammates.
- Commitment to quality, security, and continuous improvement.