We believe that developing one’s instinct plays a big role in scientific education. That’s why we built an innovative graphing calculator that’s intuitive to use and gives students a chance to explore mathematics.

The NumWorks calculator was first made available in 2017 and its reception was stellar: thousands of high schoolers use it daily and are eager to receive our regular software updates. We are looking for end-of-study interns to join our engineering team and help us deliver those new functionalities.


Software developers at NumWorks are involved in many of the technical aspects of the project. Responsibilities can include:

Develop the calculator’s software

We’ve written a custom operating system for the NumWorks calculator. By joining our team, you could:

  • Design and implement math-related features
  • Code new user interfaces
  • Write or improve low-level drivers

The operating system of our calculator is written in C++ and is available on GitHub.

Improve our online tools

We make heavy use of web technologies to handle things such as:

  • Delivering firmware updates to end users
  • Providing an online Python IDE that syncs with your calculator
  • Placing orders and tracking deliveries

We use Ruby on Rails, Vue.js and WebUSB to develop our main website and our Workshop.

Cross-project expertise

Software engineers at NumWorks also get to work on a broad range of tasks such as:

  • Exploring new hardware designs
  • Designing mass production tools and processes


The ideal candidate would:

  • Be soon graduating from a M.Sc. at a top-level university
  • Have a solid mathematical background
  • Be eager to write code
  • Be excited to learn new technologies

Note that we do not expect candidates to master any of the technologies we use.

Apply now