Senior Software Engineer - Embedded C++ 11/14/17, communication systems/protocols,OS principles ,Python scripting
Careers that Change Lives
The Senior Software Engineer will be responsible for software design and development activities of complex electro-mechanical medical devices.The engineer will be a part of a small but a highly professional and geographically distributed Software team.
A Day in the Life
- Work with global R&D teams to develop software for new and existing medical device products.
- Software design and development of embedded real-time systems, including the development of Software Unit Test & Integration plans and protocols.
- Participates in reviews, code inspections and will support the development of documentation required for FDA device approval.
- Work effectively within a geographically dispersed and cross-functional teams during all phases of the product development process.
- Develop test automation framework and test scripts.
- Must be responsive, flexible, self-motivated and able to succeed within an open collaborative peer environment.
- Is highly effective, agile and thrives in a dynamic environment with multiple, changing priorities.
- Is comfortable with proactive outward communication and never shies away from a challenge.
- Be Agile and effectively navigate through changing project priorities.
- Mentor, guide and train other engineers
Must Have
- A bachelor’s degree in computer science, Electrical, Electronics / equivalent from reputed institution.
- 4 to 12 years’ experience in Embedded Software development with at least four (4) years’ experience in the Medical device/Medical IT or regulated industry.
- Expertise in modern C++ (C++ 11 and above) software design & coding required in Embedded development environment.
- Expertise of Object-Oriented Analysis & Design (OOAD) and familiarity with UML is strongly desired.
- Know-how in field-bus technology (EtherCAT preferred) and standard embedded communication protocols (DDS, SPI, I2C, AXI, UART, etc.)
- Desired experience with RTOS like Linux/WinCE/ThreadX etc with multi-threading, IPC knowledge.
- Experience in hardware/software interfacing and design issues. Analyze unexpected, undesirable, or non-understood behavior in software and in interactions of software with hardware.
- Experience working in a structured software development environment following a well-defined software development process like Agile / Lean.
- Experience with software risk analysis (per ISO 14971) including software failure mode and effects analysis (FMEA).
- Strong analytical skills and ability to multi-task.
- Superior written and verbal communication skills required.
- Strong interpersonal, presentation, and organizational skills.
- Awareness of Medical Device standards IEC 60601-1, IEC 62304, ISO 13485, ISO 14971 and applicable FDA standards