Dave's speaker badges

As a seasoned conference speaker, I've shared my insights on code quality, testing and static analysis at events around the world. I aim for my talks to be informative and engaging, leaving audiences with practical takeaways they can apply immediately to their work.


Extending the PHP Language

Learn how to implement new language features using static analysis. [Full details]


PHP Generics Today (almost)

Many PHP developers would love generics. We might have to wait a while until they come along. This article shows how existing tools can give us the power of generics now (almost). [Full details]


Elevating Legacy

This talks through how to do upgrade legacy codebases. [Full details]


Practical Static Analysis

Static Analysis can drastically reduce the bug count in your codebase. This talk gives practical advice on integrating static analysis into your development workflow. [Full details]


Introducing static analysis tools to legacy projects

Tips on how to use static analysis tools with legacy projects [Full details]


AssertTrue(isDecoupled("my tests"))

It's good practice to write decoupled code. That good practice should include minimising the coupling between your test code and the code under test. This talk examines why this is important and how to achieve it. [Full details]


Effective Code Review

There are so many benefits from code review; lower development costs, increased code quality, quick up-skilling and on-boarding of team members. This talk shows you how to get the best out of code review. [Full details]


The Test Suite Holy Trinity

This talk look at the properties of unit, integration and system tests in terms of what they test, how fast they run and how quick they are to write. Will look at how to get the most out of testing at each of these levels, how best to architect code for testing and where best to make comprises. [Full details]


Beat the bugs, before they beat you

This talk will show you how to write cleaner code with fewer bugs. And best of all you can apply them the next time you write code. [Full details]


Don't be so primitive

A quick look at Value Objects, what they are, the benefits they offer and why sometimes they should be used instead of PHP’s primitive types. [Full details]


The Git Eureka moment

Let me share my git eureka moment with you. The moment when suddenly everything git related made sense.
We’ll delve just below the surface to understand what commits and branch really are. With these concepts cemented we’ll look at some of git’s more advanced features. [Full details]


Getting the most from static analysis

Learn how to write code to get the most from static analysis tools, so you reduce the bug count on projects you're working on. [Full details]


Code review with Gerrit

Quick introduction to integrating code review using Gerrit into your workflow. [Full details]


Decoupling with events

Decoupled code is easier to understand, test and extend. This talk looks at how you can use events for decoupling. [Full details]


Design for testability

Testing code is difficult right? Not if you design your code with testability in mind. Learn how with this talk. [Full details]


Code review and CI in your lunch break

Code review and CI are vital parts of the modern software development process. It also dead easy to set these up for your project. Find out why and how in this talk [Full details]


Writing custom PHPStan rules (Tutorial)

Workshop to create your customer PHPStan rules [Full details]


Speaker profile

Dave is a director and developer at Lamp Bristol, a software consultancy. He’s been writing software commercially for over 21 years in many languages including C, Python, Java and PHP.

Dave is keen to pass on his knowledge. He speaks at conferences and user groups and also is the organiser of PHP-SW.

He is also the author of a couple of libraries:

When not busy coding Dave enjoys scuba diving and running.