Software Developer - C# .Net WPF
Job Title: Software Developer – Diagnostic Systems
Department: Research & Development – Diagnostics
Location: Vapi, Gujarat
Reports To: Software Lead / R&D Manager
Experience: 0–2 Years
Job Purpose:
To support the design, development, testing, and maintenance of software applications for advanced in-vitro diagnostic (IVD) systems, including automated clinical chemistry and immunoassay analyzers. The role involves developing Windows-based applications using C#, .NET, and WPF, along with Python-based utilities for data processing, testing, and automation, ensuring reliable system performance, usability, and software quality in line with medical device development practices.
Key Responsibilities:
1. Software Development & R&D Support
- Develop, enhance, and maintain diagnostic instrument software applications using C#, .NET, and WPF.
- Design and implement user interfaces using WPF and XAML for instrument operation, system monitoring, configuration, alarms, and result visualization.
- Support the development of application logic, data validation, workflow management, and reporting functionalities.
- Assist in implementing modular, maintainable, and reusable software components.
- Participate in software debugging, troubleshooting, performance improvement, and feature enhancement activities.
2. Diagnostic Instrument Integration
- Support software development for automated clinical chemistry and immunoassay diagnostic systems.
- Assist in implementing software workflows for sample handling, test selection, calibration, quality control (QC), and diagnostic result management.
- Work with hardware, electronics, firmware, and mechanical engineering teams to support software-hardware integration.
- Assist in communication between software applications and instrument subsystems, sensors, actuators, barcode scanners, and other peripherals.
- Support communication interfaces such as serial communication and TCP/IP, as required for instrument integration.
3. Python Development & Data Processing
- Develop Python scripts and utilities for test automation, data processing, log analysis, and engineering support activities.
- Assist in analyzing instrument data, identifying software issues, and supporting root-cause investigations.
- Develop utilities to simplify repetitive testing, validation, and troubleshooting activities.
- Support data exchange and integration using formats such as JSON, XML, and CSV.
4. Software Testing & Quality Assurance
- Perform unit testing, integration testing, debugging, and regression testing of software modules.
- Prepare and execute test cases to verify software functionality, reliability, and performance.
- Document software defects, test results, troubleshooting activities, and corrective actions.
- Follow software development lifecycle (SDLC) practices, coding standards, version control, and code review processes.
- Support compliance with applicable medical device software development and risk management practices, including IEC 62304 and ISO 14971, under the guidance of senior engineers.
5. Database & System Integration
- Assist in developing and maintaining database functionalities using SQL Server, SQLite, or other relevant relational databases.
- Support data storage and retrieval for instrument configurations, sample information, test results, and system logs.
- Assist in application programming interface (API) development and integration with external systems.
- Support integration with Laboratory Information Systems (LIS) and related laboratory data exchange interfaces, where applicable.
- Maintain data integrity, appropriate error handling, and reliable application performance.
6. Innovation & Continuous Learning
- Contribute to R&D initiatives focused on diagnostic automation, instrument intelligence, and next-generation laboratory technologies.
- Stay updated on software engineering practices, desktop application development, and diagnostic instrumentation technologies.
- Participate in feasibility studies, prototype development, and proof-of-concept activities.
- Continuously improve technical skills through hands-on development, code reviews, and mentoring from senior engineers.
Qualifications and Experience:
- B.E. / B.Tech in Computer Engineering, Computer Science, Information Technology, Electronics Engineering, or a related discipline.
- M.C.A. / M.Sc. Computer Science or an equivalent relevant qualification may also be considered.
- Fresh graduates or candidates with up to 2 years of relevant software development experience.
- Strong fundamentals in C#, .NET, WPF, and Python.
- Academic projects, internships, or practical exposure to desktop application development are preferred.
- Exposure to medical devices, biomedical instrumentation, laboratory automation, or diagnostic systems will be an added advantage.
Skills and Competencies:
- Basic to intermediate programming knowledge in C# and .NET.
- Understanding of WPF, XAML, object-oriented programming (OOP), and desktop application development.
- Working knowledge of Python for scripting, data processing, and automation.
- Understanding of data structures, algorithms, exception handling, and debugging techniques.
- Basic knowledge of SQL databases and data management.
- Familiarity with Git or other version control tools.
- Awareness of multithreading, asynchronous programming, and software-hardware communication is preferred.
- Strong analytical thinking, problem-solving, and attention to detail.
- Good verbal and written communication skills.
- Ability to work collaboratively with multidisciplinary R&D teams.
- Willingness to learn medical device software standards, diagnostic workflows, and regulated product development practices.
Key Performance Indicators (KPIs):
- Quality, readability, and maintainability of software code developed.
- Timely completion of assigned software development tasks and R&D milestones.
- Effectiveness in debugging, troubleshooting, and resolving software defects.
- Quality and coverage of unit tests, integration tests, and validation activities.
- Reliability of software modules and successful integration with diagnostic instrument subsystems.
- Accuracy and completeness of technical documentation and test reports.
- Contribution to software quality, product improvements, and continuous innovation initiatives.