Software Developer 3

Stanford University

Stanford, CA

JOB DETAILS
SKILLS
Analysis Skills, Architectural Design, Best Practices, Biomechanics, Cardiovascular, Cardiovascular Disease, Change Control, Communication Skills, Data Modeling, Debugging Skills, Document Management, FDA (Food and Drug Administration), GPU (Graphics Processing Unit), Identify Issues, Leadership, Medical Equipment, Mentoring, Online Publications, Open Source, Operations Processes, Performance Tuning/Optimization, Physics, Problem Solving Skills, Programming Tools, Quality Control, Refactoring, Relational Databases (RDBMS), Simulation, Software Architecture, Software Development, Software Development Lifecycle (SDLC), Software Engineering, Software Upgrades, Standards Development, Strategic Planning, Systems Analysis, Team Building, Team Player, Test Automation, Test Plan/Schedule, Work From Home
LOCATION
Stanford, CA
POSTED
3 days ago

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:

  • 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.

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.

About the Company

S

Stanford University