We’re recruiting: Software Engineer (IoT/Energy)

by Blog


FTE: £26,780.00–£35,020 PAYE/Payroll (dependent on experience and qualifications)
Time: 0.8 – 1 FTE (Flexible)
Location: Central Manchester, UK (Remote possible)
Holiday: 33 days flexible (pro rata) + 5 fixed
Duration: 1 year fixed term contract (with potential for extension based on funding and performance); 6 month probationary period
Starting: ASAP

Apply now:

Send your CV and a one page cover letter to info@carbon.coop by 10am, Friday 24th June 2022.
Put ‘Software Engineer IoT’ in the email subject.
For questions or queries please contact matt@carbon.coop
Interviews will be conducted by in person or by video call.
You may be asked to complete a short technical assessment depending on experience.

About us

Carbon Co-op is an award-winning and fast-growing energy services and advocacy cooperative that helps people and communities to make the radical reductions in home carbon emissions necessary to avoid runaway climate change.

We’re led by our values: we’re trying to mitigate the worst effects of climate change in a socially just way. The work we do makes a difference, both at the policy level and in terms of practical de-carbonisation of buildings and energy systems. We’re often working at the leading edge of the kind of work we do.

You will be working across two energy systems projects:

REScoopVPP: building smart energy solutions for energy communities across Europe. Twelve project partners are working to develop a ‘Cofy-box’ (‘Community Flexibility Box’) and Virtual Power Plant which will then be demonstrated in five energy co-operative pilot sites around Europe. https://www.rescoopvpp.eu

OpenEnEffs: ‘Open Energy Efficiency Savings’ is an InnovateUK-funded project to adapt and extend the existing US open source CalTRACK methodology to quantify avoided energy use, by combining smart meter feeds, weather data and information on energy efficiency interventions. https://carbon.coop/portfolio/openeneffs

About the job

We are looking for a Software Engineer to develop containerized, mostly Python services to run on our domestic Cofy-box which is used to automate the control of appliances (electric heating, electric vehicles, heat pumps, batteries), at scale reducing electricity grid stresses and promoting the growth of renewable energy.

We use a ‘modern’ but ‘boring’ stack – Django backends, AWS platform services, and container-based deployments, even on our Cofy-box systems. We follow an agile and test driven development methodology but are flexible and practical about this and experiment with different processes and methods.

This role would be a good opportunity for an early career programmer with an interest in renewable energy and energy technology and/or distributed systems and IoT. The project presents a set of interesting problems to solve, within various domains (web/DevOps/data/IoT/UX) and as a small, integrated organisation there are opportunities to gain exposure to and experience across a wide range of technologies.

Job Description

Role areas

  • Configuration of the ‘Home Assistant’ software on our Cofy-box deployments.
  • Developing/configuring software to interface with different energy asset hardware using open protocols.
  • Debugging and resolving issues with the Cofy-box system in the field.
  • Developing software in Python to run containerised on our Cofy-box for management/monitoring and sensing and hardware control applications. For example, controlling the charging of an electric vehicle (via OCPP) depending on a schedule or whether or not any solar power (via SunSpec) is being generated at the time.
  • Maintaining a network of environmental sensors and sub-metering in homes to refine our retrofit building energy performance evaluation service.
  • Second line support for the Cofy-box product and related systems around Europe during the innovation project.
  • Opportunities to work in other areas such as software development and operations for our Django-based Demand Response Management System (DRMS) and other core business systems.

Person Specification



  • A degree in a STEM subject.

Skills and experience


  • 2+ years experience of software development (any language). This can include placements, personal, and academic project work.
  • Experience working with Linux in CLI environment and developing and deploying applications for Linux systems.
  • Experience with Docker.
  • Good SWE soft skills: Effective communication, Time management, Flexibility, Accountability.


  • Experience developing software applications in Python which interact with high-level Linux system interfaces (e.g. DBUS).
  • Experience with version control (we use git and Gitlab) and CI/CD (we use Gitlab).
  • Knowledge/experience of developing sensing and control applications.
  • Experience with containerisation of software applications.
  • DevOps using some of our stack (Gitlab/AWS/Docker).
  • Experience and knowledge of agile practices and test driven development (TDD).


  • Knowledge/experience working in energy systems. Interest in sustainable energy and fighting climate change.
  • Django experience.
  • Interest in IoT and edge computing (e.g. Raspberry Pi, Zigbee, ESP).


We need staff to demonstrate, understand and apply our core organisational values. These are embedded in all our roles and applicants are expected to demonstrate these values as part of the application process:

  • Commitment to collective and community-based approaches to tackling climate change.
  • Commitment to co-operative values.
  • Commitment to Equality, Diversity and Inclusion.
  • Commitment to environmental justice and tackling inequalities.

Our organisational culture

We are a small (but growing), multi-disciplinary not-for-profit with a mission built around tackling climate change. Community benefit is hardwired into our organisation’s structure, we are ‘asset locked’ and owned by our 400+ lay members who annually elect a management board. We subscribe to international co-operative principles. Our work culture is open and collaborative and we promote transformational working practices. We use user-centred design, service design and agile development practices. We welcome new team members from a wide range of backgrounds!

Please apply!
We’re an equal opportunity employer, value diversity and have flexible working practices. We acknowledge that people from certain backgrounds are under-represented within our sector and our organisation – and we want to ensure we address this. We encourage applications from anyone with suitable skills, no matter their background or ability. If you don’t feel confident enough to apply, get in touch with us, we’d love to chat!


We would prefer you to work out of our office in central Manchester but remote is also possible with attendance at least once per month at the office.

Legal right to work

By the time you commence your employment you must have a legal right to work in the UK. We are currently not in a position to act as a sponsor.

Next steps

Email us your CV plus a single page covering letter, setting out your reasons for applying and how you meet the essential requirements set out in the Person Specification. If you have any questions or are unsure whether you should apply please get in touch.

After the closing date we will shortlist candidates and then carry out interviews by video call before making an appointment.

Good luck!