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.