Software Engineer for Athlete Performance Research
Another Source - palo alto, CA
Apply NowJob 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 ( 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. 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. 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. Please note that due to current COVID-19 safety measures, our office is working fully remote through Summer 2021. 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 telecommuting, subject to operational need. Working at Stanford University brings many personal and professional opportunities, and the Bay Area is a wonderful place to call home, with a rich and diverse culture, activities for a variety of lifestyles, and some of the country's most beautiful scenery. We recognize that living in this area often comes with a higher cost of living than other areas of the country. As you consider Stanford as your future home and take this next career step, know that we will partner with you on moves to the Bay Area and will do all we can to help you feel at home here. Our investment in you begins now! Please note that a resume is required. A cover letter is recommended. 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 PHYSICAL REQUIREMENTS*: Frequently stand/walk, sitting, grasp lightly/fine manipulation, perform desk-based computer tasks. Occasionally use a telephone, writing by hand, lift/carry/push/pull objects that weigh up to 40 pounds. Rarely sort/file paperwork or parts, lift/carry/push/pull objects that weigh >40 pounds. Ability to use voice to present information/communicate with others. On-campus mobility. * - 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. WORKING CONDITIONS: May work extended hours, evenings or weekends. May travel locally. Occasional overnight travel. WORK STANDARDS: 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, 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. Our culture 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. Enviable resources. Enjoy free commuter programs, ridesharing incentives, discounts and more! 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.
Created: 2024-11-05