Back-end Python Developer

Apply for the job now!

Job title: Back-end Python Developer

Company: Code Institute

Job description: Role description

The Back End & Infrastructure Developer will work as part of Code Institute’s Platform team and contribute to the development and maintenance efforts of all our internal and student-facing software systems, with the aim of promoting the most effective learning journeys for Code Institute’s students. In particular, the Back End & Infrastructure Developer will focus on continuously improving the infrastructure and systems supporting student learning on the Code Institute’s platform, and the software development lifecycle processes around that.

The Back End & Infrastructure Developer will report to the Director of Engineering and will work closely with the Learning Operations and Programme teams.


Develop and Maintain the LMS (Learning Management System) and other Software Systems

Gather requirements for, plan, prototype, develop, maintain and support business critical systems including our Open edX LMS, AMOS analytics platform and many other systems. Your main focus in this would be on the back-end and infrastructure components, including administration of servers, containers and databases on AWS, the LMS back-end and the systems used by students to submit solutions to coding challenges.

Manage cloud deployment, CI/CD processes and other aspects of the SDLC

Collaborate with the other developers on the team to set up and manage an effective continuous integration and delivery process for our software systems. Put in place security measures to keep students’ personal data safe.

Support contributions from other developers

Support the development efforts of other developers contributing to the above systems. Perform code reviews and mentor more junior developers in the company in regards to your areas of expertise.

Participate in Programme content development

Consult our Programme team in the creation and improvement of lessons related to your expertise and/or participate in creating student facing content yourself.


  • 5 years industry experience with web technologies.
  • Strong Python skills centered on back-end development, preferably with the Django framework.
  • Experience in system design and being the technical owner/lead of a project.
  • Experience with cloud-based architecture (we use AWS).
  • Experience setting up Docker-based deployments.
  • Experience with CI/CD processes.
  • Experience in DevOps processes and agile development.
  • Fluency in both verbal and written technical English.

Also very useful

  • Experience with very large Django projects
  • Development experience with the open-edX project or similar Learning Management Systems
  • Experience with front-end development using vanilla Javascript
  • Experience with analytics and data pipelines
  • Experience in automating workflows


Effective time management and planning

Maintain awareness of the different tasks that need to be performed and the priorities of each. Utilise your understanding of the value and technical difficulty of tasks to contribute to the project planning, both on a quarterly level and on the fortnightly sprint planning. Tackle tasks according to the priorities defined, and be able to switch between tasks effectively if and when these priorities change, maintaining the operational aspects in order, while continuously making progress on tasks with long-term value. When an important task might not be completed on time, flag and communicate it early to the stakeholder(s).

Practicing and promoting collaboration

Create an environment for honest and open discussion of all issues. Promote the use of own and others’ capabilities to other functions. Promote a team culture, recognizing the contributions of all team members.

Effective communication

Communicate in a clear and honest manner with colleagues and stakeholders. Demonstrate ability and willingness to teach others. Provide constructive, actionable feedback and guidance.

Ownership and accountability

Live up to commitments. Seek feedback from others on how to be more effective.


Create an environment that encourages risk-taking and innovation. Support new ideas and initiatives offered by others. Drive key change initiatives to completion. Pursue challenging assignments that stretch and build capabilities.

Expected salary:

Location: Dublin

Job date: Wed, 30 Sep 2020 22:18:08 GMT

Apply for the job now!