Wednesday, January 29, 2025 - 07:00
  • Share this article:

At a Glance:

Can you tell me a bit about your background as a developer?

I started writing software when I was 12. I had an Amstrad/Schneider CPC 664 back then and used the built-in Basic language. I continued learning new languages at school and then, finally, figured out how to really write software when studying computer science at the university. I continued focusing on software engineering during my studies, learned many more programming languages, a lot about software architecture, design patterns, unit testing, and many more things related to software engineering. 

The book Extreme Programming Explained by Kent Beck introduced me to the agile perspective, which led me to co-author a book on Extreme Programming and another on large refactorings. I also co-founded an agile technology and consulting company in Germany (it-agile GmbH)—which is still one of the leading agile consulting companies in Germany. Back in 2010, I shifted my focus from agile processes and consulting back to software engineering and joined the Spring team to work on IDEs and developer tooling for the Spring framework. In the end, I have been writing software for the past 39 years, and I still love writing software every day.

How did you first encounter and get involved with open source?

While studying computer science and software engineering at the University of Hamburg, we developed an application framework that we open sourced in 1998. As far as I remember, that was my first work on open source software. 

The next major chapter for me in the open source space was actually the first version of Eclipse. When it was published by IBM back in 2001, it caught my interest right from the start. I didn’t contribute to the project back then, but the overall architecture fascinated me and opened up a whole new era for me. Since I started working for the Spring team in 2010, I’ve been able to dedicate most of my time to working on open source software.

How did that lead to your Eclipse Foundation involvement?

My first contribution to Eclipse happened around my efforts to integrate AspectJ load-time weaving into the Equinox OSGi runtime. I implemented an integration of the AspectJ load-time bytecode weaving technology into the pre-OSGi Eclipse plugin runtime and then helped to re-implement a new version of that for the Equinox OSGi runtime. 

It was a result of me combining two of the most interesting technologies that I came across back then: the Eclipse IDE architecture, especially around the plugin mechanism, and the AspectJ language and its implementation, which I started to work on as a summer intern at Xerox Parc in 1999. I still remember Tom Watson — the lead of the Equinox OSGi implementation — helping me with this contribution for endless hours. I am still extremely thankful for that. It was a great experience.

As a result of contributing the AspectJ load-time weaving to the Equinox OSGi project, I became a committer for this part. A very honorable moment.

Over the course of the past 20 years or so, I’ve gotten involved with various Eclipse IDE-related projects, including AspectJ, AJDT, and the Equinox OSGi runtime. I also invented and created the Eclipse Flux project (an early pre-VS Code attempt at putting language logic into separate processes and enabling rich language tooling for web-based IDEs) and tried to contribute to the planning and the architecture council as well. Nowadays, I am mainly contributing to the LSP4E Project from time to time and advising the Eclipse IDE Working Group.

How have you found that experience, being a committer?

Being a committer in the space of the Eclipse IDE projects (as well as the Spring open source projects — which are not Eclipse projects, but play a major role in my open source activities) means you contribute to something that is used by millions of developers worldwide and has an impact on so many developers around the globe.

This is extremely rewarding and motivating. It is basically the main driver why I love what I do: Enabling developers around the globe and making their lives easier and more efficient when developing amazing software using Spring, the tools we ship for Spring, and the underlying developer tools platforms, whether it is VS Code or Eclipse. 

What’s next? Any particular goals or things you’d like to achieve?

My work on the Spring Tools continues and there are many efforts and ideas underway to push this to the next level. On the Eclipse side, I very much enjoy the increased energy and passion that goes into the Eclipse IDE from the community and the people involved. I follow the promising work around Initiative 31 to modernise SWT, the efforts to use javac as a base for parsing and compilation inside of JDT, and the ongoing work to use JDT as a language server independent of the IDE or editor around it — to name just a few things on my radar. And wherever I can, I help the people involved with these efforts.

Any advice for someone considering getting more involved with open source or becoming a committer?

Don’t be shy or hesitant to get involved, to ask questions, to request help, and to contribute code. Sometimes it takes a while to get contributions accepted. Sometimes it involves incorporating a lot of feedback and suggestions from the community. And, sometimes you will figure out that your contribution will not make it into the code base. But keep going. Every piece of (constructive) feedback is a great opportunity to learn and to grow.