Software Engineer in Support

London, England, United Kingdom · Technology


Department: Technology

Reporting to: Technical Manager

Type of Contract: Permanent

Working Pattern: Full Time

Location: London, Camden. This is not a remote working position, and you must have the right to work in the UK.


FutureLearn is transforming access to education and is one of the world’s largest social learning platforms.

Based in London’s Camden Town, we offer online courses, programs and degrees run by over 100 leading universities from around the world including UCL, University of California Berkeley, University of Edinburgh, University of Melbourne, King’s College London, Purdue University and University of Groningen. We also work offer online courses from specialist education providers including CIPD, UNESCO and the Raspberry PI foundation.

Our vision is a global community, where everyone learns together and enjoys access to the education they need to transform their lives. Our award-winning platform helps by provoking conversation around the course material, so that learners and educators learn as much from each other as from the material itself.

Since our launch in September 2013, we’ve run hundreds of courses that have attracted over 7.5 million learners from all over the world and we've seen over 19 million enrolments on our open online courses and are now working with our partners to pioneer a more modular and accessible approach to studying full degrees.

We are continuing our expansion as we make this journey from offering short online courses, through micro credentials to full online degrees and working with employers and governments to reduce skills gaps. The pace of this change is reflected in extremely rapid growth of our revenues.


The Software Engineer in Support is responsible for providing full-time software engineering support to internal and external users of the FutureLearn platform. This support is currently provided by a rota staffed by Software Engineers and Technical Leads, but some frequent support tasks are complex and take a lot of time away from product work.

The Software Engineer in Support is responsible for owning these more complex tasks and making sure they get done to a high standard in a well-documented, repeatable and potentially automatable way.


Our platform uses the Ruby on Rails web framework along with the React JavaScript library, and we use unit and integration tests to drive design and keep everything working. Every engineer has the ability to deploy, and we deploy multiple times per day to a large-scale system on AWS.

We use robust, well-factored CSS and JavaScript to provide our front-end experience. Our software engineers work closely with our design team to develop the modular design system that we use to build the site. As well as delivering new features for our users, we make time to refactor our codebase to make it more pleasant and productive to work with, and to better align with how the design team thinks about the product.

As part of this team, you’ll be comfortable writing modular code and thinking about how your work fits into the big picture. You will need strong communication skills, and be comfortable discussing problems and solutions with your team-mates.

This role works in the Community team and is responsible for:


We’re looking for software engineers with web development experience either from a professional position, study or personal development. Ideally you’ll have previous experience building, supporting and deploying a web application with many users, taking into account performance, security and maintainability.

You can write robust, well-factored code, and have experience writing high-value tests.

You can demonstrate that you are able to manage a varied workload and effectively prioritise tasks based on sound decision making (e.g. assessing urgency, impact, effort).

Above all, we are looking for people who are curious, think critically, are eager to learn and keen to use their experience to help and support others. You will need to be able to communicate and explain things clearly and work well in a collaborative environment.

We are happy to consider applicants whose experience is in programming languages other than Ruby and JavaScript.

We use a set of competencies to evaluate candidates throughout the interview process: communication, initiative, teamwork, curiosity and technical skill. You can read more about these in our blog post about our hiring framework.

We’ve also written a post about what to expect from your interviews at FutureLearn if you’d like to find out more about the next stages of the process.



FutureLearn is an equal opportunities organisation who value diversity, promote equality and challenge discrimination. We are especially keen to encourage applications from people currently under-represented, including those from the LGBT+ community, neurodiverse people, people with disabilities, and those from a Black, Asian or Minority Ethnic background.


Please contact [email protected], if you require any reasonable adjustments or alterations to be made, to support you through the recruitment process.


We value diversity at FutureLearn, and we do not discriminate on the basis of race, religion, colour, national origin, gender, sexual orientation, age, neurodiversity, marital or disability status.

Apply for this job