Title : Principal Software Engineer
Location : San Carlos, CA
Duration : Full time
- Leads Design, Development, Integration, and Testing of System Software Applications and Projects.
- Leads Platform Software Requirements Definition and Design Reviews.
- Leads receives, and provides continuous code reviews in peer-reviewed source code management platforms using web-hosted repositories.
- Coaches junior software engineers and code contributors from other teams.
- Responsible for developing and documenting complex Windows applications embedded in state-of-the-art diagnostic bronchoscopy devices.
These devices incorporate multiple real-time and non-real-time components and provide a custom and feature-rich GUI.
- Provides technical leadership including software architecture, high-level design choices, technical standards, tools, and platforms.
- Develops and applies complex concepts and proposes new and unique approaches, methods, procedures, and designs with regular use of ingenuity, creativity, and originality in researching technical issues.
- Designs and develops event-driven state machine-based software modules interfacing with a distributed multi-platform system.
- Works and collaborates multi-functionally with product, systems, mechanical, and clinical engineers in person and remotely to design and develop robust applications for the Galaxy platform.
- I'd like to point out that it's an outstanding communication of technical and project-level issues as they arise to support the needs of the entire Galaxy team.
- I have other duties assigned to you.
About You :
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or equivalent.
- Proficient in the development of medical device software in an FDA-regulated environment.
- Technical software project leadership experience (2+ years).
- Strong background and experience (10+ years) in building robust C# &.NET. applications interfacing with distributed multi-platform software systems (C++, QNX, Linux).
- Object Oriented Programming experience - design and development.
- Extensive Graphical User Interface development and customization using Windows Presentation Foundation (WPF), and Model-View-ViewModel (MVVM) pattern.
- Extensive experience with multi-threading and interprocess communication.
- Experience with C++ / C# interoperability.
- Experience with TCP / IP networking.
- Familiar with Git-based VCS and CD / CI pipelines.
- Strong understanding of asynchronous, event-driven state-machine design and event-driven architectures, preferably in medical devices.
- Excellent written and oral English communication skills are required.
Preferred Skills :
- Knowledge of CFR 820.30 Design Controls, ISO 14971, IEC 62304.
- Experience with the Product Development cycle, Integration, Verification, Validation, Regulatory, and Quality systems.
- Development GUI and component development using WPF and MVVM with Caliburn Micro framework.
- Knowledge of Entity Framework / ADO.NET with Microsoft SQL DB.
- Familiarity with Helix Toolkit - 3D viewports layout and navigation.
- SWIG
- Using DDS standard - RTI.
- Experience with embedded and real-time systems is a plus.
- Experience with Graphics Rendering (DirectX, OpenGL, etc) is a plus.
- Experience with Real-Time Systems is a plus.
30+ days ago