Open Source DevOps & Developer (OpenStack, AWS, Python, Django)
DevOps operations and development of related automation software on the free software project Open edX. The project is 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.
We are looking for experienced DevOps specialists, to help improve and scale our infrastructure. We host many instances of Open edX, and have developed open source automation software based on OpenStack and Python/Django to scale it, and allow users to spin their own instance by themselves. We are looking to refactor some of its components, including moving to Terraform and Packer, as well as supporting additional platforms such as AWS.The Open edX platform itself is a large Python/Django codebase, with good code standards and architecture. You would also work on different clients contracts using the platform, which can include both DevOps operations and fullstack Python/Django/JS development. 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.
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.Basic requirements
- 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
- Databases: MySQL, MongoDB, PostgreSQL
- Configuration management tools such as Ansible
- 3+ years working with Python
- Experience with unit testing
- You feel comfortable working in a Linux environment, specifically Debian or Ubuntu
- 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:
- Experience with Python web frameworks, specifically Django
- 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)