KASHII UPDATEZ Everyday Student Requirements & Python Coding Tutorials by Python Kashi
L #2493
Applications open Full-Time Job

Backend Developer (Python and Django)

Ditto Insurance

  • Bengaluru, India
  • Competitive Package
  • 2-8 Years
  • Posted Yesterday
HR
Recruiter contact
Recruiter / hiring contact
No public email in this post. Use a source-linked contact instead.

About the role

What's Ditto?

Ditto’s mission is to help people make well-informed insurance decisions - from expert advisory and policy purchases to dedicated claim support. We pioneered the industry-first “No-spam” policy, and over the past five years, we’ve assisted over 700,000 users with personalised advice on health and term insurance. We carry a 4.9 rating with 32,000+ reviews on Google.

Ditto is part of the Finshots family (500K+ subscribers) and is backed by Zerodha, India’s largest stockbroker. We won LinkedIn’s Top Startup award in both 2022 and 2023.

Responsibilities

  • Architect and build end-to-end backend services and APIs.
  • Integrate with external systems such as insurers, payment gateways, and other partners.
  • Ensure high observability, performance, and reliability across systems.
  • Write clean, reusable, and maintainable code with a focus on scalability.
  • Implement comprehensive test coverage and maintain code quality.
  • Manage database design, migrations, scripting, and administration.

Experience & Skills

  • 2-8 years of experience in backend development.
  • Hands-on experience with low-level & high-level system design.
  • Proven experience building scalable, secure backend systems (APIs, middleware, caching).
  • Proficiency in Python, Django, Django REST Framework (DRF), PostgreSQL, Redis, Celery, and basic HTML/CSS.
  • Experience developing RESTful APIs.
  • Familiarity with AWS or other major cloud platforms is a plus.
  • Strong sense of ownership, problem-solving ability, and leadership qualities.

Perks

  • Comprehensive health and term insurance
  • ESOPs
  • Compensation as per industry standards

Our Interview Process

We value your time and aim to complete the process within 3 weeks, consisting of the following stages:

The schedule is as follows

  • HR Introductory Round
  • Tech-Connect Round
  • Live Coding Round 1 - online
  • Live Coding Round 2 -(in office)
  • Founders round

This is an in-office role. Our address is: Fortuna-1, No 680, 15th Cross, J.P Nagar 2nd phase, J P Nagar, Bangalore, Bangalore South - 560078, Karnataka, India

Please Note: Beware of recruitment scams. Ditto does not charge any fees at any stage of the hiring process. If you receive any suspicious message claiming to be from Ditto, please verify through our official channels.

Eligibility & process

Who can apply

Seniority: Mid-Senior level. Employment type: Full-time

Skills & stack

Python HTML5 CSS3 Django REST APIs PostgreSQL Redis AWS

Selection process

Details are shared by the recruiter after shortlisting.

Prep kit

20 resources
Study material 4
Company-specific guides 4
Likely coding questions 4
Round-wise strategy 4
Round 1: Online Assessment (OA) Aptitude, Quantitative Logic & 2 Coding Problems Focus on accuracy and speed. Practice arrays, strings, and standard arithmetic puzzles.
Round 2: Technical Interview 1 Core Tech Stack (Python, HTML5, CSS3, Django, REST APIs, PostgreSQL, Redis, AWS) & Live Code Tracing Explain your thought process aloud. Analyze time & space complexities before coding.
Round 3: System Design & Problem Solving Database Schemas, APIs & Architecture Basics Clarify edge cases, diagram schemas cleanly, and discuss scalability trade-offs.
Round 4: HR & Cultural Fit Discussion Ditto Insurance Core Values, Learning Agility & Offer Terms Demonstrate passion, strong communication, and readiness for full-time collaboration.
Technical questions 5
What is the difference between WHERE and HAVING clauses in SQL? Answer
Model answer: WHERE filters rows before any groupings are applied, while HAVING filters aggregated groups after GROUP BY has executed.
Explain SQL Window functions: ROW_NUMBER(), RANK(), and DENSE_RANK(). Answer
Model answer: ROW_NUMBER() assigns unique sequential integers. RANK() assigns identical ranks to ties and skips ranks. DENSE_RANK() assigns identical ranks to ties without skipping rank numbers.
How do you handle NULL and missing values during data cleaning in Python/Pandas? Answer
Model answer: Use .isna().sum() to identify missing values. Impute with mean/median using .fillna() or remove with .dropna(subset=[...]) depending on variance impact.
What is the difference between Star Schema and Snowflake Schema in Data Warehousing? Answer
Model answer: Star Schema has denormalized dimension tables directly connected to the central Fact table. Snowflake Schema normalizes dimension tables into sub-dimensions to minimize redundancy.
How do you calculate MoM (Month-over-Month) growth in SQL? Answer
Model answer: Use LAG(revenue, 1) OVER (ORDER BY month) to fetch the previous month's revenue and compute (revenue - prev_revenue) / prev_revenue * 100.
Behavioural & HR questions 3
Why do you want to join Ditto Insurance as a Backend Developer (Python and Django)?
Highlight Ditto Insurance's market reputation, recent tech innovations, and how your skills in Python directly solve their team's objectives.
Describe a challenging bug or academic project roadblock and how you resolved it.
Use the STAR method: Situation (project context), Task (what needed solving), Action (specific tools/logic applied), Result (quantifiable positive outcome).
How do you handle strict deadlines or sudden scope changes?
Explain your prioritization strategy, proactive communication with mentors/peers, and agile mindset.
Ditto Insurance Competitive Package
Recruiter Resume Apply
Chat Chat with Kashii