As a Virtual Power Plant, Next Kraftwerke aggregates electricity producers and storage units in order to trade their energy on various markets. A business model that is fundamentally based on digital technology and that offers many exciting projects for IT specialists. In this interview, we introduce you to the two software developers Lydia Lerche and Christian Heiden from the software engineering team, who talk about their work in frontend and backend development.
Antje Golbach: Lydia, you've been working at Next Kraftwerke for four years now. What is your main task in the software engineering team?
Lydia Lerche: I focus on frontend development and user experience. That means everything that happens in the browser and that users can use interactively. Our goal as frontend developers is to make the user experience as positive as possible so that users like working with our tools – such as the customer portal “My Power Plant”. The main focus of my work is on this “My Power Plant” portal, its further development, bug-fixing and support. The customer portal is an application that uses state-of-the-art frameworks in the frontend and backend. Business and presentation logic are thus separated from each other. This means that the presentation components can be reused in other areas and the website can be developed efficiently.
Antje Golbach: Could you tell us what the portal is used for?
Lydia Lerche: Through this portal, our customers receive information about their contracts, the status of their plants or their revenues, and they can manage their plants.
Antje Golbach: Christian, you work as a software developer on the backend. What exactly are your tasks?
Christian Heiden: To stay with the “My Power Plant” example: As software developers, we write code to create the plant schedules for the demand-oriented feed-in of our customers’ biogas plants, for example. In this way, we enable our customers to operate their plants according to demand and in a way that stabilises the power grid, thus increasing their revenues. To ensure that everything functions smoothly, we need a wide range of data, including data entered via “My Power Plant”. Customers can use “My Power Plant” to indicate whether a plant is being serviced and is not operational or whether it can only be operated at partial load. We also take into account the plant's live data, which is sent directly to our Virtual Power Plant via a data interface. In addition to this dynamic data, we also need the basic plant specifications. This includes, for example, how often a plant can be switched on and off in a defined period of time or at what power levels it can be operated at all. This means that we sometimes process completely different data in order to calculate an individual optimal schedule for a plant.
Our software engineering team also develops tools for special requirements. For example, we have developed an internal application for the down-regulation of plants in the event of electricity surpluses in the power grid. This internal application can be used by our power traders programmatically via HTTP API, as well as manually in the browser. It can be used to send commands such as: "Reduce solar by 200 MW!", whereupon a corresponding quantity is reduced.
Antje Golbach: Does it all happen automatically, or do you have to do something here?
Christian Heiden: It all works automatically. We only intervene if something doesn't work. Our power traders must be able to act quickly and flexibly so that the volume of electricity generated by the plants is as close as possible to the demand. A tool like this helps.
More to read
Antje Golbach: How do you get your tasks?
Lydia Lerche: We work with a modern ticket system. All tasks are displayed on the Kanban Board, which shows who is working on the task and what the status is. We mostly receive customer feedback about the “My Power Plant” portal via tickets from the customer service managers. They tell us about suggestions for improvement from the customers or if they have any difficulties, such as problems with downloading invoices. Our product owner then prioritises the to-dos according to urgency: are they big problems that need to be solved quickly? Or features that clients want but which are not very urgent?
Antje Golbach: Which teams do the software developers work with?
Christian Heiden: We cooperate closely with the team that is primarily responsible for the operation and further development of our Virtual Power Plant. We collaborate with our colleagues operationally and in the planning of new features. Above all, we exchange digital data with the team. For example, we tell them when a plant is to be operated differently. The team receives the optimised plant schedules from us, which they then send to the plant via our control unit, the Next Box.
Antje Golbach: Is there any connection between the two of you as backend and frontend developers?
Lydia Lerche: Our developed software components flow into the final product that we make available to our customers. They see the timetable created by Christian's team, which is made available to them via the user interface we programmed in “My Power Plant”.
Antje Golbach: What tools and programmes do you use for your work as a software developer?
Christian Heiden: We mainly program in Python, our applications are published internally as Docker images and rolled out as containers in our cluster. We use GitHub to work together on the code, as well as GitHub Actions for our CI/CD pipeline. We work with Confluence as the internal wiki and Miro for interactive, collaborative planning.
Lydia Lerche: For frontend development we work with Vue.js. This is a JavaScript framework that provides us with the basic framework. It contains various functions and modules that we can access for programming. We use Figma to create a rough draft of the website, the so-called wireframe. With the help of the wireframe, we create a basis for discussion to talk about further changes and ideas.
Antje Golbach: What method do you use for your software engineering projects?
Lydia Lerche: We work according to Scrum with 2-week sprints. We have a daily in which we talk about our upcoming work and potential blockers. Every fortnight, we have refinement meetings to discuss and estimate the complexity of those tickets that we want to work on in the next sprint. We present our results in the review at the end of the sprint. In a smaller group, we talk about the issues that went well or not so well and try to draw constructive conclusions from them.
Antje Golbach: Where do you see the advantages of Scrum?
Lydia Lerche: On the one hand, a project is organised in smaller packages that can then be solved more easily in partial steps. On the other hand, we have visible results at an early stage, can act quickly and flexibly and react to changes.
Christian Heiden: Of course, achieving results quickly is also more motivating than working forever towards a release. In addition, we decide together in the development team what and how we approach a task. That means it is not so hierarchically organised and everyone in the team can have a say.
Antje Golbach: What do you like most about your work in software engineering?
Christian Heiden: I find it exciting to work in the energy sector. I am close to the market and, in addition to my knowledge as a software developer, I also need to know the market: How do auctions work? How do the electricity market and electricity exchange work? For example, I worked on the development of our interface to the electricity exchanges EPEX and Nordpool. The requirements for this software were strongly focused on performance and stability in order to provide our power traders with reliable live market data. There are many such real-life use cases in software engineering at Next Kraftwerke, which are also directly related to renewable energies. This mix is very appealing. In addition, the hackathons at Next Kraftwerke offer us the opportunity to expand our horizons. In heterogeneous teams, we try out new methods, technologies, and tools. We can also exchange ideas in the interdisciplinary working groups and often get interesting impulses and insights into the work of other colleagues.
Lydia Lerche: I used to work as a front-end developer in agencies. We quickly built something fancy, but it only had a short life span. Here, we work on a large product in the long term, which we constantly examine and improve. In addition, the product is not only useful, but also useful in a sustainable way. I also like that we are tackling technical debt. With a large project, it always happens that something becomes outdated, or you learn new methods that can also be applied to older projects. Here at Next Kraftwerke, we can do that and apply what we've learned. Furthermore, I like the appreciative way of working with each other. We work at eye level, we are listened to and can influence things. In addition, the flexible part-time models suit me very well. Next Kraftwerke offers a wide range of options, so that working hours can be adapted to current life circumstances.
Antje Golbach: What do employees who want to start in software engineering at Next Kraftwerke need to bring with them?
Lydia Lerche: For the work as a front-end developer, a feeling for design and the ability to put yourself in the user's shoes are important. You should also be able to receive constructive criticism, as we work with code reviews. Someone looks over the code that has been created and can, of course, also give criticism and make suggestions for improvement.
Christian Heiden: An interest in the energy market is an important prerequisite. If our power traders need specific functions, the software developer should understand the domain context in order to develop a good solution. There is much pioneering work to be done. In the modern energy industry, ready-made solutions do not exist for all problems. Therefore, interested people should have fun and be interested in breaking new ground.
Disclaimer: Next Kraftwerke does not take any responsibility for the completeness, accuracy and actuality of the information provided. This article is for information purposes only and does not replace individual legal advice.