PLEASE NOTE THAT NO CV'S WILL BE KEPT FOR FUTURE USE. IF YOU DO NOT HEAR FROM US WITHIN 3 WEEKS PLEASE CONSIDER YOUR APPLICATION AS UNSUCCESSFUL. ONLY APPLY IF YOU HAVE THE NECESSARY QUALIFICATIONS: Responsibilities: Lead, mentor and develop a high-performing development team, fostering a culture of collaboration and continuous improvement. Collaborate with the development team to design scalable and maintainable software solutions that align with business objectives. Manage the full software development life-cycle, ensuring that projects are delivered on time, within scope and with high quality. Oversee the development and adherence to coding standards, best practices, and processes (e.g. code reviews, testing, documentation). Actively participate in recruiting, interviewing and onboarding new software engineers, ensuring the team maintains a high standard of talent. Work closely with cross-functional teams (e.g. product, EdTech, commercial) to ensure alignment between technical solutions and business needs. Stay up to date with emerging technologies and industry trends and implement improvements to enhance the team's productivity and the quality of solutions. Oversee production systems, ensuring high availability and reliability. Coordinate with the development team to resolve technical issues, including after-hours support if necessary. Foster the professional growth of the development team by identifying areas for upskilling and ensuring access to resources that support learning and development. Requirements Proven experience leading and managing software development teams, including mentoring and coaching engineers. At least 6 years of experience as a senior software engineer, with a solid technical background in development and system architecture. Demonstrated experience in designing, deploying and maintaining scalable software solutions in production environments. Strong problem-solving, analytical and communication skills, with the ability to collaborate effectively with both technical and non-technical stakeholders. Experience working in Linux/Unix environments, with proficiency in monitoring and maintaining production servers. Familiarity with containerisation and orchestration tools (e.g. Docker, Kubernetes), along with continuous integration and delivery practices (e.g. CircleCI). Expertise in Python and experience with web frameworks (e.g. Pyramid, Django, Flask) is highly desirable. Proven track record of working with relational databases (e.g. PostgreSQL) and optimising complex SQL queries. Ability to manage multiple projects and priorities in a fast-paced environment while ensuring high-quality standards. A bachelor's degree in Computer Science, Information Systems, Engineering, or a related field (or equivalent practical experience). Passionate about leading and mentoring software engineers to reach their full potential. Balance technical leadership with project management, ensuring the team is aligned and productive. Hands-on when needed but trust your team to take ownership of their work. Value technical excellence but youre pragmatic in your approach to building solutions. Respect the core fundamentals of Computer Science (like design patterns), but you encourage innovative thinking to solve complex problems. Foster a culture of continuous learning and improvement. Comfortable working in a 100% remote environment.