SENIOR SOFTWARE ENGINEER

Job Description

We seek individuals interested in digital health and medical technology who are dynamic and eager to apply and learn new skills in developing a novel continuous blood pressure measurement device. As a Sr. Software and Algorithms Engineer, you will be both hands-on and play a crucial technical leadership role in the design, and development of our medical device.

Key Responsibilities

  • Develop and implement software algorithms for a new-to-world continuous non-invasive blood pressure (BP) system.

  • Deploy advanced signal processing techniques for physiologically based image signals and other sensor (pressure and IMU) signals.

  • Analyze and optimize algorithm performance to run real-time in a C/C++ production environment.

  • Participate in the development and review of software requirements and specifications.

  • Ensure that software designs meet FDA/CE regulatory requirements and quality standards.

  • Develop and maintain software documentation throughout the software lifecycle including software requirements documents, design specifications, and test protocols.

  • Support software verification and validation activities.

  • Apply best coding and quality control standards for medical device algorithm and software development.

  • Participate in and supporting clinical data collection in hospital and in outpatient settings.

  • Support the development of cloud-based software solutions, integrating cloud services with on-premises systems, and monitoring and optimizing cloud-based systems for performance, scalability, and cybersecurity.

Seniority Level

Mid- Senior level

Employment Type

Full-time (In-person)

Location

Bangalore, India

Education Required:

Bachelor’s or Master’s degree in the area of Electrical Engineering, Computer Science, Biomedical Engineering, or related field with 3+ years of experience developing real-time software.

Years of Experience

3+ years of experience in software and algorithms development for medical devices.

Required Qualifications:

  • Strong programming skills in C++, Design Patterns, and Python.

  • Experience with software development tools such as GitHub, JIRA, and Agile methodologies.

  • Proven proficiency in Linux, including command line expertise, system administration, troubleshooting, and development in Linux environments. Candidate should have a track record of leveraging Linux to deliver effective solutions.

  • Knowledge of signal processing, machine learning, and/or image processing algorithms.

  • Experience with signal/image processing toolboxes and/or OpenCV, GStreamer, NumPy, SciPy, Pandas, Matplotlib.

  • Experience in motor control systems, including design, implementation, and optimization of motor drivers and controllers for precise and efficient operation.

  • Experience in troubleshooting electronic hardware and integrating software with hardware components. Have a good understanding of hardware interfaces such as USB, UART, I2C, SPI, and Ethernet, and be able to read and interpret schematics, datasheets, and other technical documentation related to hardware.

  • Good written and verbal communication skills.

  • Ability to work in a fast-paced and start-up team environment.

  • Self-motivated with strong problem-solving skills.

Additional Beneficial Attributes:

  • Hands-on experience with the acquisition and processing of physiological signals.

  • Experience developing software on commercial RTOS.

  • Good understanding of microprocessors, microcontrollers, and bare metal programming.

  • Experience with wireless communication protocols such as Bluetooth, Wi-Fi, Zigbee, and 802.15.4.

  • Experience developing software test protocols for medical devices or other regulated industries.

  • Experience working with medical image datasets.

  • Familiarity with continuous blood pressure data processing.

  • Familiarity with regulatory requirements for medical devices (e.g., FDA, IEC, ISO)

Benefits

  • Dental insurance

  • Health insurance

  • Paid holidays and vacation