Brian Dolan, Developer in Cambridge, MA, United States
Brian is available for hire
Hire Brian

Brian Dolan

Verified Expert  in Engineering

IEC 62304 Developer

Location
Cambridge, MA, United States
Toptal Member Since
September 17, 2020

Brian is a versatile and experienced software engineer seeking interesting technical challenges. His professional experience includes software architecture for medical devices, international team leadership, embedded systems, and C/C++. Outside of the office, his experience and interests include machine learning, robotics, and real-time 3D graphics.

Portfolio

Draeger Medical, Inc.
XML, JSON, Qt, Protobuf, Team Leadership, Software Architecture...
Draeger Medical, Inc.
QNX, IBM Rational ClearCase, System Architecture...
Draeger Medical, Inc.
C++, HTML, JavaScript, SQL, ASP.NET, Unit Testing, C#, System Architecture

Experience

Availability

Part-time

Preferred Environment

Embedded Systems, Git, C++, Windows

The most amazing...

...role I have played was serving as the software architect for a large international team of engineers on a patient monitor project.

Work Experience

Senior Staff Software Engineer

2016 - 2020
Draeger 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++, C

Staff Software Engineer

2010 - 2016
Draeger 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, IBM Rational ClearCase, System Architecture, Behavior-driven Development (BDD), MagicDraw, UML, Requirements, DOORS, Confluence, ThreadX, VxWorks, Bitbucket, C++, Git, IEC 62304, Software Architecture

Senior Software Engineer

2007 - 2010
Draeger 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 Architecture

Software Engineer II

2004 - 2007
Draeger 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 Classes (MFC), Microsoft Foundation Class (MFC) Library, Ajax, C++, SQL, HTML, C#, ASP.NET, Active Server Pages (ASP), JavaScript

Walls3duino

https://github.com/jiganerd/walls3duino
A demonstration of 3D rendering on the Arduino platform. This was a personal project that involved working within the limitations of an embedded system and multi-platform support.

Languages

C, C++, UML, Python, JavaScript, Active Server Pages (ASP), C#, HTML, SQL, XML

Tools

Bitbucket, Make, Jenkins, Confluence, Git, Jira, DOORS, IBM Rational ClearCase, MagicDraw, CMake, GitLab, GitLab CI/CD

Platforms

VxWorks, Windows, ThreadX, Arduino

Other

Medical Devices, Embedded Systems, Software Engineering, Team Leadership, IEC 62304, Embedded Hardware, System Testing, USB, Requirements, Software Architecture, System Architecture, Electrical Engineering, Robotics, Engineering, Systems Engineering, FreeRTOS, Machine Learning, Ajax, COM, QNX, TCP/IP, Non-blocking I/O

Frameworks

Google Test, ASP.NET, Qt

Paradigms

Scrum, Unit Testing, Continuous Integration (CI), Cross-platform, Behavior-driven Development (BDD)

Libraries/APIs

Protobuf, Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC)

Industry Expertise

Project Management

Storage

JSON

2000 - 2004

Bachelor's Degree in Computer Systems Engineering

Boston University - Boston, MA

MARCH 2020 - PRESENT

Machine Learning

Coursera

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring