Contract Software Developer


Pay: £400-600 per day

Working pattern: The contract can be made for 3 or 4 days per week, depending on your preference

Start date: Flexible, either now or in January, depending on your availability

Duration: Six to twelve months freelance contract

Location: Remote in GMT +/- 3 (Offices in London and Berlin)

About us

ChangeLab is a worker-owned, democratically-run co-op building ambitious tech for NGOs, progressive political parties and campaigning organizations worldwide. We work with organisations like the British Labour Party, Unite the Union, 38 Degrees and to help them win progressive change. A few of the things we’ve done so far:

  • Helped elect the first ever BAME leader of any political party in the UK, Anas Sarwar, Leader of the Scottish Labour Party with our collaborative calling software
  • Helped the National Education Union survey safety precautions in schools during the Coronavirus pandemic, allowing the union to force the government to protect teachers and landing our tool on the frontpage of the BBC, Evening Standard, and more
  • Helped enable tens of virtual conferences during the Coronavirus pandemic for trade unions and NGOs with over 1,300 participants debating and voting simultaneously

We’re now moving from bespoke software development to building out impactful SaaS products that help progressive campaigns win. Our main fields of work now are:

  • Ringround, enabling volunteers to collaboratively call and text voters and supporters, already used by Keir Starmer’s campaign to become Labour leader, Freedom from Torture & more.
  • Democracy, a live video conferencing & voting platform, used by many UK trade unions to enable their annual conferences capable of supporting up to 3,000 delegates in real-time video communication, as well as offering voting and breakout sessions
  • Pinpoint, a tool enabling hundreds of personalised Facebook ad creatives to be targeted to different regions and/or custom segments, to increase conversions and impact
  • ShareHarder. A tool to improve organic social growth, allowing users to optimise the images and text that are displayed on Facebook when a user shares their website.

Learn more on our website ( and GitHub (

Who we’re looking for

We’re looking for a freelance senior developer with Ruby on Rails and React experience who is available for six to twelve months. We’re looking for someone who we can build a long-term working relationship with, who can build a deep familiarity with our products and codebases.

You will be working across all of our core products at different stages. Our primary development scheduled for the immediate future is focused on the Ringround product, but there is ongoing development happening on each of the products. We are a small team, and are looking for someone flexible, who enjoys getting to grips with a variety of codebases and taking steps to actively improve them.

Since we’re a worker-owned co-op, if we all enjoy working together, there is a path after a year to becoming a full partner in the business with an equal ownership stake as the rest of us, along with the responsibility and benefits that provides.

However, it’s not mandatory - if you’d rather keep freelancing, then that won’t affect your application or how we work together at all.

You’ll enjoy this role if:

  • You want to use your technical skills to make real progressive change
  • You enjoy working in a small team and seeing the impact of your work day-by-day
  • You enjoy solving technical problems
  • You like to prototype and experiment with new technology
  • You’re quick on your feet and experienced applying a range of approaches to debugging issues that arise
  • You’re pragmatic about when applying “best practices” will pay off versus when it’s just box ticking
  • You’re motivated by seeing your code running in production and having a positive political impact

Our technology stack

We work primarily in Ruby on Rails for back-end and React for front-end. Most of our applications have a heavy real-time component or are complete SPAs, so we use a lot of websocket communication backed by Pusher, Anycable and Redis. We have been actively working on a library, called Jason, which allows us to subscribe the frontend to updates from any Rails model as soon as it is edited, with almost no boilerplate code required.

We also enjoy working with telephony and video technologies - Ringround integrates heavily with many aspects of Twilio’s infrastructure and Democracy uses the video API platform Vonage.

Generally we keep deployment as simple as possible, relying on Heroku and AWS services such as RDS and S3, so DevOps requirements are fairly light.

Essential skills and experience

  • 3+ years professional full-stack web development experience
  • Ruby on Rails
  • React, using the new Hooks API
  • Rspec

Nice to have skills and experience

Note: We don’t expect any applicant to have all of these - so don’t be put off applying if you don’t!

  • Redux (or similar state management libraries)
  • Previous experience building real-time apps using WebSockets
  • Browser testing using Cypress, Selenium or similar
  • Javascript testing using Jest
  • Working knowledge of key AWS services
  • SQL for analytics
  • App monitoring and performance analysis using NewRelic
  • Machine learning experience with tabular data using libraries like XgBoost or LightGBM
  • Twilio
  • Vonage

Be sure to mention the word RECTIFICATION when applying to show you read the job post completely. This is a beta feature to avoid spam applicants. Companies can search these words to find applicants that read this and see they're human.

How do you apply?

If you don’t follow these instructions, we won’t be able to assess your application fairly, so please read carefully and make sure you include all of the below, including the question answers, in your email!

Please send two of the following: { CV, GitHub, LinkedIn, portfolio } along with a short email to [email protected] telling us about yourself and short answers to the following questions:

  • Why do you want to work with us?
  • Tell us about a project you designed or built that you’re proud of

We’ll then get in touch with you for a quick chat. After that chat, we’ll invite you to complete a 90 minute paired coding session with us, which you’ll be paid for. All going well, you’ll be able to start straight after that.