Jobs · Engineering · California

SimVascular Software Engineer and Architect

Stanford University · Stanford, CA · 3 mo ago
HybridEngineeringFull-time

Duties

  1. Architecting and contributing to svMultiPhysics (svMP), the primary physics solver for the SimVascular project
  2. Overseeing svMP solver refactoring effort
  3. Planning code development – including testing, hardening, and architecture- to prepare the svMP software for future FDA submission
  4. Implementing quality control in code development
  5. Performing code profiling and improving efficiency
  6. Code improvements and refactoring of reduced order model solvers
  7. Overseeing and implementing automated testing implementation
  8. Implementing new GPU acceleration capabilities
  9. Reviewing and providing feedback on solver contributions from Marsden lab members and partner labs
  10. Overseeing and collaborating on web-based documentation development
  11. Mentoring staff, graduate students and postdoctoral scholars across collaborating labs on all aspects of svMP software development

Responsibilities

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

Similar jobs