Ibuildings is proud to organise the 16th Dutch PHP Conference on Friday June 24, 2022. A single track online event free of charge to all attendees.  Keywords for these days: Know-how, Technology, Best Practices, Networking, Tips & Tricks.

Friday 24th June 2022

Talk by Cal Evans (15 minutes)

Opening of Dutch PHP Conference by Cal Evans

09:45 Use an API contract for testing and development!
Talk by Danny Verpoort (45 minutes)

A lot of us have been there before: we don't really like the URI we picked for a certain endpoint and would like to change it. There's a mobile app and a web app which depend on our API though so it would mean a large code change over 3 projects. What if we had generated client packages from our API though? It would allow automatic testing of our contract changes in the downstream application and mean only a package version bump to implement the new URI. This talk covers how we can leverage GitLab's downstream pipelines to generate packages from an OpenApi spec and test other downstream projects with it. What you'll learn from this talk: - Create a composer package from an OpenApi Spec. - Leverage GitLab CI downstream pipelines to publish the package to the GitLab Registry. - Test the downstream frontends with the updated package.

Love Your Monolith
Talk by Mike Lehan (45 minutes)

What do you think of your monolith: Should you tear it down and rebuild with microservices? What would you lose? This talk will explore how we make sensible architecture decisions, and look at how microservice concepts can help us evolve & future-proof our monolithic architecture. The monolith has come in for criticism, some of it deserved, in recent years. Microservices are heralded as the solution to many problems we face with monolithic applications. This talk will explore the reasons underpinning these architecture decisions, and examine if we can apply these principles to evolve our monolithic applications. We’ll learn about coupling, pros & cons of different approaches, and explore real world examples to see how thinking well about architecture choices can benefit us. We’ll even see how monoliths and microservices can work together - is there a best of both worlds? This talk is drawn from experience managing a complex web application powering our startup business, grown from a single developer to a team of 14 engineers. Over the years we've been challenged as old architecture decisions cause us problems, and engineers look to new, exciting concepts like microservices to solve these. During these processes, trying to understand why we built things the way we did, we've seen places where the knee-jerk reaction to move to microservices can be damaging, losing important embedded business knowledge from our code base. We've adopted practices to allow microservices ideas to influence how we continue to build and maintain our monolith, gaining control over our systems without losing the underlying experience codified in our systems. I want to assure developers that tearing things down and rebuilding isn't the only way, that their existing code can be not only maintained well, but valuable because of the lessons it contains. In conversations with developers at a number of conferences I've spoken at, there's often been guilt inherent in how people think of their code vs what they see published or spoken about - I want to try and reverse this in a helpful way. What you'll learn from this talk: * How to assess monolith architecture in light of the growth in popularity of microservices * An understanding of why different architecture styles might be chosen, and how they fit in different situations * Concepts within a monolith that can gain the advantages of microservices without large scale architecture change * Ways to mix architecture types and try to achieve the best of both worlds

Bugfixing your career
Talk by Diana Scharf (45 minutes)

For a lot of us programming is passion and vocation – and for me, too. But last year... I almost lost my love for coding forever. It happens to the best of us: you find yourself in a job situation that destroys your love for coding and makes you question *everything*. This talk is about how I bugfixed my career and regained contentment, meaning and genius. I will pass on the lessons I learned on how to protect yourself from false loyalty, getting out of a job you once loved, taking calculated risks and finding your own field of passion. What you'll learn from this talk: Let’s look at my mistakes and find the bugs in my career - I’ll show you how I evaluated and fixed the bugs in my career with simple methods - Passion is dangerous for your career – I’ll explain why.

13:00 Building Recommender System in PHP8
Talk by Mihailo Joksimovic (45 minutes)

We are SURROUNDED with recommendation systems! Everything from targeted ads, through "usually bought together with", all to "People you may know". This is all recommender systems' doing. What you may not have known is that PHP is perfectly capable of executing Machine Learning tasks and as such, very suitable for developing recommender systems. Join me in this talk and learn more of how to do it efficiently in PHP8! What you'll learn from this talk: - How recommender systems work at all. - Collaborative-filtering and how these work. - Content-based and personalized recommender systems and how they work. - How all of this can be done in PHP8.

14:00 Scaling: from 0 to 20 million users
Talk by Josip Stuhli (45 minutes)

At SofaScore we use PHP/Syfmony and open source technologies to serve 20 milion monthly active users. This is a story of how our infrastructure and software evolved over time to accommodate an increasing number of users - from on-premise to cloud and back down. How does one make an infrastructure to handle more than a couple of users? How do you go from 100 to 1000 to 100,000 to tens of millions? What happens when due to popular demand hundreds of thousands of users hit your servers at the same time? I'll tell you a story of how a small team of people managed to move software and services from one server to two, and then to dozens on cloud and then back to on-premise. What we encountered on the way, where we failed, and how we solved it. What you'll learn from this talk: - How to go about designing an application for growth. - What to do and what not to do. - How to adapt to an increase in monthly active users. - Gain an insight on how a PHP Symfony application can handle 20 million monthly active users.

15:00 How to lead brilliant developers
Talk by Bryce Embry (45 minutes)

Sometimes the most talented developers can also be the most frustrating to work with. They may obsess over minor details, insist on rigid adherence to peculiar rules, or simply not play well with others. So, how do you lead someone who is brilliant but frustrating? In this session you’ll learn how some smart people see the world differently, understand the mind-sets which not only make them great but also give them grief, and discover how much they need your leadership. In the end you’ll leave with practical plans to reduce frustration and help the brilliant programmers on your team shine even brighter. What you'll learn from this talk: - How great attention to detail can lead to indecision, and how you can help. - What you can do when a team member doesn't work well with others. - Why patterns and predictability are crucial, and how to tweak them when needed. - How to avoid the clash between ambiguity and literal thinking. - Why disagreement is crucial to success, and how to handle it.

Talk by Cal Evans (15 minutes)

Closing of DPC22 by Cal Evans