McGill Learning Sciences Lab Seeks Programmer to Develop Innovative Educational Applications

Application Period: Jan. 15, 2018 - Feb. 16, 2018




At McGill University's ATLAS (Advanced Technologies for Learning in Authentic Settings) Lab, we are a multidisciplinary group of people with a variety of backgrounds, including educational psychology, computing science and medicine. Our research investigates learning, and factors affecting learning, in the context of technology-rich learning environments. Currently, the ATLAS lab is searching for a new member who can support the lab's software development needs.


About the position


The position will focus on the full-stack development of web-based applications. From the user's perspective, we make dynamic, single-page web applications. Users typically login and then complete a series of learning tasks. On the front-end, this means working with HTML, CSS, Bootstrap, jQuery, web sockets, React.js, gulp, npm, plugins for video playing and annotating, and Etherpad (the real-time collaborative text editor on which Google Docs is based).


On the back-end, this typically means developing a set of domain objects, using an ORM to persist and retrieve those objects, implementing middle-layer application logic, and serving data to the client with JSON responses. Scripting is also an important part of the job, to extract data for researchers to analyze. The technologies we use for the back end are Python/Pyramid, Node.js/Sails, MySQL and MongoDB.

We are looking for someone who is proficient in these technologies and who is interested in joining the ATLAS team to continue developing the learning platforms. Your tasks would include working with non-technical colleagues to elicit functional specifications, estimating development times, prototyping UI designs, implementing the functionalities, obtaining feedback on the new functionalities by organizing tests, and so on.

Start Date: January 2018.

If this position sounds interesting to you, please send an email with a cover letter describing your software development experience, skills using the technologies mentioned above, preferred approach to software development and a description of why the job interests you. Please also include your CV.