Reading Time: 8 minutes

Speed up your code for the planet

PHP Developer Day 2023 – Dresden, Germany

Almost 8 million tons of CO₂ are emitted by data centers in Germany alone every year to bring our software to life. PHP, still the most widely used programming language on the Internet, plays a large part in this.

First slide of the presentation "Speed up your code" by Carsten Windler on the PHP Developer Day 2023

But even apart from the negative impact on the global climate, slow software is simply annoying, because it costs money and worsens the user experience. That’s why we want to take a close look at our applications.

Even small changes can make a big difference. In this talk, we’ll take a look at what options we have to identify bottlenecks and how we can fix them. But we also want to fundamentally question how we can write software in the future that does not only know one direction: bigger, heavier, more.

Check out the slides here.

Es geht ums Ganze – Warum Green IT jetzt so wichtig ist

DATEV Coding Festival 2023 – Remote

We humans have only a short time left to reduce greenhouse gas emissions worldwide to a tolerable level. If we fail to do so, we are threatened with a rise in temperature that will shake the world as we know it to its foundations. It is therefore up to each individual to take action. And yet, especially in IT, the problem still seems to be taking shape only very slowly in people’s minds. But what part does information and telecommunications technology actually play in climate change? And aren’t green electricity and climate compensation completely sufficient? After all, it’s all about bits and bytes.

First slide of the presentation "It's all about the big picture - why Green IT is so important now" by Carsten Windler on the Datev Coding Festival 2023

If it were that simple, we wouldn’t have to talk about it. Green software engineering is not just a necessary evil, but on the contrary a diverse and exciting complex of topics. From more efficient algorithms and the choice of the right components, to optimising the system architecture and building the infrastructure to include the global energy market, there is much to learn that will help us reduce the emissions of software.

And if we look beyond the end of our nose, there are also some opportunities in the
product design, there are also some opportunities to reduce the CO₂ footprint of software. Last but not least, our customers and stakeholders expect us to finally address the issue. So what are we waiting for?

With a little help from my friends: Tools for writing state-of-the-art PHP code

International PHP Conference June 2023 – Berlin
International PHP Conference October 2023 – Munich

Writing high-quality code gets easier when you use the right tools to help you. In this talk, you will learn about software quality, insightful metrics and useful tools. Particularly if you work in a team, controlling the overall code quality and standards is key for a maintainable project.

The best tools won’t help if they are not used correctly, so we will also address how to integrate them into your workflow. And, of course, the faster you get the feedback, the better—let’s not wait for the CI pipeline, but rather report problems even before the push.

The Green ElePHPant – How to create sustainable PHP applications

International PHP Conference June 2023 – Berlin

The share of global IT on the worldwide greenhouse gas emission is aiming towards 4% per year and continues to grow. The energy consumption of software is not a marginal problem anymore, and we all have to play a part in the climate solution.

But what can we, as PHP developers, do to mitigate the issue and reduce the carbon emission of our applications? In this talk, we’ll discuss which concrete options there are to create sustainable PHP applications already today.

From algorithms, profiling, and performance benchmarks over frameworks and packages to carbon-aware operations, we’ll cover many ways for you to take action and become part of the global Sustainable Software Engineering movement.

Coding against climate change

code.talks 2022 – Hamburg

Die Menschheit stößt weiterhin enorme Mengen an Treibhausgasen aus. Wir Software-Entwickler*innen haben unseren Anteil daran, denn die ganze Hardware, auf der unsere Software betrieben wird, muss auch erst einmal produziert werden und braucht dann in Betrieb mehr als nur Luft und Liebe. Und der Anteil der IT an den Treibhausgas-Emissionen steigt unaufhörlich. Was können wir dagegen tun?

In diesem Talk erläutere ich zunächst, warum es zumindest kurzfristig nicht reichen wird, unsere Rechenzentren mit Ökostrom zu betreiben oder sich durch Klimakompensationen freizukaufen. Da unsere Software immer umfangreicher und leistungshungriger wird, betrachten wir im Rahmen des Sustainable Software Engineering, welche Möglichkeiten es gibt, Energie einzusparen und so die Emissionen zumindest zu reduzieren. Gerade auch trendige Technologien wie Blockchain und NFTs sind in diesem Zusammenhang sehr problematisch. Und, fast noch wichtiger: wir müssen wieder dazu übergehen, unsere Hardware längerfristig zu betreiben.

Da Software-Entwickler*innen oftmals nur Requirements umsetzen, überlegen wir zum Abschluss noch, inwieweit das Product Design seinen Anteil leisten kann. Und auch als User*innen sollten wir uns unserer Marktmacht bewusst werden und unseren Konsum überdenken.


Coding against climate change – Sustainable software engineering

International PHP Conference October 2021 – Munich
International PHP Conference June 2022 – Berlin

Mankind is releasing enormous quantities of greenhouse gases, which are continuously heating our planet’s atmosphere. Yet, we as developers can’t do much about it anyway, since after all, we only produce code, and that doesn’t hurt anyone. Isn’t that right?

Of course, it’s not quite that simple. The energy that powers our servers and sends our data around the globe has to be produced somehow. Even though the share of regenerative energy sources continues to increase, every year counts if we want to limit global warming to a halfway tolerable level. We can do a lot more than run our laptops in energy-saving mode or the IDE in dark mode. Of course, we can use more efficient algorithms, but also the system architecture and infrastructure plays a significant role. And, if we think outside the box, there are also some opportunities in product design to reduce the carbon footprint of our users.


Reduce Boilerplate Code with PHP 8

International PHP Conference October 2021 – Munich

With PHP 8, some new, quite interesting features have been introduced. Some of these features can even help us remove code like getters and setters that have been necessary in the past to work around the shortcomings in earlier PHP versions. As a benefit, the code will even become more robust and easier to maintain than before.

After the theoretical part, we will have a small live coding session and see how we can shrink a typical PHP class to a fraction of its original size — without losing any features! Is it finally time to get rid of some best practices that we used without question for many years?


Frameworkless – the new black?

International PHP Conference June 2021 – Online

IPC 2021 logo

 Frameworks are undoubtedly helpful. They wouldn’t exist otherwise. Yet are they always necessary? What drawbacks do we blindly accept when we chose our beloved framework again for the next project without even thinking about if it fits the actual problem? And why is it cool to consider oneself a Symfony or Laravel developer instead of a PHP developer?

In this talk we’ll have a brief look at the history of PHP frameworks in general, discuss their good and bad sides and eventually come up with the unthinkable: why not try going without a framework in the first place? We will discover the standardisation that has happened within the PHP ecosystem and how it helps to achieve framework-less applications.

Finally, we’ll have a look at a simple webservice written in Vanilla PHP. We will consider when it is beneficial to use a framework, when we should rather ditch them and if there maybe is a sweet spot in-between both extremes.


Refactoring – Change your running system

Eurostaff Meetup January 2020 – Berlin

January 2020, when Covid-19 still was some sort of freaky virus going around in China only, I had the please to speak on the Eurostaff Meetup about Technical Debt and Refactoring.

The talk was about my experience with Technical debt, which I also wrote down in this series of articles.

Go here for the slides of my presentation.

Continuous Testing and beyond – Software Quality in Web projects

Test Automation Day Conference 2018 – Berlin

Surely it’s not a new insight, but software with lesser bugs leads to happier customers, non-frustrated developers and eventually increased revenue. So why not just test the heck out of it in the first place?

Well, this still has not yet settled in the DNA of every web developer. This talk is about the options you have if you want to test Web projects in, let’s say, the PHP ecosystem.

Of course it’s not limited to that, as we don’t go into any language details. We start with the the basics, explore what measures might be easiest to use in your project (a bit like these “low hanging fruits” that creepy sales guy keeps babbling about), make a detour on some advanced or probably even exotic testing techniques, have another short stop on Software Quality measures and finally end up with the conclusion that testing simply has to be automated and happen before every single deploy to production. Period.

Read the Slides about Continuous Testing and beyond – Software Quality in Web projects

The Lone Stranger or: You can’t establish Clean Code on your own

Clean Code Days 2016 – Munich

You’d love to use Clean Code principles in your project, but you seem to be all alone in the world? If you try to establish Clean Code all by yourself, you will end with rolling the same boulder up the hill again and again, because you can either start fixing the code of others, or try to keep your code clean and watch the rest of the code rot. Both are options, but not good ones. So what can you do?

This talk can roughly be separated into two parts. Firstly we talk about why you need help to get Clean Code into your products, and provide you some bullet-proof arguments which “the Management” can’t deny. But it’s not only about the Management – you have to convince your co-workers, if there are not yet into it. “But Uncle Bob says…” will not be enough, especially in the PHP world.

Nobody can write perfect code at first; it will always require iterations to improve it. So secondly, we introduce some basic Clean Code related measures, which can be added even to existing projects one by one. Here we’ll see how to generally support the daily development and refactoring process. Starting with relatively simple measures like Code Styling and Code Reviews, over to Automated tests, Code Metrics and finally Continuous Integration.

All examples will be in PHP, or PHP-related. However developers from other languages are more than welcome, as we don’t dive deep into the language features and are happy to learn from others.

Read the Slides about The Lone Stranger or: You can’t establish Clean Code on your own

Photo by German Palomesque at the HolidayPirates Company Summit 2019 in Berlin