Dutch PHP Conference, takeaways from the conference
On Friday the 24th of June our back-end team watched the Dutch PHP Conference online. To hold on to the inspiring talks and techniques we wrote down our notes and some takeaways from this conference.
Thanks to Jochem for co-writing and reviewing.
Use an API Contract for Testing and Development
Speaker: Danny Verpoort
Danny demonstrated creating an OpenAPI specification, generating a client from it, publishing through GitLab, and implementing it. He utilized swagger-ui to create an HTML representation of the OpenAPI spec, with openapi-generator-cli handling client generation.
His recommendations included:
- Artifactory as package registry
- Pact for contract testing
- AsyncAPI for asynchronous systems
Love Your Monolith
Speaker: M1ke
This talk presented an architectural perspective combining microservice principles with monolithic systems. The speaker advocated applying decoupling and domain-driven design patterns to monoliths rather than immediately migrating to microservices.
Key insights included leveraging static analysis tools like @psalm-internal to enforce domain boundaries and creating satellite microservices for isolated concerns like email and analytics while maintaining core functionality in the monolith.
Bugfixing Your Career
Speaker: Diana Scharf
A non-technical yet impactful presentation about career satisfaction. The speaker emphasized identifying personal indicators for work happiness and addressing issues through incremental improvements. A memorable metaphor: "Your career is a codebase: it has bugs and performance issues. Create small PR's to fix it."
Building Recommender System in PHP8
Speaker: Mihailo Joksimovic
This presentation introduced machine learning capabilities within PHP using libraries like Rubix ML and PHP-ML. The talk challenged assumptions that machine learning requires Python or R, demonstrating practical applications and vector mathematics relevant to PHP development.
Scaling: From 0 to 20 Million Users
Speaker: Josip Stuhli
A case study documenting infrastructure evolution from basic cPanel servers to global Kubernetes clusters supporting massive user growth.
Key takeaways:
- Maintain statelessness where feasible
- Queue computationally expensive operations
- Implement comprehensive monitoring and optimization
- Understand user interaction patterns
- Prioritize caching strategies
- Remain flexible in tool selection and replacement
How to Lead Brilliant Developers
Speaker: Bryce Embry
This talk categorized developers into three personality archetypes and suggested leadership strategies:
The Idealist pursues perfectionism but disregards timelines. Management approach: document unconceived ideas in tracked tickets to prevent loss while respecting time constraints.
The Tech-Focused produces sophisticated solutions with communication gaps. Strategy: provide unambiguous, precise direction and predictable interactions.
The Dissenter challenges conventional thinking. Leadership involves encouraging constructive disagreement, negotiating compromises, and emphasizing collective objectives.
Originally published on norday.tech.