Senior Software Engineer for Athlete Performance Research
Location: Stanford, California
Internal Number: 91794
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 engineer and algorithm developer eager to work with world-class researchers and engineers on simulating and analyzing human performance? Join the Digital Athlete team as a senior software engineer. The project is part of the Wu Tsai Human Performance Alliance at Stanford (www.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 algorithms and 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. Key areas of research and development will include new algorithms that leverage data from wearable sensors and video, as well as medical imaging, to create personalized models. Our team is also pushing the cutting edge for human simulation by fusing biomechanical modeling with state-of-the-art machine learning approaches.
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.
This position will give consideration to candidates requiring visa sponsorship.
Our VPDoR Diversity Journey:
We create a hub of innovation through the power of diversity of disciplines and people.
We provide equitable access and opportunity to all members of the community in order to do their best work, regardless of race, color, religion, sex, sexual orientation, gender identity, national origin, disability, protected veteran status, or any other characteristic protected by law.
We listen to and value all colleagues who bring diverse perspectives to the advancement and development of a respectful community.
We promote a culture of belonging, equity, and safety.
We embed these values in excellence of education, research, and operation.
The software engineer will undertake a wide variety of research and development projects:
Develop state-of-the-art algorithms to simulate human movement from wearable sensors and/or video
Create real-time computational models that leverage mobile computing to analyze human movement.
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:
Lead OpenSim software development projects, designing and implementing new tools to support our worldwide collaborators.
Lead the use of professional development practices in 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; turn these needs into a strategic vision and specific project/feature designs
Propose, conceptualize, design, implement, and develop solutions for difficult and complex applications independently.
Oversee testing, debugging, change control, and documentation for major projects.
Supervise professional staff, as necessary, working on all phases of application development projects.
Engage in long-term strategic planning.
Define complex application development administration and programming standards.
Troubleshoot and resolve complex technical problems.
Lead projects, as necessary, for special systems and application development in areas of complex problems.
Once COVID-19 safety measures are no longer applicable, this position will be based on the Stanford campus and will be considered for an option of part-time telecommuting, subject to operational need.
Education & Experience:
Bachelor's degree in computer science or related field and eight years of relevant experience, or a combination of education and relevant experience.
5+ years of programming experience in Java or Python, or another Object-Oriented Programming language
Performance profiling/improvement in C++
Experience with computational numerical methods (e.g., optimization, machine learning)
A commitment to high-quality professionally engineered software
Excellent skills in communication and teamwork
Knowledge of multibody dynamics, computer vision, and/or biomechanics/anatomy/physiology
Experience in 3D Visualization
Experience with CMake and Matlab
Experience designing intuitive user interfaces
Masters or PhD in computer science or a related field
Constantly perform desk-based computer tasks.
Frequently sit, grasp lightly/fine manipulation.
Occasionally stand/walk, writing by hand.
Rarely use a telephone, lift/carry/push/pull objects that weigh up to 10 pounds.
* - Consistent with its obligations under the law, the University will provide reasonable accommodation to any employee with a disability who requires accommodation to perform the essential functions of the job.
May work extended hours, evening, and weekends.
Occasional overnight travel.
Interpersonal Skills: Demonstrates the ability to work well with Stanford colleagues and clients and with external organizations.
Promote Culture of Safety: Demonstrates commitment to personal responsibility and value for safety; communicates safety concerns; uses and promotes safe behaviors based on training and lessons learned.
Subject to and expected to comply with all applicable University policies and procedures, including but not limited to the personnel policies and other policies found in the University's Administrative Guide, http://adminguide.stanford.edu.
Why Stanford is for You
Imagine a world without search engines or social platforms. Consider lives saved through first-ever organ transplants and research to cure illnesses. Stanford University has revolutionized the way we live and enrich the world. Supporting this mission is our diverse and dedicated 17,000 staff. We seek talent driven to impact the future of our legacy. Ourculture and unique perks empower you with:
Freedom to grow. We offer career development programs, tuition reimbursement, or audit a course. Join a TedTalk, film screening, or listen to a renowned author or global leader speak.
A caring culture. We provide superb retirement plans, generous time-off, and family care resources.
A healthier you. Climb our rock wall, or choose from hundreds of health or fitness classes at our world-class exercise facilities. We also provide excellent health care benefits.
Discovery and fun. Stroll through historic sculptures, trails, and museums.
The job duties listed are typical examples of work performed by positions in this job classification and are not designed to contain or be interpreted as a comprehensive inventory of all duties, tasks, and responsibilities. Specific duties and responsibilities may vary depending on department or program needs without changing the general nature and scope of the job or level of responsibility. Employees may also perform other duties as assigned.
Stanford is an equal employment opportunity and affirmative action employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, protected veteran status, or any other characteristic protected by law.
Why work at Stanford?Stanford University has changed the world, over and over again.We are one of Silicon Valley's largest employers - and also one of the most unique. Our mission is to educate future leaders and promote interdisciplinary, world-class research and teaching. This passion makes Stanford an intensely creative, rewarding, and challenging place to work. At the same time, our traditions of respect and collaboration sustain a humane, supportive environment in which to pursue your life and your career.At Stanford you'll work with bright, diverse, dedicated people. You'll find encouragement to learn and grow. You'll enjoy excellent benefits and an outstanding environment. How will it change you?