Speaking diary

Here's every event I've spoken at, most recent first.

Total talks/workshops Conferences Conference talks Conference workshops
77 36 42 8

Date Event Talk Resources
Jun 2026 Laravel Live UK 2026 Rector Beyond Upgrades: Transforming Your Workflow
May 2026 php[tek] 2026 Custom PHPStan Rules: Automate Standards and Save Time
May 2026 php[tek] 2026 Type Safe PHP: Leveraging Static Analysis for Robust Code
Apr 2026 SymfonyLive Berlin 2026 AI Writes Code. PHPStan Keeps It Honest. [slides]
Mar 2026 Dutch PHP Conference 2026 Rector Beyond Upgrades: Transforming Your Workflow [slides]
Feb 2026 ConFoo 2026 Custom PHPStan Rules: Automate Standards and Save Time [slides]
Feb 2026 ConFoo 2026 The Test Suite Holy Trinity
Nov 2025 SymfonyCon Amsterdam 2025 Creating Custom PHPStan and Rector Rules (Workshop)
Oct 2025 Longhorn PHP 2025 AssertTrue(isDecoupled("my tests")) [slides] [joind.in]
Oct 2025 Longhorn PHP 2025 Mastering automated refactoring with custom Rector rules (Tutorial) [slides] [joind.in]
May 2025 php[tek] 2025 Extending the PHP Language [slides] [joind.in]
May 2025 php[tek] 2025 Mastering automated refactoring with custom Rector rules (Tutorial) [slides]
May 2025 phpDay 2025 Custom PHPStan Rules: Automate Standards and Save Time [slides]
Feb 2025 ConFoo 2025 Elevating Legacy
Feb 2025 ConFoo 2025 Getting the most from static analysis
Dec 2024 SymfonyCon 2024 Demystifying Dependency Injection in Symfony [slides]
Oct 2024 PHPCon Poland 2024 Mastering automated refactoring with custom Rector rules (Tutorial)
Jul 2024 Web Summer Camp 2024 Writing custom PHPStan rules (Tutorial)
Jun 2024 PHPers Summit 2024 Extending the PHP Language [slides]
Feb 2024 PHP UK 2024 Elevating Legacy [slides]
Nov 2023 PHPCon Poland 2023 Extending the PHP Language [slides]
Nov 2023 PHPCon Poland 2023 Writing custom PHPStan rules (Tutorial) [slides]
Oct 2023 IPC (Munich) 2023 Effective Code Review [slides]
Oct 2023 IPC (Munich) 2023 Getting the most from static analysis [slides]
May 2023 PHPers Summit 2023 PHP Generics Today (almost) [slides]
May 2023 PHPers Summit 2023 Writing custom PHPStan rules (Tutorial) [slides]
May 2023 IPC (Berlin) 2023 The Test Suite Holy Trinity [slides]
May 2023 IPC (Berlin) 2023 Getting the most from static analysis [slides]
May 2023 PHPUGFFM (Frankfurt) Extending the PHP Language [slides]
Mar 2023 PHP SW Introducing static analysis tools to legacy projects [slides] [video]
Feb 2023 PHP UK 2023 Extending the PHP Language [slides] [video]
Feb 2023 PHP UK 2023 Effective Code Review [slides]
Jan 2023 Amsterdam PHP User Group Extending the PHP Language [slides]
Nov 2022 Longhorn PHP 2022 PHP Generics Today (almost) [slides] [joind.in]
Nov 2022 Longhorn PHP 2022 Writing custom PHPStan rules (Tutorial) [slides]
Oct 2022 IPC (Munich) 2022 PHP Generics Today (almost) [slides]
Oct 2022 IPC (Munich) 2022 Extending the PHP Language [slides]
Feb 2022 ConFoo 2022 PHP Generics Today (almost) [slides]
Feb 2022 ConFoo 2022 AssertTrue(isDecoupled("my tests")) [slides]
Feb 2022 PHP UK 2022 Practical Static Analysis [slides] [video]
May 2020 PHP Usergroup Munster PHP Generics Today (almost) [slides]
Feb 2020 PHP UK 2020 PHP Generics Today (almost) [slides] [video] [joind.in]
Feb 2020 PHP Sussex PHP Generics Today (almost) [slides]
Jan 2020 PHP Benelux 2020 Effective Code Review [slides] [joind.in]
Jan 2020 Leeds PHP PHP Generics Today (almost)
May 2019 PHP Russia 2019 Practical Static Analysis [slides] [video] [joind.in]
May 2019 phpDay 2019 AssertTrue(isDecoupled("my tests")) [slides] [joind.in]
May 2019 PHP London Getting the most from static analysis
Apr 2019 PHP South Wales Practical Static Analysis [slides]
Dec 2018 CODEiD 2018 Effective Code Review [slides] [video]
Oct 2018 IPC (Munich) 2018 AssertTrue(isDecoupled("my tests")) [slides]
Oct 2018 IPC (Munich) 2018 Practical Static Analysis [slides] [video]
Sep 2018 PHP SW
(beta version)
Practical Static Analysis [video] [joind.in]
Sep 2018 PHP London
(beta version)
Practical Static Analysis [slides]
Jul 2018 PHP Oxford
(beta version)
Code review and CI in your lunch break [slides]
Jun 2018 PHPMiNDS The Test Suite Holy Trinity [slides]
Jun 2018 Dutch PHP Conference 2018 AssertTrue(isDecoupled("my tests")) [slides] [video] [joind.in]
Jun 2018 php[tek] 2018 Beat the bugs, before they beat you [slides] [joind.in]
May 2018 php[tek] 2018 Effective Code Review [slides] [joind.in]
May 2018 phpDay 2018 Effective Code Review [slides] [video] [joind.in]
May 2018 PHP-NW user group
(beta version)
AssertTrue(isDecoupled("my tests")) [slides]
Apr 2018 PHP SW
(beta version)
Effective Code Review [slides] [video] [joind.in]
Apr 2018 PHP Berkshire Beat the bugs, before they beat you [slides]
Jan 2018 PHP Benelux 2018 The Test Suite Holy Trinity [slides] [joind.in]
Jan 2018 PHP North East The Test Suite Holy Trinity [slides]
Jan 2018 PHP Brighton The Test Suite Holy Trinity [slides]
Jan 2018 PHP Dorset
(beta version)
The Test Suite Holy Trinity [slides]
Nov 2017 PHP Berkshire The Git Eureka moment [slides]
Sep 2017 PHP-NW
(uncon)
Don't be so primitive [slides] [joind.in]
Sep 2017 PHP EM Beat the bugs, before they beat you [slides] [joind.in]
Jul 2017 DrupalCamp Bristol 2017 Beat the bugs, before they beat you [slides] [joind.in]
Jun 2017 PHP Warks Beat the bugs, before they beat you [slides] [joind.in]
May 2017 PHP SW Don't be so primitive [slides] [video]
Apr 2017 PHP Hants
(beta version)
The Test Suite Holy Trinity
Oct 2016 PHP SW Decoupling with events [slides] [video]
Oct 2015 PHP SW Code review with Gerrit [slides]
Aug 2014 PHP SW Design for testability [slides]

See all my talks.