La parole est aux speakers : Benjamin Eberlei

Publié le

Jusqu’au Forum PHP 2026, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

Leveraging Production Data for AI Assisted Software Development

Left without guardrails, AI assisted software development can quickly spiral out of control: buggy, hard to maintain, inconsistent and slow code is the result. Only when you introduce quality assurance tools on all levels will you get reliable results. In this talk I show how you can use static analysis, testing tools and production runtime data to ship code with AI assistance.

Joan Clarke - HJK
08/10/2026
11:55-12:35

You work a lot on Doctrine, could you tell us about your role in the project?

I came into the Doctrine project when ORM 2 was in alpha 1 stage in 2009. At the time I was reading about ORM patterns and implemented my own ORM. Doctrine 2 was so much more sophisticated and I liked working with and discussing ORM patterns and implementation details.

When ORM 2 was released as a stable version end of 2010 I became the lead maintainer until around 2014, when Marco Pivetta took over that position. I was mostly inactive for 6 years on the project while launching my own company Tideways.

In 2020/2021 the effort to release an ORM 3 failed for various reasons, and at that time I stepped back into a project lead role, mostly an arbiter and expert on implementation decisions, reviewer of last resort, and also as a force to argue for backwards compatibility as much as possible.

In 2023 I started organizing yearly Doctrine Core Team meetings. We have set up an OpenCollective project to gather and distribute funds for the costs of these yearly meetings. After Düsseldorf, Bonn and Paris we will meet in Amsterdam this year.

How does your work on Tideways impacts how you maintain Doctrine?

A lot, I have little time to work on Doctrine nowadays. I can focus maybe on 1 or 2 bigger initiatives every year. Currently this is native lazy objects added in PHP 8.4, and everything related to this, for example our re-introduced support for partial objects.

Owning a company requires a lot of dedication and leaving interesting “side projects” aside. The Tideways codebase uses Doctrine ORM obviously, so a cross-cutting concern of mine is to keep Doctrine use up to date and learn about the migration path of DBAL and ORM and how it may affect other users.

I also use Tideways for performance investigations into Doctrine, currently, we are adding dedicated bottleneck pattern detection for various accidental triggers of lazy loading, N+1 queries for proxies and collections and more.

Building Doctrine was always about efficient and fast code, and this is an interest that I have had since I started programming. So building a profiler and maintaining an ORM are somewhat related.

How do you deal with pull requests made by AI?

I see AI as a tool and it assists developers in writing code, like an IDE, editor, refactoring or analysis tools. As such I don’t see a problem with AI generated pull requests per se.

We use AI assisted development in Tideways and I have made a few changes, issues and PR reviews in Doctrine with AI as well. It's extremely helpful, and I see it as a robot pair programming companion.

One problem I have seen in Doctrine is that developers who run into a problem or missing feature in Doctrine, solve these by letting the AI coding agent completely generate the code for a solution. Often these solutions solve their problem, but are not generic enough to become part of Doctrine.

Previously you would probably reach out before writing a big feature request to see if there is even a remote chance for it to get accepted. Now we get these large PRs with feature requests that might only be used by 1-2% of users. If they are already built on a weak foundation, then we as maintainers would essentially need to start from scratch to reimplement them with the right directions and prompts.

For an Open-Source team of volunteers, this is unrealistic and means that a lot of PRs will be rejected.

Une conférence présentée par

Benjamin EBERLEI
Benjamin EBERLEI
Founder of Tideways, PHP performance monitoring, profiling and exception tracking software. Doctrine core member and occasional PHP contributor.

Autres interviews