Course Instructor – JavaScript / React

Job description

The EPFL Extension School ( is looking for a JavaScript / React Course Instructor to join our Web and Code team. The Course Instructor will be responsible for supporting, coaching, teaching and providing feedback to our learners as they progress through our intermediate and advanced courses on web development, taught using the JavaScript language and the React framework.


The audience for these courses extends to a large, general public and the knowledge level of the learners will range from beginner (some prior experience, possibly self-taught) to intermediate (strong familiarity, possibly but not necessarily university or post-graduate level knowledge). The Course Instructor should be able to adapt his/her instruction and support (explaining topics, guiding learners to achieving learning objectives, stepping through exercises, learner support) accordingly.

The Course Instructor will support learners through 1-1 and group chat, and through our in-platform support forum as learners go through the course materials, exercises and projects, including their final project work and presentations. The Course Instructor will grade and review of the final course projects and prepare final project (capstone) defenses, under the supervision of colleagues as needed. The Course Instructor will also create and expand on the existing course material by adding new lessons, exercises, coding video walkthroughs and other additional or updated content as deemed necessary.

To succeed in this role, you will need to have a strong interest in and experience with teaching and a demonstrable and practical background in programming and in general computing relevant to both a beginner and an intermediate level learner. In particular, we expect you to be well-versed in the most common tools, methods, and applications of the latest JavaScript and React ecosystems (i.e. code editors, design patterns, OOP, data models, ...). The JavaScript part of the this work encompasses both ES2015 and earlier versions. A solid command of object-oriented programming paradigms is necessary for this position. You must also be able to explain basic concepts in computing and software development clearly and effectively (i.e. command-line utilities, using git).

What our team loves about working here:

  • The opportunity for a career with room for both professional ambitions and personal/family commitments
  • The opportunity to work in a role where we touch the lives of thousands of people every day
  • Being part of a team that shares the same vision and supports each other to achieve our goals
  • Being part of our learners’ journeys, helping them to overcome problems and build new skills
  • Working in an environment where autonomy, creativity, initiative and risk-taking are valued and supported
  • Time on the job to learn new skills


​​Additional required qualifications:

  • Strong, demonstrable experience with web development concepts.
  • Passion for teaching with a demonstrable previous experience (classroom teaching, blogging, videos and/or mentoring)
  • Excellent communications and relationship management / « people » skills
  • Excellent verbal presentation skills
  • Ability and motivation to rapidly and independently acquire new skills
  • Demonstrable, strong organizational skills
  • Good team player
  • Self-starter, capable of autonomous work
  • Fluent English, both written and spoken
  • The mastery of at least one back-end stack (Ruby on Rails, Django, NodeJS, etc.) is a strong plus.
  • Python experience is a strong plus
  • Previous startup experience is a strong plus.