Development specialized on the free software project Open edX, used by and in part developed by organizations like MIT, Harvard, McKinsey, and others, so you’ll have the opportunity to contribute to projects that are widely used and to be part of a thriving open source educational community. See edx.org
for examples of Open edX instances.
The Open edX platform is a large Python/Django codebase, with good code standards and architecture. You would work on different clients contracts using the platform. The clients list/references include Harvard, MIT, edX themselves, the French government, and various startups & universities currently running their own instances, or looking to create one. Tasks are very varied, from developing core platform features, custom exercises and tools for specific courses (XBlocks), customizing and deploying instances, working fullstack, operating our service infrastructure, improving our hosting platform, etc. You won't get bored here.
Most of your work is published as free software (Open edX is released under the AGPL license, which requires clients to release modifications under the same license), and you would also contribute to the free software project, pushing most of your developments upstream through pull requests, contributing features, documentation or help on mailing-lists.
We welcome applicants of all genders and ethnicities.
- 3+ years working with Python
- Experience with Python web frameworks, specifically Django
- Experience with unit testing
- You feel comfortable working in a Linux environment, specifically Debian or Ubuntu
- Experience with databases: MySQL, MongoDB, PostgreSQL
- Experience with contributing to free software projects, and communicating within a free software community
You would have to work with tasks from the following categories, but you would be able to pick up the skills on the job if you don't master this yet:
- DevOps experience, especially on Debian/Ubuntu servers, Terraform, Vault, Packer, Prometheus, ELK, Docker. We are building a modern infrastructure and having a strong DevOps presence on top of core software engineering skills is a big plus with us.
- Cloud computing, like AWS or OpenStack
- Configuration management tools such as Ansible
- RabbitMQ, Redis & Elasticsearch
- git source control
- Mobile development (iOS and/or Android)
- Managing clients & projects from beginning to completion (senior developer)
- Public speaking at conferences (you would present a talk every year at the Open edX Con)