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

C++ Software Engineer

IGRS - IIT Madras

  • Chennai, India
  • Competitive Package
  • Fresher (0-1 Yrs)
  • Posted Yesterday
HR
Recruiter contact
Recruiter / hiring contact
No public email in this post. Use a source-linked contact instead.

About the role

Software Engineer (C++) – Surgical Navigation Platform

IGRS, HTIC, IIT Madras | On-site, IIT Madras Campus, Chennai

The Image Guided Robotic Systems (IGRS) group is a division of the Healthcare Technology Innovation Centre (HTIC) at IIT Madras. We design and build complete surgical navigation systems, from hardware integration and real-time software to clinical workflows, to make precision surgery more accessible and affordable. We are looking for a C++ engineer to join our team and take ownership of a core software component of our navigation platform.

What you will do

  • Take ownership of an existing C++ server-client codebase and become its primary maintainer
  • Investigate, debug and fix issues across the server and client components
  • Maintain and extend client SDKs on Windows, Linux and macOS
  • Work on low-latency, bidirectional communication between the server and client applications over UDP
  • Integrate third-party hardware SDKs into the software pipeline
  • Design and implement new features as the platform evolves, keeping the code simple and readable
  • Maintain the CMake build system and the CI/CD pipeline that produces releases for each operating system
  • Write clear documentation and tests, and contribute to software documentation for medical device development as the product moves toward regulatory processes
  • Work closely with the algorithm, hardware and clinical teams to understand requirements and deliver reliable software

What we are looking for

  • Strong working knowledge of C++ and object-oriented design
  • Hands-on experience with multithreading and synchronization (threads, mutexes, condition variables)
  • Experience with socket programming, preferably UDP, including serialization, timeouts and handling packet loss
  • Comfort reading, understanding and improving code written by others
  • Familiarity with cross-platform development on Windows, Linux and macOS
  • Experience with CMake and Git
  • A methodical approach to debugging, using tools such as debuggers, logs and profilers
  • A preference for clean, simple code over clever code

Good to have

  • Exposure to image processing or computer vision libraries such as OpenCV
  • Experience with CI/CD pipelines (e.g., GitHub Actions, GitLab CI, Jenkins)
  • Experience building or maintaining libraries or SDKs used by other developers
  • Familiarity with real-time or performance-sensitive systems
  • Awareness of medical device software standards such as IEC 62304 (not required; willingness to learn is enough)

What you will gain

  • Ownership of a critical software component in a surgical navigation system
  • Opportunity to grow into 3D geometry, imaging and sensor modelling over time
  • Exposure to the full lifecycle of medical device software, including regulatory practices
  • Work in a multidisciplinary team at the intersection of engineering and clinical practice at IIT Madras

Experience: Open to all experience levels. The designation will depend on the candidate’s experience.

Location: On-site, IIT Madras Campus, Chennai

Eligibility & process

Who can apply

Seniority: Entry level. Employment type: Full-time

Skills & stack

CI/CD Git Linux Data Structures & Algorithms Python/Java System Design SQL REST APIs

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 (CI/CD, Git, Linux, Data Structures & Algorithms, Python/Java, System Design, SQL, REST APIs) & 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 IGRS - IIT Madras 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 IGRS - IIT Madras as a C++ Software Engineer?
Highlight IGRS - IIT Madras's market reputation, recent tech innovations, and how your skills in CI/CD 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.
IGRS - IIT Madras Competitive Package
Recruiter Resume Apply
Chat Chat with Kashii