Skip to content

Simulation Software Developer with the PhET Interactive Simulations project

Requisition Number:



Boulder, Colorado

Employment Type:

Research Faculty



Date Posted:


Job Summary

The PhET Interactive Simulations Project ( at the University of Colorado Boulder has an opening for a full-time (30-40 hrs/week) Simulation Software Developer to join our software development team! This position seeks candidates with either entry-level or mid-level experience. You will work with an innovative team of software engineers, simulation designers, and quality assurance testers to develop new interactive simulations for science and math education. All simulations are published as open educational resources and used by millions of learners worldwide.

The successful candidate will bring experience and knowledge with JavaScript development, and the ability to learn Typescript as PhET’s development team transitions to Typescript for their primary coding language. You will bring experience with Git and Github or other similar services. You will work as part of a distributed team requiring strong interpersonal, organizational, and communication skills. You have the ability to learn quickly and adapt to meet changing needs and requirements.

Our mission is to create STEM learning tools that the whole world can enjoy using. As part of that effort, we aim to build STEM simulations that can be used by everyone. We build diversity, equity, and inclusion into our work and we aim to cultivate a sense of belonging in our team.

The University of Colorado Boulder is committed to building a culturally diverse community of faculty, staff, and students dedicated to contributing to an inclusive campus environment. We are an Equal Opportunity employer, including veterans and individuals with disabilities.

Who We Are

Founded in 2002 by Nobel Laureate Carl Wieman, the PhET Interactive Simulations Project at the University of Colorado Boulder is a world leader in the design and use of interactive math and science simulations for advancing STEM education. The PhET team is dedicated to high-quality STEM education for all students, disseminating PhET simulations as open (free) education resources globally and pioneering approaches for making interactive content accessible to all learners. PhET simulations are used more than 250 million times per year globally and translated into more than 90 languages.

The PhET team is a passionate, creative, and productive group, including STEM education, simulation, and inclusive design experts, education researchers, software engineers, quality assurance specialists, and more. Our project is a blend of an academic research project, an outreach project, and an innovative education technology company, housed within the Department of Physics and working with diverse partners at CU Boulder and around the world. PhET’s work has received numerous international awards, including being named a 2017 WISE Awards Winner, a 2011 Tech Award Laureate, and a winner of the 2014 Reimagine Education Award.

What Your Key Responsibilities Will Be

  • The successful applicant will join the vibrant and productive PhET team, working closely with PhET’s software engineers, sim design specialists, and quality assurance team. The responsibilities include:
    • Working with multi-disciplinary teams to develop new HTML5 simulations and maintain existing simulations.
    • Redeveloping legacy (Java/Flash) simulations in HTML5/JavaScript/TypeScript.
    • Implementing new user customization (e.g., modifications to visual display) and multimodal features (e.g., alternative input, auditory descriptions) into interactive simulations.
    • Code reviews of new and redesigned simulations.
    • Building on and developing new foundational libraries as part of PhET’s codebase.
    • Providing counsel for project strategy, priorities, and approaches.

What You Should Know

All University of Colorado Boulder employees are required to align with the campus COVID-19 vaccine requirement. New employees must provide proof of vaccination or receive a medical or religious exemption within 30 days of employment.

What We Can Offer

  • This is a full-time (40 hours/week) position, but we will consider candidates interested in a part-time 75% position (30 hours/week).
  • The start date is flexible.
  • The annual salary range for this position is $50,000-$90,000. Salary is commensurate with education and experience.
  • Candidates can work remotely in the United States or relocate to Boulder. Modest relocation funds are available for this position following the University of Colorado’s relocation processes and procedures.


The University of Colorado offers excellent benefits, including medical, dental, retirement, paid time off, tuition benefit and ECO Pass. The University of Colorado Boulder is one of the largest employers in Boulder County and offers an inspiring higher education environment. Learn more about the University of Colorado Boulder.

Be Statements

Be ambitious. Be inventive. Be Boulder.

What We Require

  • Bachelor’s degree, or equivalent relevant experience.
  • Entry-level: basic knowledge of software development (through a degree or experience) and an internship or other similar applied experience.
  • Mid-level: knowledge of software development (through a degree or experience) and at least 4 years of full-time work experience.
  • Experience with and knowledge of JavaScript.
  • Experience with Git and GitHub, or equivalent services.
  • Knowledge and/or experience with design patterns, and model-view-controller pattern in particular.

What You Will Need

  • Strong desire to create transformative science and math learning experiences for students.
  • Ability to work independently and collaboratively across teams to develop and maintain PhET simulations.
  • Ability to write high-performance, reusable, maintainable, well-documented code.
  • Ability to understand large and complex code bases, including API design techniques to help keep them clean and maintainable.
  • Ability to learn project structures and begin contributing quickly in a fast-moving environment.
  • Comfortable working as part of a highly-distributed team requiring flexibility and strong organizational, communication, and interpersonal skills.
  • Desire to contribute to an inclusive and collaborative environment that values learning, growth, and continuous improvement.

What We Would Like You To Have

  • Interest in learning and coding in Typescript.
  • Knowledge of current accessibility standards (e.g., WCAG 2.0, WAI-ARIA).
  • Experience working with geographically distributed teams.

Special Instructions

To apply, please submit the following materials:

  1. Resume or CV
  2. Cover letter addressed to the Search Committee briefly describing your qualifications, professional goals, and specific interest in this position.
  3. Application Task 1: Please complete the task outlined here and attach your completed task solution to your application.

If you are selected as the finalist, your degree will be verified by the CU Boulder Campus Human Resources department using an approved online vendor. If your degree was obtained outside of the United States, please submit a translated version as an optional attachment.

During the application process you will need to enter names and contact information for three references, and we will request letters of recommendation and additional materials, if needed, as the search progresses.

Application review will begin January 17, 2022, and will continue until the position is filled.

Note: Application materials will not be accepted via email. For consideration, applications must be submitted through CU Boulder Jobs.

Posting Contact Information

Posting Contact Name: Boulder Campus Human Resources

Posting Contact Email: