Before I joined Vimeo in 2014 my PHP code had not been scrutinised by other humans, and it was an enlightening experience. I discovered I was reasonably good at writing PHP, but a little subpar when it came to catching bugs before my code entered production.
I experienced another early revelation at Vimeo: I really enjoyed improving the development experience for my colleagues via custom tooling. These two discoveries lead to the creation of Psalm, a tool I created to help us avoid bugs in production.
I’ve spent most of my time at Vimeo flitting between working on our large PHP application and working on Psalm. That tandem effort has resulted in a ton of cross-pollination. Big Psalm features like security analysis, IDE support, automatic fixes and unused code detection all exist because we wanted that functionality at Vimeo, and because I was given time to build the tooling necessary. Those features have helped guarantee our PHP app’s long-term maintainability.
Non-Vimeo developers have also provided many significant pull requests and bug fixes, and many of those in turn have also benefited Vimeo’s PHP application. In the past year alone Psalm has received contributions from over 70 different developers, which represents an exceptional collaborative effort. Helping triage and review these contributions are two fellow maintainers Bruce Weirdan and Orklah.
I’ve been gradually reducing my own contributions to Psalm for the past six months. At the beginning of January I looked back at my commit history and realised there was rarely a day in the past three years where I hadn’t committed code to Psalm or a related project. While Psalm continues to be massively valuable to Vimeo and to developers the world over, it thankfully no longer requires the same level of personal sacrifice from me (or anyone else).
Now there’s a newer, slightly more decisive change to my circumstances: July 1st is my last day at Vimeo, ending an incredibly productive seven-year run.
In my next job I’ll continue to do the work I love, improving a big codebase with static analysis. That work won’t involve writing PHP, though, so this moment feels like a natural stopping point for my code-related contributions to Psalm. I’ll still review pull requests and add documentation as needed, but I don’t want to have too many balls in the air.
Though Vimeo’s still working on a replacement for me, I’m confident that they will continue to support Psalm’s development. Vimeo’s in the PHP game for the long-haul, and it will remain a centre of excellence for the language. PHP deserves nothing less.