/// Train
Your team already knows how to code. We teach them how to keep a codebase healthy.
Testing, static analysis, refactoring, architecture. Taught on-site by someone who does this in production systems every day — not from slides written by someone who doesn't.
This isn't a talent problem. It's a training problem. And it's fixable.
Most developers are self-taught when it comes to practices like testing, static analysis, and refactoring — picked up from blog posts, conference talks, and whatever the last team happened to do. Some of it is good. Some of it has gaps.
The result: tests exist but don't catch the right things, static analysis is installed but nobody trusts the output, refactoring happens ad hoc, and architecture conversations go in circles because there's no shared vocabulary.
/// What we teach
Every workshop is built around four themes. The content is tailored to your team, your codebase, and where you are right now.
Testing
Not "how to write a test" — how to build a test suite that actually protects you. Unit, integration, and system tests: what each level catches, how to architect code so it's testable, and how to keep tests from becoming a second maintenance burden.
Static analysis
Tools like PHPStan and Psalm can catch entire categories of bugs before production. We show your team how to get the most from them, how to introduce them to legacy projects without drowning in warnings, and how to write custom rules that enforce your standards automatically.
Refactoring
Every team has code they're afraid to touch. We teach structured approaches — from small daily techniques to safely upgrading legacy codebases, including automated tools like Rector for changes that would take weeks by hand.
Architecture
Decoupled code is easier to understand, test, and extend. Practical architecture patterns, dependency injection, event-driven design, and decisions your team can maintain long after the workshop ends.
/// How it works
We find out where you are
We talk to your team leads and look at your codebase — what your developers know, what gaps exist, what problems they hit daily.
We build around your reality
The themes are consistent, the content is bespoke. We use your code where possible — familiar exercises land better than abstract examples.
We deliver on-site
At your office, with your team, working through real problems. A focused day, a two-day deep dive, or shorter sessions across weeks.
You leave with something usable
Practical takeaways your developers can apply immediately. Not theory they'll forget by Friday.
/// Who teaches this
Dave Liddament
21+ years writing software commercially. Speaker at SymfonyCon, International PHP Conference, PHP UK, phpday, ConFoo.
Dave is the author of SARB (Static Analysis Results Baseliner), an open source tool for introducing static analysis to existing projects without being overwhelmed by historical warnings, and the PHP Language Extensions library. He organises PHP-SW, Bristol's PHP meetup, and runs Bristol PHP Training, a free monthly workshop.
This matters because the person training your team isn't a professional trainer who learned the material from a manual. He's an engineer who does this work, builds tools for it, contributes to the community around it, and has refined how to teach it through years of conference talks and hands-on workshops.
/// What we expect from you
Good fit
- Working developers who need sharper practices
- You want training grounded in production experience
- You're willing to set aside real time to learn
- You want measurable improvement in quality and confidence
Not for you
- You need a certificate for compliance purposes
- You want training for hundreds of people at once
- You're looking for introductory programming courses
- You expect a slide deck and a multiple-choice quiz
Start a conversation
Tell us what your team is working on and where the gaps are. We'll talk through whether training is the right next step. No obligation, no hard sell.