Senior Staff Software Engineer
2016 - 2020Draeger Medical, Inc.- Led a team in the design and development of a semi-real-time software protocol, associated SDK and related outputs, and software framework to enable third parties and in-house smart sensor devices to interface with a proprietary patient monitor.
- Contributed to and owned technical designs for the overall protocol and library, time synchronization, secure boot (and associated workflow), software updates, and a framework for automated protocol conformance (and other) testing using Python.
- Contributed to and owned technical designs for a system for multi-platform runtime and development environment for smart sensor devices and systems for automated unit/integration/system tests.
- Initiated the codebase (application and kernel) and the development and build environment for the next-generation patient monitoring platform using experience and assets from the previous project.
- Designed and developed feasibility tests (software and hardware) for the feasibility of USB as a real-time and robust protocol layer (for our system context).
- Traveled or worked on-site with global third-party smart sensor manufacturers to “kick start” relationships and technical progress.
- Pushed for the consolidation of multiprocessor system architecture (successfully) and prototyped the feasibility of the merging of the software.
- Influenced choice of the main processor via GPU/CPU performance testing with intensive Qt Quick/QML GUI software simulation.
- Brought “up to speed” and oversaw a team of three external contractors building an in-house smart sensor device. Mentored new team members and three interns (consecutively).
Technologies: XML, JSON, Qt, Protobuf, Team Leadership, Software Architecture, Project Management, FreeRTOS, Continuous Integration (CI), Confluence, Requirements, DOORS, USB, VxWorks, Python, UML, MagicDraw, System Testing, Unit Testing, Google Test, Embedded Hardware, Medical Devices, IEC 62304, Jenkins, Make, Bitbucket, Jira, Scrum, Git, C++, CStaff Software Engineer
2010 - 2016Draeger Medical, Inc.- Led a team of approximately 35 software engineers across four sites (local, Shanghai, Russia, and Germany) as the software architect for a new patient monitor project.
- Created patient monitor software architecture involving integration strategies for new and legacy components, e.g. moving to a new hardware platform, new operating system, new Qt-based GUI, and integrating modern framework and field service modules.
- Designed IEC 62304 compliance strategy, including design document template/organizational structure and linkages to system/subsystem requirements.
- Led various local and remote patient monitoring embedded software teams (4-6 developers), including teams in Bangalore, India.
- Led technical review for new company-wide monitoring and ventilation/anesthesia system strategy, currently under development, through system architecture review process.
- Won an innovation award and filed a patent disclosure for patient data visualization prototype.
Technologies: QNX, ClearCase, System Architecture, Behavior-driven Development (BDD), MagicDraw, UML, Requirements, DOORS, Confluence, ThreadX, VxWorks, Bitbucket, C++, Git, IEC 62304, Software ArchitectureSenior Software Engineer
2007 - 2010Draeger Medical, Inc.- Initiated next-generation patient monitor codebase by migrating legacy build system and codebase from Sun/RCM to Windows/ClearCase.
- Designed and developed a subsystem and network protocol for collecting and documenting fluid intake data from infusion pumps.
- Filed patent disclosure for a system for scheduling patient medications and other nursing tasks in web-based charting application.
- Initiated and developed the project’s automated build and test infrastructure.
- Represented the software team at onsite hospital visits and clinical trials in Spain, Germany, and the UK. Helped bring customer feedback into the product, a web-based medical charting system with interfaces to the proprietary monitoring network.
Technologies: C++, HTML, JavaScript, SQL, ASP.NET, Unit Testing, C#, System ArchitectureSoftware Engineer II
2004 - 2007Draeger Medical, Inc.- Initiated a move from JavaScript/ASP to C#/ASP.NET/AJAX and created a common user interface framework to improve the existing infrastructure.
- Re-designed the main back-end service (C++) and added support for data collection from multiple monitoring devices per patient.
- Integrated Windows authentication for user logins, privilege management, etc.
Technologies: COM, Microsoft Foundation Class Library (MFC), Ajax, C++, SQL, HTML, C#, ASP.NET, ASP, JavaScript