Back-end Python Developer

Role descriptionThe 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.ObjectivesDevelop and Maintain the LMS (Learning Management System) and other Software SystemsGather 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 SDLCCollaborate 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 developersSupport 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 developmentConsult our Programme team in the creation and improvement of lessons related to your expertise and/or participate in creating student facing content yourself.Required5 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 usefulExperience with very large Django projectsDevelopment experience with the open-edX project or similar Learning Management SystemsExperience with front-end development using vanilla JavascriptExperience with analytics and data pipelinesExperience in automating workflowsBehaviorsEffective time management and planningMaintain 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 collaborationCreate 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 communicationCommunicate 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 accountabilityLive up to commitments. Seek feedback from others on how to be more effective.InnovationCreate 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.




If you are seeing this message it may be an redirection error, please contact our support with this code: Y2xhdWRlYm90