Plume is looking for a mid-senior Full Stack Engineer to support the development of our custom Learning Management System, built on Strapi, React and Node.
This is an initial contractor role with the potential to evolve into a longer term full-time position. Candidates must be based in a European timezone.
You will be contributing to client projects delivered in an agency environment, as well as occasional work on our in-house product. Because much of the work is client facing, the role requires strong communication skills, consistent time tracking and the ability to collaborate with a Project Manager to estimate work accurately and deliver to those estimates. You should be comfortable discussing requirements, demonstrating progress and raising risks early.
You will work across our monolithic Strapi codebase and React applications. This includes schema design, content structures, permissions, endpoints, performance improvements and application logic, while also contributing to frontend components and user experience.
# About Plume
Plume designs and builds bespoke Learning Management Systems for ambitious e-learning providers across the UK, US and Europe. Our clients range from household names to fast-growing educators, and our in-house product Shapeshift LMS powers many of their platforms.
More about our work is at https://plumestudio.com/our-work
We are a small, collaborative team that values clear communication, autonomy and reliable delivery.
# What you will do
* Design, build and maintain backend functionality in our Strapi and Node-based LMS
* Develop and refine schemas, content types, permissions and data models for scalability
* Create and extend custom Strapi controllers, services, lifecycle hooks and API endpoints
* Integrate new platform features by shaping API structures and frontend data flows
* Contribute to React and TypeScript components
* Diagnose and resolve issues across the stack including performance and reliability concerns
* Work closely with our PM and developers to refine requirements, estimate work and unblock others
* Follow our coding standards, participate in code reviews and contribute to continuous improvement
* Collaborate with clients alongside the PM when requirements need clarification or troubleshooting
# What you bring
## Essential
* 4 to 7 years of experience in full stack development
* Strong hands-on experience with Strapi that goes beyond the basic admin interface
* Strong Node.js skills including building and extending APIs
* Strong React and TypeScript experience
* Comfortable working in a large monolithic codebase with custom patterns
* Solid understanding of relational data modelling, particularly PostgreSQL
* Experience with Git and modern development workflows
* Ability to work independently, communicate clearly and make thoughtful technical decisions
* Good spoken and written English
## Nice to have
* Previous experience in a client-facing or consultancy environment
* Experience with LMS platforms or education technologies
* Experience building CI and CD workflows with GitHub Actions
* Familiarity with DigitalOcean and Vercel
* Experience writing tests in Jest
# Hiring process
1. Application
To apply, please provide the following:
* Your CV
* A short written overview of your experience with Strapi and React. Include the projects you have used Strapi for, any links you can share, and the custom functionality you built. Tell us what you enjoy about working with Strapi, what you find challenging and which Strapi versions you have used
* A brief description of a personal development project from the last 1 to 2 years and why it excites you
* Your location, availability and hourly rate
This first stage helps us understand how you think, what you care about as an engineer and where you feel strongest.
2. Online assessment
Shortlisted candidates will be invited to complete a one hour online coding assessment focused on React and Node.js fundamentals.
This second stage is a practical test designed to get a feel for how you write and structure code.
3. Take home task and interview with our Lead Developer
Candidates who pass the online assessment will be invited to an interview with our Lead Developer. You will receive a small Strapi-based take home task in advance, designed to take around two hours. During the interview you will walk through your solution, explain your decisions and talk through possible improvements.
This final stage is a chance to meet our Lead Developer, share what you have built, and get a feel for what it is like to work in our team. It helps us understand your approach and personality, and gives you space to ask questions and explore how we solve problems together.
We are not working with recruitment agencies for the role at this stage.