Software Engineer for Athlete Performance Research

Another Source

Palo Alto (CA)

On-site

USD 120,000 - 160,000

Full time

14 days+

Get more replies from employers

Send a job-specific resume in minutes.

Job summary

Stanford University’s Digital Athlete team seeks a software engineer to advance OpenSim and biomechanics tooling. You will develop tools for real-time movement analysis, simulations, and researcher-friendly interfaces to design custom studies.

Collaborate with world-class researchers and engineers on C++, Python, Java, and MATLAB interfaces, aiming to improve performance, visualization, and accessibility of the biomechanics software.

Qualifications

  • Bachelor's degree and five years of relevant experience, or a combination of education and relevant experience.
  • 2+ years of programming experience in Java or Python, or another Object-Oriented Programming language.
  • 2+ years of experience as a full-stack web developer.
  • 2+ years of C++ programming experience.
  • A commitment to high-quality professionally engineered software.
  • Excellent skills in communication and teamwork.

Responsibilities

  • Develop a mobile application for real-time movement analysis during activities like running, jumping, and cutting.
  • Create a compelling and straightforward user experience for researchers to visualize simulations of movement and create their own custom studies.
  • Develop a robust user experience in Python and other improvements to facilitate uptake of biomechanics software by the machine learning community.
  • Conduct software performance profiling and benchmarking to reduce computation time and expand simulation capabilities.
  • Participate in OpenSim software development work at API and GUI levels; design and implement new tools for worldwide collaborators.
  • Mentor lower-level software developers and act as a technical resource for applications.
  • Support external development teams using OpenSim by answering questions and handling feature requests and bug reports.
  • Work with the project team to understand user communities and tailor coding decisions to their needs.

Skills

Java
Python
Full-stack development
C++
Communication & teamwork

Education

Bachelor's degree in Computer Science or related field
5+ years of relevant experience

Tools

CMake
MATLAB
OpenSim API

Job description

Do you want to be a key contributor to an award-winning, open-source software project whose mission is to transform what we know about human performance? Are you interested in helping athletes of all levels, from elite to beginner, understand how to optimize performance and prevent injury? Are you a full-stack software developer eager to work with world-class researchers and engineers on simulating and analyzing human performance? Join the Digital Athlete team as a software developer. The project is part of the Wu Tsai Human Performance Alliance at Stanford (https://humanperformance.stanford.edu/).

At the foundation of the Digital Athlete project is our OpenSim software, a powerful and extensible software system to create and visualize simulations of human and animal movement (opensim.stanford.edu). The free and open-source software package is one of the premier biomechanics simulators, used by thousands of researchers around the world in fields ranging from robotics to biomedicine. For example, the software is used to help predict how to improve running performance, design exoskeletons to augment human performance and plan surgery for children with gait pathologies. The underlying OpenSim API is written in C++ and the GUI is written in Java. We also have interfaces in Python and MATLAB. Your role will be to develop new tools to support the growing needs of the biomechanics and sports science communities by improving the performance and functionality of Digital Athlete software, including OpenSim.

The Wu Tsai Human Performance Alliance at Stanford is a university-wide research initiative, housed under the Vice Provost and Dean of Research, that leverages Stanford's exceptional research, outstanding athletics, and innovative spirit. We are creating a community that draws on diverse efforts across campus to uncover the fundamental principles of peak performance. Through our programs, we are developing the knowledge, the people, and the tools to make optimal health more accessible to all. We hope you will join us in our mission.

POSITION SUMMARY

The software engineer will undertake a wide variety of development projects:

  • Develop a mobile application for real-time movement analysis during activities like running, jumping, and cutting.
  • Create a compelling and straightforward user experience for researchers to visualize simulations of movement and create their own custom studies of movement (e.g., to predict joint loading during an athletic maneuver of interest).
  • Develop a robust user experience in Python and make other improvements to facilitate uptake of our biomechanics software by the machine learning community
  • Conduct software performance profiling and benchmarking to find ways to reduce computation time and push the bounds of the types of simulations that are possible.

Additional roles and details:

  • Participate in OpenSim software development work at the API and GUI levels, designing and implementing new tools to support our worldwide collaborators.
  • Apply professional development practices to our software, both for new code and for correcting deficiencies in old code. This includes design, documentation, testing, portability, maintainability, adherence to standards, and egoless participation in team code reviews both as subject and reviewer.
  • Generate test cases/harnesses to target performance bottlenecks.
  • Serve as a leader-by-example to academic programmers and Stanford doctoral students to help them learn best professional coding practices.
  • Support external development teams who are using OpenSim by quickly answering questions online and in person at workshops and responding to feature requests and bug reports.
  • Work with the project team to understand the various user communities served by OpenSim and match coding decisions to the needs of our users.
CORE DUTIES
  • Conceptualize design, implement, and develop solutions for complex system/programs independently.
  • Work with a variety of users to gain information, and develop intra-system tradeoffs between different users, as necessary; interact with a diverse client base and outside vendor contacts.
  • Document system builds and application configurations; maintain and update documentation as needed.
  • Provide technical analysis, design, development, conversion, and implementation work.
  • Work as a project leader, as needed, for projects of moderate complexity.
  • Serve as a technical resource for applications.
  • Compare, evaluate, and implement new features and technologies, and integrate them into the computing environment.
  • Follow team software development methodology.
  • Mentor lower-level software developers.

MINIMUM REQUIREMENTS

Education & Experience:

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

Desired Education: Bachelor's degree or higher in computer science or related field.

Knowledge, Skills and Abilities:

Required:

  • 2+ years of programming experience in Java or Python, or another Object-Oriented Programming language
  • 2+ years of experience as a full-stack web developer
  • 2+ years of C++ programming experience
  • A commitment to high-quality professionally engineered software
  • Excellent skills in communication and teamwork

Desired:

  • Experience in performance profiling and improvement in C++
  • Knowledge of multibody dynamics, computer vision, and/or biomechanics/anatomy/physiology
  • Experience in 3D Visualization
  • Experience with CMake and MATLAB
  • Experience developing mobile applications
  • Experience designing intuitive user interfaces
  • High-performance scientific computation, machine learning, physics, math, and/or mechanical engineering knowledge
Get your free, confidential resume review.
or drag and drop your file here.
Similar jobs

Similar jobs worth comparing

Athlete-Performance Research Software Engineer
Athlete-Performance Research Software Engineer

Another Source • Palo Alto (CA)

On-site
USD 120,000 - 160,000
Software Engineer with TS
Software Engineer with TS

Job Juncture • Reston (VA)

On-site
USD 135,000 - 175,000
Research Software Engineer, Brain Data Science Platform (24-Month Fixed-Term)
Research Software Engineer, Brain Data Science Platform (24-Month Fixed-Term)

Stanford University • Palo Alto (CA)

On-site
USD 130,000 - 180,000
Research Software Engineer - Robotics & Simulation (Data Science and AI Institute)
Research Software Engineer - Robotics & Simulation (Data Science and AI Institute)

The Johns Hopkins University • Baltimore (MD)

Hybrid
USD 110,000 - 140,000
Hybrid work model
Software Developer 1
Software Developer 1

Stanford University School of Medicine • Stanford (CA)

On-site
USD 107,000 - 134,000
Comprehensive benefits
Software Engineer
Software Engineer

Liquid XR • Los Angeles (CA)

On-site
USD 120,000 - 180,000
Health benefits
Employee stock option program
Open PTO
+1
Software Engineer (Part-Time) — Athlete Management System
Software Engineer (Part-Time) — Athlete Management System

5 Tool Performance • Westwood (MA)

On-site
Employee discounts
Opportunity for advancement
Software Engineer II
Software Engineer II

Tech Partners • Tulsa (OK)

On-site
USD 90,000 - 130,000
Signing bonus
Research Fellow - Running Biomechanics
Research Fellow - Running Biomechanics

Michigan Medicine • Ann Arbor (MI)

Hybrid
USD 65,000 - 95,000
Hybrid work options
Research Fellow - Running Biomechanics
Research Fellow - Running Biomechanics

University Of Michigan • Ann Arbor (MI)

Hybrid
USD 65,000 - 90,000
Medical coverage
Dental coverage
Vision coverage
+1