Sebastian Bergmann

Changing code becomes routine
when the tests show what it actually does.

That takes tests that run fast and fail only when something is actually broken. I show your team how to write them: in training courses, in your own code and in reviews.

Creator of PHPUnit
1+ Billion Installs
166,000+ Dependent Packages
25+ Years Experience
eBay Etsy Salesforce Facebook BVB Trulia Payscape BillSAFE

Sebastian Bergmann

I started writing PHPUnit in 2000 and still develop it today. A new major version comes out every February.

I co-founded thePHP.cc, helped start the PHP Foundation and serve on its board. I have also represented the interests of Open Source at the European Commission.

In consulting and reviews, I work with teams on their own code. That is where it shows why tests are missing or why nobody trusts them.

Sebastian Bergmann speaking at a conference

How I help you and your team

About half of the teams I work with start with a training course, the other half with consulting and coaching on their own code. Which fits depends on what your team needs.

Training

Every course is also available for your team alone, online or on site. Public dates are run by the thePHP.cc Academy, also as part of its education flat rate.

View all training courses

Consulting & Coaching

A small e-commerce team had no tests for its code: the business logic lived in the framework, and everything talked to the database directly. We started by pinning down in tests what the code actually did; the team wrote them, I guided. Within a few weeks, a release no longer needed a day of manual checking.

I take on architecture, legacy modernisation and larger consulting projects together with Stefan Priebsch. The thePHP.cc website gives an overview.

Explore consulting & coaching

What my customers say

From training courses and consulting projects

“Crucial for the further development of our business in the coming years”
Derek Smart

Director of Software Engineering, Payscape, 2016

“The energy in the workshops was incredibly impressive. The positive feedback from my team confirmed that the effort was a complete success.”
Mike Depuy

Director of Software Engineering, Salesforce, 2015

“Sebastian and Stefan have shown us how our developers can keep delivering business value without getting sidetracked by our legacy code, and they have set us on track to reach a lot more common grounds between all our development teams.”
Dave Rochwerger

Director Engineering, Trulia, 2014

Case study at thePHP.cc

“Sebastian helped us both through reviews of our codebase and through training for our team. New employees were able to transfer their skills to PHPUnit in no time.”
Noah Sussman

Test Architect, Etsy Inc., 2012

“We had the pleasure of working with Sebastian to train our teams. He did excellent work and we will certainly use his services again in the future.”
Oliver Ratzesberger

Senior Director, eBay Inc., 2011

“Identified the weaknesses of the existing software with precision”
Cornelius Suermann

CTO, BillSAFE, before 2012 (translated)

together with Stefan Priebsch

Insights

I write down what I learn from working on PHPUnit and with teams.

A hand pours water from a glass jug into a white flowerpot on a windowsill. The plant in it has long since withered: its leaves are black and curled, its bare stems hang over the rim of the pot, and fallen leaves lie on the sill. Bright light falls through the window from behind. A visual metaphor for code that no longer has any effect and is still being looked after.

Dead code still gets maintained

A few lines in PHPUnit's Test Runner had no effect after April 2023. For three and a half years I reformatted them, renamed things in them and hardened them for static analysis anyway. PHPStan 2.3 found them, and even then only some of them.

Read more: Dead code still gets maintained
The silhouette of a person with a backpack climbing a rocky crest, lit from behind. One hand rests on the rock ahead, one leg has already followed, and the next hold is within reach. Conifers stand in the haze all around, the sun breaks over a ridge at the top right, and a warm veil lies over the whole scene. An image for a climb that consists of individual holds, every one of which is manageable on its own.

Upgrading PHPUnit should be boring

Whoever upgrades in February is done by the afternoon. Whoever is three majors behind needs a project for it. The difference is not the upgrade but the year before it: the order you work in, and which of PHPUnit's two deprecation lists you read along the way.

Read more: Upgrading PHPUnit should be boring
This image shows an old, grimy pressure gauge in the foreground of a machine room. Its black needle stands between five and six bar, in the middle of the section of the scale marked in red. Blurred pipes, valves and further gauges in red and blue light fill the background. The imagery captures the essence of the article: the problem sat in the red zone for a long time, and whether the system holds depends on the few people who maintain it.

Hate does not fix vulnerabilities

The PHP releases of 21 October 2026 fix two critical vulnerabilities, and you should update now. The PHP Foundation itself calls the time the fix took a structural failure, one that was also caused by a lack of resources. The hate now being poured over PHP changes nothing about that; broader funding would.

Read more: Hate does not fix vulnerabilities

Presentations & Talks

Material and recordings from conferences and events

Material
October 2026

Speed is a byproduct of trust

LLM-based tools make it easy to go fast, and just as easy to go fast in the wrong direction. Teams do not move faster despite their quality controls. They move faster because they can trust them.

More information: Speed is a byproduct of trust

Events

You can meet me next at these events

Let's talk about your project

In the free 30-minute call, we work out whether a training course, consulting or a review fits your team.

Book Discovery Call

30-minute free initial consultation

Book a direct appointment for a non-binding consultation. We'll discuss your challenges and find the best solution together.

Book Discovery Call Now

Book Emergency Appointment

Fast help in urgent cases

An emergency appointment lasts 60 minutes and costs €299. The next free slot is usually within two working days.

Book Emergency Appointment

Contact Form

Send me a message

Describe your project and I will reply within two working days. If you need one, we can work under an NDA.