C++ Software Engineer
IGRS - IIT Madras
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
Selection process
Details are shared by the recruiter after shortlisting.
Prep kit
20 resourcesStudy material 4
Company-specific guides 4
Likely coding questions 4
Round-wise strategy 4
Technical questions 5
What is the difference between WHERE and HAVING clauses in SQL? Answer
Explain SQL Window functions: ROW_NUMBER(), RANK(), and DENSE_RANK(). Answer
How do you handle NULL and missing values during data cleaning in Python/Pandas? Answer
What is the difference between Star Schema and Snowflake Schema in Data Warehousing? Answer
How do you calculate MoM (Month-over-Month) growth in SQL? Answer
Behavioural & HR questions 3
Highlight IGRS - IIT Madras's market reputation, recent tech innovations, and how your skills in CI/CD directly solve their team's objectives.
Use the STAR method: Situation (project context), Task (what needed solving), Action (specific tools/logic applied), Result (quantifiable positive outcome).
Explain your prioritization strategy, proactive communication with mentors/peers, and agile mindset.