Skip Navigation

Principal Software Engineer

Why Join ACIST?

We care as much about our employees as we do our patients. Our culture fosters a work environment where employees can thrive, be passionate and have fun along the way.  Each member of the ACIST team has the power to make a difference......every day!

Position Description

Position Summary:

Design, develop, and document software applications embedded in diagnostic and interventional cardiology devices. Participate in all phases of the software lifecycle, including concept development, requirements, design, implementation, and testing.


Primary Duties and Responsibilities:

  • Apply solid software design skills to develop medical devices to meet specific performance requirements and deliver on goals according to product development quality system. These activities include developing requirements specifications, design, implementation and testing of software and embedded software algorithms or/and general Linux/Windows applications and GUIs.
  • As a team member, contribute significantly to completion of various project activities, from definition, identifying software functional requirements, implementation, code reviews, and final release according to medical device development processes.
  • Work closely with cross-function team, including design reviews with QA, RA, test engineers, hardware engineers to ensure the firmware design meets the product requirements, including safety, reliability and serviceability. Be creative and innovative in the product development process.
  • Make, recommend or justify critical technical decisions in product design based on investigation, data and testing.
  • Document and transfer developed solutions to manufacturing team for mass production and provide technical support and sustaining development in launch phase.

Qualifications (Knowledge, Skills & Abilities):

Qualifications (Knowledge, Skills & Abilities):



  • B.S. or M.S (Preferred) in discipline such as Computer Engineering, Computer Science, Electrical Engineering, Computer Systems Engineering, Software Engineering.
  • 10+ years of software engineering design
  • 5+ years of new product development
  • Solid history and reputation as an influencer and problem solver
  • 2-3 years providing technical leadership and mentorship
  • Experience with creating and managing requirements and translating them into effective architectures and software design with object-oriented design methodology.
  • An understanding of requirements for, and experience in medical device development
  • Excellent documentation skills (highly regulated development environment)
  • Excellent C++, C# and Python knowledge
  • Medical device development experience and IEC60601-1, IEC62304 and related IEC standard familiarity preferred.
  • Development/Process Tools: MS Visual Studio, Jira, Git, Jama
  • Operating Systems: Windows 10/IoT, Linux
  • GUI development experience: Qt/QML, WPF, UWP
  • Experience developing robust software applications that address Cyber Security concerns  
  • Software development through full product life-cycle



  • OpenGL programming experience and knowledge of Vulkan is a plus.
  • Experience developing, debugging, and testing software applications targeting Linux platforms from low level drivers, embedded logic and data processing and GUIs
  • Experience working with distributed embedded devices
  • Other programming languages such as .NET, XAML, XSL, HTML and communication protocols (TCP/IP, UPnP, Web Services, SOAP, CAN)
  • Deep understanding of Linux OS and internals.

Job Location

Fremont, CA

Tracking Code