Contributor avatar

Back to Spotlight

Contributor Spotlight

Markus Winter

He/Him/His
Wiesloch, Germany
First Commit: 2015
Date Published: 2024-07-16

Markus Winter works as a software engineer at SAP SE and is based in Wiesloch, Germany. He has been contributing to Jenkins since 2016, providing bug fixes and enhancements in core and various plugins. Outside of his work, Markus enjoys traveling, reading books (mostly Sci-Fi), watching movies, and working on his Jenkins plugins.

What is your background prior to contributing to Jenkins?

After graduating in Physics I soon realized that I wanted to be more involved in computer science. I then began my career in an unfamiliar area, in build systems. I worked with Make and Apache Ant (Maven was yet to be invented), and later in my career, I discovered Maven and Jenkins.

How long have you been using Jenkins?

My first introduction to Jenkins (Hudson) was in 2010; it was a solution provided to allow teams to build subprojects of a bigger project though I was not really involved in this project. It really began in 2013 when our team took over an existing build system based on Jenkins. A lot of things we invented in the first few years are still in use, like running Jenkins in a Docker container or having a 100% configuration as code approach (at the time JCasC was not yet in existence).

Why choose Jenkins over other projects?

We inherited an existing solution while evaluating other solutions. In the end, we came to the conclusion that Jenkins, due to its big plugin ecosystem, was the best choice. And because we had specific needs and requirements, we were able to write our own plugins, in which case we did.

What problems has Jenkins solved for you?

We were able to build a single, huge C/C++ project on Jenkins with 170 agents. It provided a centralized build service (backed by 6 Jenkins instances, each with 10k+ jobs) for thousands of developers to build small projects, of any kind, on multiple platforms.

Is there an aspect of Jenkins that you’re particularly passionate about?

I like working on UI/UX improvements but also working on topics that do not belong to Jenkins core but yet bring value to everyone as a plugin Agent Maintenance plugin, Pipeline Agent Build History plugin.

What sort of contributions have felt the most successful or impactful?

Developing the Customizable Header plugin was the most impactful for me. It allowed for customization, giving your Jenkins a personal touch, and making it very easy to see and access multiple instances. I typically have 7 to 8 instances where I regularly need to access. But also contributing the dialogs to Jenkins core was a great experience.

Advice for new developers and new members of the open-source community

Try things out when you have an idea and see if it works. If it doesn’t work the way you thought it should, try to understand why you failed. You will learn more from doing and failing than from reading documentation.