SU

Software Engineer

Stanford UniversityStanford, CA, United StatesPosted Jul 23, 2026
Software EngineerHybridSenior
Job description

The Cardiovascular Biomechanics Computation Lab at Stanford University, led by Dr. Alison Marsden, specializes in computational modeling of the cardiovascular system to advance surgical planning, medical device design, and fundamental research in biomechanics. The lab develops SimVascular, a leading open-source project for patient-specific modeling and blood flow simulation, and is actively creating tools for segmentation and virtual surgery in 3D Slicer. 

 

The lab has a particular interest in congenital heart disease patients, and we are leading a national collaborative effort to develop software for anatomic modeling, virtual surgery, and simulations pertaining to this patient group, with the ultimate goal of achieving FDA approval and clinical translation.

 

The lab is looking for a SimVascular Software Engineer and Architect who will be eligible to work remotely and whose duties will include: 

  • Deep knowledge of object-oriented programming with C++

  • Experience with software development in the healthcare sector 

  • Experience with large scale physics-based solvers in a high-performance computing environment

  • Experience with parallel computing (e.g. using MPI or similar), version control systems (GitHub), Agile software development (or similar), Python, AI-assisted software development (e.g. Claude)

  • Architecting and contributing to svMultiPhysics (svMP), the primary physics solver for the SimVascular project
  • Overseeing svMP solver refactoring effort 
  • Planning code development – including testing, hardening, and architecture- to prepare the svMP software for future FDA submission
  • Implementing quality control in code development
  • Performing code profiling and improving efficiency 
  • Code improvements and refactoring of reduced order model solvers
  • Overseeing and implementing automated testing implementation 
  • Implementing new GPU acceleration capabilities
  • Reviewing and providing feedback on solver contributions from Marsden lab members and partner labs  
  • Overseeing and collaborating on web-based documentation development
  • Participating in long term strategic planning with Dr. Marsden, the lab’s Senior Software Research Engineer and others in the national collaborative
  • Mentoring staff, graduate students and postdoctoral scholars across collaborating labs on all aspects of svMP software development

 

* - Other duties may also be assigned

Core Duties:

  • Propose, conceptualize, design, implement, and develop solutions for difficult and complex applications. 

  • Contribute to all phases of a project, including systems analysis, program design, development, and implementation. Serve as project lead for some projects.

  • Oversee testing, debugging, change control, and documentation for major projects.

  • Lead and mentor professional staff, as necessary, working on all phases of application development projects.

  • Engage in long-term strategic planning.in collaboration with staff and project leadership. 

  • Define complex application development administration and programming standards.

  • Oversee the support, maintenance, operation, and upgrades of applications.

  • Troubleshoot and resolve complex technical problems.

  • Review the physical design of existing systems for optimizing performance. 

  • Lead projects, as necessary, for special systems and application development in areas of complex problems.

  • Work with other technical professionals to develop standards and implement best practices.

  • Provide innovative programming and analysis.

  • May mentor junior software developers.

Minimum Education and Experience:

Bachelor's degree and eight years of relevant experience, or a combination of education and relevant experience.

Knowledge, Skills and Abilities:

  • Ability to quickly learn and adapt to new technologies and programming tools.

  • Demonstrated experience in designing, developing, testing, and deploying applications. 

  • Strong understanding of data design, architecture, relational databases, and data modeling. 

  • Thorough understanding of all aspects of software development life cycle and quality control practices. 

  • Ability to define and solve logical problems for highly technical applications. 

  • Strong communication skills with both technical and non-technical clients. 

  • Demonstrated experience leading activities on structured team development projects.

  • Ability to select, adapt, and effectively use a variety of programming methods. 

  • Ability to recognize and recommend needed changes in user and/or operations procedures.

View original posting on Oraclecloud