Development specialized on the free software project Open edX, used by many universities and companies to run online courses. See edx.org, stanford.edu or fun-mooc.fr for examples of Open edX instances.
The Open edX platform is a large Python/Django codebase, with good code standards and architecture (a lot of the edX engineers come from MIT). 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.
- 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)
We are 25 senior developers, all working remotely from Europe, North & South America, Asia & Australia. The company is not affiliated with edX, but rather contributing and working with them on various projects. This is a full time position, were you would be able to work remotely from anywhere you want, as long as you have a good internet connection. : )
You can read more about how we work in our handbook, athttps://opencraft.com/doc/handbook/