PARAM Healthcare

Careers at Param Healthcare

Open roles: Software Development Intern (landing-page exercise) and Full Stack Developer (duty doctor roster scheduler). Each role has its own timed take-home after you apply.

Full-time roles

Full stack applicants receive the Duty Doctor Roster take-home — a constraint-based scheduling build. Apply below for your Test ID and task link.

Full Stack Developer (Node.js + React.js)

2–5 years experience • Full-time • Bagalkot, Karnataka (1st preference) — remote also works

About the Role

We're looking for a backend-leaning full stack developer who is strong in Node.js and comfortable working across the stack with React.js. This role is not for someone who just wires APIs — you'll be working on real systems involving queues, real-time updates, optimization services, and production-grade infrastructure.

Tech Stack (What You’ll Work With)

Backend

  • Node.js + Express (TypeScript)
  • Microsoft SQL Server (raw SQL, migrations, seed scripts)
  • Socket.IO (real-time systems)
  • BullMQ + Redis (background jobs & queues)

Frontend

  • React.js (modern hooks-based architecture)

Microservices / Advanced

  • Python (FastAPI, Uvicorn)
  • OR-Tools (optimization logic)
  • pandas (data processing)

Infrastructure & DevOps

  • Docker, docker-compose
  • Traefik (routing)

Storage & Media

  • AWS S3
  • multer, sharp, ffmpeg

Auth & Security

  • JWT, bcrypt
  • RBAC using Casbin
  • zod validation
  • helmet, cors

Observability

  • Sentry
  • winston, morgan

Testing & Tooling

  • Jest, Supertest
  • ESLint, Prettier
  • pytest (Python side)

Key Responsibilities

  • Build and maintain scalable backend APIs using Node.js and TypeScript
  • Design and write efficient SQL queries (no heavy ORM reliance)
  • Develop real-time features using Socket.IO
  • Implement and manage background jobs and queues using BullMQ
  • Integrate with Python-based services for optimization and processing
  • Work on React.js frontend for dashboards and internal tools
  • Handle file uploads, media processing, and S3 integrations
  • Ensure security, performance, and reliability of applications
  • Write clean, testable code with proper logging and monitoring

Required Skills

  • Strong experience with Node.js + Express + TypeScript
  • Solid understanding of SQL (Microsoft SQL Server preferred)
  • Experience with REST APIs and system design
  • Hands-on with React.js (hooks, state management)
  • Familiarity with Redis / queues (BullMQ or similar)
  • Experience with Docker-based development
  • Understanding of authentication, RBAC, and API security
  • Good debugging and problem-solving skills

AI Tooling Requirement (Important)

You must have hands-on experience using AI coding tools in daily development workflows, such as tools like Cursor, Claude Code, OpenAI Codex, Antigravity, GitHub Copilot, etc.

Using AI for:

  • Code generation & refactoring
  • Debugging and root-cause analysis
  • Writing tests
  • Understanding large codebases
  • Automating repetitive engineering tasks

Different tools serve different purposes: Cursor, Claude Code / Codex, Antigravity. We expect candidates to know how to leverage these tools effectively, not just "have tried them once."

Good to Have (Bonus Skills)

  • Experience with Socket.IO / real-time systems
  • Exposure to Python (FastAPI, data processing, optimization tools)
  • Experience with Traefik or reverse proxies
  • Knowledge of media processing (ffmpeg, sharp)
  • Experience with Sentry or production monitoring tools

What We’re Looking For

  • Someone who is backend strong first, frontend capable second
  • Comfortable working in a fast-moving, ownership-driven environment
  • Can think in systems, not just features
  • Writes clean, maintainable, and scalable code

Take-home assignment: Duty Doctor Roster

After you apply, you will receive a link to build a monthly duty doctor roster — Node.js API, React UI, and Supabase — with scheduling constraints, seeded leaves, a persisted real roster, and per-day manual overrides. No AI APIs in the running app (AI coding tools OK while building).

Staff in the spec use fictional names (e.g. Dr. Meera Kapoor, Dr. Rohan Khanna). Read the full requirements before you start:

View full task specification →
Inline task summary (full spec on linked page)

Build a monthly duty doctor roster scheduler for a hospital emergency department. Staff names below are fictional — use them exactly as written in your seed data and UI.

1. Shift structure

ShiftTimingEligibilityMin doctors
Morning Shift8:00 AM – 2:00 PMAny doctor1
Day Shift10:00 AM – 6:00 PMAny doctor1
OBGYN Shift10:00 AM – 6:00 PMFemale doctors only1
Afternoon Shift2:00 PM – 8:00 PMAny doctor1
Night Shift8:00 PM – 8:00 AMAny doctor1

Additional rule: Any doctor who remains unassigned after mandatory shift allocation should be assigned to the Day Shift.

2. Doctor master rules

Dr. Meera Kapoor

  • Allowed shifts: All shifts
  • Weekly off: Wednesday
  • Notes: Subject to post-night recovery rule

Dr. Rohan Khanna

  • Allowed shifts: 4 Night shifts/week (Mon–Thu), 1 Morning/week, 1 Afternoon/week
  • Weekly off: Friday
  • Notes: Exempt from post-night recovery rule; consecutive nights allowed

Dr. Aditya Nair

  • Allowed shifts: All shifts
  • Weekly off: Thursday
  • Notes: Subject to post-night recovery rule

Dr. Priya Sharma

  • Allowed shifts: All shifts
  • Weekly off: Tuesday
  • Notes: Subject to post-night recovery rule

Dr. Imran Siddiqui

  • Allowed shifts: Day Shift only; max 2 Night shifts/month
  • Weekly off: Sunday
  • Notes: Subject to post-night recovery rule

Dr. Kavya Menon

  • Allowed shifts: All shifts
  • Weekly off: Saturday
  • Notes: Subject to post-night recovery rule

3. General scheduling rules

  • Generate the roster monthly.
  • A doctor can work only one shift per day.
  • A doctor can work a maximum of six shifts per week.
  • Weekly offs are mandatory and cannot be overridden.
  • Approved leave blocks all shift assignment for that doctor on that date.

3a. Seed leave data (June 2026)

Seed the roster with 4 approved leave days on the dates below. These doctors must be treated as unavailable on their leave date (same as weekly off). Do not assign any shift to them on these days.

DoctorLeave dateISO date
Dr. Meera KapoorFriday, 5 June 20262026-06-05
Dr. Aditya NairFriday, 12 June 20262026-06-12
Dr. Priya SharmaFriday, 19 June 20262026-06-19
Dr. Kavya MenonTuesday, 23 June 20262026-06-23

Your UI should display these leaves on the calendar. Admins may add more leave days later; generation must re-run with updated availability.

4. OBGYN shift rules

Eligible: Dr. Meera Kapoor, Dr. Priya Sharma, Dr. Kavya Menon

Not eligible: Dr. Rohan Khanna, Dr. Aditya Nair, Dr. Imran Siddiqui

Distribute OBGYN duties equally among eligible female doctors.

5. Night shift rules

Dr. Rohan Khanna

  • Must work 4 Night shifts every week (Monday–Thursday only).
  • Must also receive 1 Morning shift and 1 Afternoon shift per week.
  • Not subject to post-night recovery restrictions.

Dr. Imran Siddiqui

  • Maximum 2 Night shifts per month.
  • All remaining duties should be Day Shifts.

Remaining night shifts

Distribute equally among: Dr. Meera Kapoor, Dr. Aditya Nair, Dr. Priya Sharma, Dr. Kavya Menon.

6. Post-night recovery rule

Applies to everyone except Dr. Rohan Khanna. After a Night Shift, the next working day can only be an Afternoon Shift or an off day. Morning, Day, and OBGYN shifts are not allowed the day after a night.

7. Consecutive night shift rule

Consecutive Night shifts are not allowed for any doctor except Dr. Rohan Khanna.

8–9. Workload limits & scheduling priority

Maximum 1 shift per day and 6 shifts per week for every doctor.

Apply constraints in this order:

  1. 1. Gender restrictions
  2. 2. Weekly offs
  3. 3. Approved leave days
  4. 4. One shift per day rule
  5. 5. Maximum 6 shifts per week
  6. 6. Fixed Night shift allocation for Dr. Rohan Khanna
  7. 7. Dr. Imran Siddiqui’s restrictions
  8. 8. Post-night recovery rule
  9. 9. No consecutive Night shifts
  10. 10. Equal Night shift distribution
  11. 11. Equal OBGYN duty distribution
  12. 12. Assign remaining available doctors to the Day Shift

10. Preferred recovery pattern

  • Day 1: Night Shift
  • Day 2: Afternoon Shift or off
  • Day 3: Resume normal eligible duties

11. Operational constraints

Expect difficult scheduling around weekends, female-only OBGYN coverage, and recovery windows — especially Fridays through Sundays.

12–15. Reduced staffing rules

  • If 2 doctors are unavailable → remove OBGYN Shift (keep Morning, Day, Afternoon, Night).
  • If 3 doctors are unavailable → remove OBGYN and Day Shifts (keep Morning, Afternoon, Night).
  • Unavailable = weekly off, leave, recovery block, ineligible shift, weekly limit reached, same-day conflict, or consecutive-night block.
  • When removing shifts, retain in order: Night Shift → Morning Shift → Afternoon Shift → Day Shift → OBGYN Shift.

16. Technical requirements

  • Use Node.js packages only on the backend (npm). No Python microservices or OR-Tools for this take-home.
  • Use raw SQL queries against Supabase/PostgreSQL — no ORM tools (no Prisma, Drizzle, TypeORM, Sequelize, etc.).
  • Do not integrate AI/LLM APIs into the roster app (no OpenAI, Claude, Gemini, etc. at runtime).
  • AI-assisted coding tools (Cursor, Copilot, etc.) are permitted while building — the submitted app must not call AI services.
  • Persist all roster data in Supabase (PostgreSQL). Provide your schema SQL and seed scripts.
  • Generate a real monthly roster stored in the database — not hard-coded JSON or a mock-only UI.
  • Frontend must be editable: admins can manually assign, change, or clear any doctor on any shift for any day.
  • Manual overrides must be saved to Supabase and survive page refresh (set is_manual_override / source=manual).
  • Re-generation must not silently overwrite manual overrides unless the user explicitly chooses to reset that day or month.

Supabase database

Use Supabase as the database. Start from the reference schema (doctors, shift types, monthly rosters, assignments with manual-override flags, and leaves). Run it in your Supabase project and commit the SQL in your repo at supabase/duty-doctor-roster-schema.sql.

Download reference schema (.sql) →

17. What to build

  • Node.js + TypeScript API using raw SQL (no ORM) that generates a valid monthly roster and writes rows to Supabase.
  • Supabase schema + seed data (doctors, shifts, 4 leave days) — extend the reference schema as needed.
  • React UI: month calendar/grid showing the real persisted roster.
  • Per-day, per-shift editing: change doctor, clear slot, or mark shift inactive (reduced staffing).
  • Manual overrides saved immediately to Supabase; show visual indicator for overridden cells.
  • “Generate roster” action for a month; warn before overwriting non-manual assignments.
  • Validation toasts/errors when a manual pick breaks scheduling rules (optional override with note).
  • No AI/LLM runtime integration in the submitted application.
  • README: setup, env vars, algorithm, and how manual overrides interact with re-generation.
  • Deploy (Vercel + Supabase) with a public GitHub repo.

Submission

Apply on the careers page under Full Stack Developer. You will receive a Test ID and 24-hour deadline. Submit your repo and deployment link via the submission form.

Duty Doctor Roster take-home, Test ID, and submission flow. Your application is tagged with this role for our hiring pipeline.

Intern program (test-based hiring)

We assign a timed landing-page replication exercise after you apply. Rules and timeline below apply once you have a Test ID.

Software Development Intern

Internship • India

Join our team and work on cutting-edge healthcare technology solutions. This role offers hands-on experience with modern web development practices and AI-assisted development workflows.

Why test-based hiring?

We use this workflow to evaluate real-world AI-assisted front-end delivery skills, especially:

  • Prompting skills — How well you use AI to replicate UI/UX
  • Fast delivery — Ability to deliver under time constraints (24h)
  • Responsiveness approach — Mobile-first thinking
  • Multilingual strategy — Internationalization approach
  • State management decisions — Architecture choices
  • Dynamic fonts handling — Typography strategy
  • Code structure and cleanliness — Maintainability
  • Commit discipline — How many commits, clarity of history

The task rules

  1. 1.Submit within 24 hoursYou'll receive a deadline when you apply
  2. 2.Build only landing pageNo interior pages needed
  3. 3.All dropdowns must workUI behavior is important
  4. 4.Must be multilingualSupport multiple languages
  5. 5.Must handle responsivenessMobile-first approach
  6. 6.No API integration neededFocus on UI/UX
  7. 7.Push to public GitHub repoWe'll review your code
  8. 8.Deploy to VercelShare your live deployment
  9. 9.Explain your approachState management, fonts, structure, commits

How this test works

1

Apply

Fill out the application form

2

Receive Test ID

Get your unique Test ID + task via email

3

Build

Rebuild the assigned landing page

4

Submit

Submit your repo + deployed link

Application

Intern applicants get the landing-page task; full stack applicants get the Duty Doctor Roster build. Use Apply — intern or Apply — full stack above to open the form with the right role, or expand it below.

Submit your take-home

After you build the assigned landing page, use Submit task above to jump here with the form open, or expand it below.