Green Software Developer

At Green Coding Solutions we create a green software community and ecosystem in Berlin.

Our goal is to shape the industry for the better in terms of using software in a sustainable way. We strongly believe in the positive impact of digitalization. But we believe it must be done responsibly with awareness of consumption and with strong planning to avoid rebound effects.

Therefore we create tools to measure the energy use of software in CI-Build-Pipelines, VMs, Containers and User Desktop environments. All of our software is Free and Open-Source Software to be used by anyone.

Our flagship work is an open-source green software toolchain that lets you quantify the energy consumption of arbitrary software in typical real world usage scenarios.

 

What you will be working on:

You will be working with our team to create tools to measure the energy use of software and (drumroll please) actually MEASURE software :)

This may include setting up and measuring Cloud environments, build-chains, Virtual Machines and more.

The work at Green Coding for our toolchain covers an extensive scope where you come into contact with a lot of tools that may be new to you. However, we supply an extensive onboarding and enough time to learn these tools if you are not already familiar with them.

Have a look at our Github Repository to get an overview of our tools: https://github.com/green-coding-solutions

Also check out the documentation for our flagship tool to get an impression of it: https://docs.green-coding.io/

We also currently work on CO2 emission reporters for different CI-Pipelines as well as infrastructure tools for AWS, GCP and Azure.

 

How your typical week looks like

When working at Green Coding Solutions GmbH as an engineer, the work is quite different from traditional coding jobs.

Working in CO2 measurement of software is currently still a very academic profession. Therefore your weekly work is typically divided into reseach (reading Computer Science papers, articles and proof-of-concept code) and writing prototypes, tests and tools.

Many already established measurement solutions do not work in Cloud environment and usually we have to find ways how to still get the best possible data.

In order to foster this process we typically meet mutiple times per week with the team to discuss our approaches and generate new methods and ideas for solving open problems.

We really like this creative and architectural process and believe you will do too :)

Your concrete coding work will be mostly on Linux systems writing either Python, Javascript or C Code. Typically when measuring architectures, applications or software libraries this means creating a demo application with them.

To get an idea how this would look like have a look at our repository for demo applications (mostly web applications at the moment) and our documentation on Example applications and containerization of applications. Also check out our Case Studies, CO2 Formulas for digital products and our Green Metrics Dashboard to get an idea of how the raw metrics will be presented.

Most of our tooling is written in script languages like Python or Node. Most of the low-level measurement software is written in C.

Your qualification:

We believe the role is best filled with 5+ years experience as a professional software developer.

This is the skillset we believe is very helpful to have:

  • Container systems (docker, podman or similar)
  • Concepts of Virtualization (VMs)
  • Basic understanding and experience with cloud infrastructure (AWS / Google Cloud / Azure / Kubernetes)
  • Linux subsystem concepts for containerization (cgroups, namespaces, procfs, sysfs)
  • End-to-End Testing Tools (Selenium, Codeception, Playwright or similar)
  • CI-Pipelines (Github actions preferred)
  • At least around 3 year experience in using one of these programming languages: Node.JS / Javascript or Python or PHP
  • Basic understanding of modern computer achitectures such as microprocessor design, machine registers, asssembly representation of code, microprocessor instructions etc.
  • At least entry level experience in reading, writing and adapting C code.
  • Independently working on a project
  • Product focused development

However if you are not too familiar with some of the skills mentioned before but feel confident you can learn them in a short time, also do not hesitate to apply.

Spoken language in the team is English. But we are a mixed group of English and German speakers.

 

Our place in the green software ecosystem

The green software community is a very friendly and uncompetetive bunch.

Here is a list of befriended organizations and communities we work with or contribute to:

Working hours and pay

The job is possible as part-time or full-time.

Please include your expected salary and part-time/full-time preference in your email.

 

Home-office or in office?

We are a home-office first company, but we do not offer remote work. You have to be based in Berlin.

The reason being that we have a strong focus on weekly in-person creative meetups, where the whole team meets and presents current approaches, new ideas and concepts that we all evaluate and iterate together.

So expect 1-2 days in the office per week for 4-5 hours each.

During the onboarding however, which can take around 1-2 months, we usually start for the first weeks with 5 office days a week and then move to the standard home-office mode asap.

 

How to apply

Just shoot us an email at [email protected] with a quick intro and why you would like to join our team.

Please also include a quick comment on your skills regarding the aforementioned skills.

Also very interesting for us is if you have any current experience with sustainable software design and / or what drives your interest in the field.

A link to your LinkedIn and Github profile is usually helpful.

There is no need for formal documents. If you want to send them however, feel free to attach them.