talks & speakers
Lessons Learned Live Coding in Public
Part of my job as a Developer Evangelist means I spend a lot of time live coding publicly. Mainly this is on the live-streaming platform Twitch, but also at conferences, customer training, and demos. Because my job doesn't involve all coding all the time, a lot of the things I end up coding are either incredibly complex, incredibly simple, or even throw-away. I've done so much live coding in public that it's skewed my programming reality to a wondrous degree. Join me in this session as I relay habits I've learned to help myself with my project-hopping ways, tools I turn to again and again, and just how many times I've managed to reveal a live API key to a live-coding audience.
Gary Hockin
Staff Developer Evangelist @ Twilio
Gary Hockin travels all over the world empowering developers as a Developer Evangelist for Twilio (fine purveyors of communication APIs). He is a talented and evocative speaker, a cultivated author of impressively entertaining blog posts, and records elegant and informative screencasts and videos. Gary's also a contributor to the Zend Framework and is argumentative enough to be on the community review team. When Gary had a real job, he was a developer of at least 'competent' standard with over 20 years experience. When not developing, speaking about developing, reading about developing or writing about developing, Gary enjoys playing computer games and arguing with his two kids. Gary has recently discovered that conferences ask speakers to write their own biography text, and you can get away with writing pretty much anything you want.
Your Tests Won't Save You
Having a good suite of automated tests simply isn't enough to ensure your application continues to behave as expected and that your code base continues to be maintainable. In this talk Chris draws on his real-world experiences to discuss tools he believes should be used alongside your tests. You'll be introduced to code linters, static analysis tools, and build servers by someone who used to have to do this work both ways, uphill, and in the snow.
Chris Hartjes
Consultant @ Roave
Chris has been helping build websites of all sorts of shapes and sizes, mostly using PHP, since 1998. He has been shouting at people to write tests for their PHP code since 2005. He works from his home office in the snowy wilds of Canada.
The Right API for the Job
When you've been tasked with creating an HTTP API, there's many things that you need to consider and I'm here to help you navigate your journey. We start with the fundamental decision of architecture: should your API be RESTful? What about GraphQL? or RPC? We'll look at the choices and their strengths and weaknesses to guide your decision. We'll also take a hard look at the other, vital components of an API from how it works with HTTP, through validation, payload formats and error handling. An API makes its mark when it is used, so we'll also consider developer experience to ensure that your API is best it can be. By the end of this talk, you'll be well-placed to design and deliver a great API that's fit for purpose.
Rob Allen
VP of Engineering @ Covie
Rob Allen is a software consultant and developer with many years experience in a variety of interesting languages. He's particularly interested in APIs and the ecosystem around them along and contributes to Slim Framework, rst2pdf & Apache OpenWhisk along with other open source projects. Rob is a published author and based in the UK where he runs [Nineteen Feet Limited](http://19ft.com), focussing on API development, training and consultancy. In his spare time, Rob blogs at [akrabat.com](https://akrabat.com) and can often be seen with a camera in his hand.
Docs or it didn't happen
Your code can be all rainbows and unicorns, cutting and shining, but if there’s no documentation, does it even exist? Documentation can make or break your open source project. Don’t believe me? Let me tell you a story or three about writing and managing documentation for the largest open source CMS community. The WordPress documentation.
Milana Cap
WordPress Engineer
Milana Cap is a WordPress engineer at XWP, WordPress Documentation Team representative, and Documentation Focus lead for WordPress 5.8 and co-lead for WordPress 5.9 release cycles. She helped organise some of the largest WordPress conferences, WordCamp Europe 2018 and 2019, with focus on Contributor Days. Being a single mum in Serbia, she developed a superpower of fighting the odds. Easily bribed with dark chocolate and a nice piece of bacon.
Fantastic functions and where to find them
PHP is a truly amazing language. You probably use PHP to create beautiful websites and services in an expressive way. But the language is capable of so much more than what you'll probably program in your day to day job. In this entertaining talk, we'll take a look a couple of surprising ways to use PHP. You'll see lesser known functionality being used such as weak maps and process control functions. We'll also cover a couple amazing open source PHP projects that have borrowed inspiration from communities outside of PHP such as Tailwind and Phoenix. After this talk you'll be even more convinced how truly flexible PHP. You'll also have learned a couple of functions and packages that you can use in your next project.
Freek Van Der Herten
Developer @ Spatie
Freek Van der Herten is a developer and partner at Spatie. This Belgian company specializes in PHP, and has released a rich portfolio of digital products and courses. They have also created over countless open source PHP and Laravel packages that have been downloaded over 200 million times.
Tuning PHPStan to Maximum Strictness
Besides the traditional rule levels 0 through 9 (https://phpstan.org/user-guide/rule-levels) which allow developers to adopt PHPStan incrementally while increasing the strictness gradually, the static analyser offers plenty of other configuration options to look at the code with a critical eye. In this talk I'll show you these options with examples of practical impact on your code. It will become more predictable and readable.
Ondrej Mirtes
Developer @ PHPStan
Ondřej is a full-time open-source software developer. He likes pointing out mistakes in other people's code so much that he created PHPStan, a popular static analyzer that focuses on finding bugs in code without running it. He shares his experience at conferences across the world, offers his expertise as a consultant, and organizes trainings.
How I sliced your app
It's that time of the year again: you've been putting it off for a long time, but your PHP project is starting to become a mess, and you don't have a plan on how to bring some order in the chaos. Complexity is always lurking around, threatening your productivity, and we constantly need to fight it. Luckily, it is very much possible to organize your code in such a way that it is easier to maintain long-term, you just need a good plan! In this talk, we will focus on how to take greenfield and brownfield projects, and practical approaches taken by the speaker to keep them under control. We will apply tools and structural/architectural patterns that worked in the field, and which may be useful next time you start to feel like everything is starting to become too confused.
Marco Pivetta
Consultant @ Roave
Marco is a software designer, architect and consultant. Constantly busy with the OSS scene, he regularly takes time to publish tools and talks that will improve the overall quality of software within the PHP community.
Living the Best Life on a Legacy Project
You've started a new job. As you dig deeper into the codebase, the WTFs per minute rate rapidly increases, and you're left wondering... "Where do I start?!". In this talk, I'll draw on my own experiences of joining several different teams to help maintain their legacy codebase. You'll come out of this talk with a better understanding of when you should or should not refactor existing code, the importance of communication, documentation, testing, and ideas for automated tests and checks.
James Titcumb
Consultant at Roave
James is a consultant, trainer and developer at Roave. He is a prolific contributor to various open source projects and is a Zend Certified Engineer. He also founded the UK based PHP Hampshire user group and PHP South Coast conference.
Never stop learning, or how curiosity and cross pollination drives innovation
Software developers all know: continual learning is part of the job. And that's what so many of us love about it. Innovation is constant, and it's an exciting challenge to keep up with so many new technologies. But where do all these new concepts, frameworks, and patterns come from? Let's take a journey through the history of innovation to explore how different worlds collided to inspire new, radical ideas. Let's discover how cross-pollination has helped our community grow into what it is now, and can help us think of new ways to solve complex problems. Join us for a session of inspirational stories that illustrate how cross-pollination has helped form some of history's most profound innovations, and will hopefully inspire you to conjure up your own radical new ideas.
Pauline Vos
Freelance software engineer & consultant
Pauline is freelance software engineer and consultant based in Amsterdam. She’s passionate about good, clean software design and being as efficient (lazy) as possible. You can usually catch her teaching people about Git or doting on her daughter.
Web API and client generation using OpenAPI specification
In this talk we'll show how to use OpenAPI specification to generate a PHP client. We will present a use case of the project that we did to build the PHP client for Elasticsearch and Enterprise Search, generating more than 400 endpoints.
Enrico Zimuel
Principal Software Engineer @ Elastic
Programmer since 1996. Principal Software Engineer at Elastic. Open source contributor and co-author of many PHP projects. Core committee member of PHP-FIG. TEDx and international speaker in 110+ conferences. Author of programming books, such as "Sviluppare in PHP 7" by Tecniche Nuove. Professor at ITS ICT Piemonte of Torino (Italy).
Introducing PEST — a delightful PHP Testing Framework
Testing can be more intuitive, user-friendly, and productive than you think! This talk introduces you to Pest - a delightful PHP Testing Framework with a focus on simplicity. It was carefully crafted to bring the joy of testing to PHP. Check out the website: pestphp.com. Get ready for a live-coding session, where I unveil all the goodies of this new open-source testing framework. After this talk, you’ll be able to use Pest in your everyday PHP.
Nuno Maduro
Laravel core team member
Laravel core team member — created Pest, Laravel Zero, Collision, Larastan, PHP Insights, Termwind, and more.
How to build a test suite from scratch
Building of a test environment for PhpUnit based on a PHP non-test-native application built on Phalcon framework. Identification of the useful and necessary components for the creation of a complete environment for writing test cases and their execution. CI/CD structuring with GitLab and GitLab Runner.
Armando Caprio
Senior Web Developer @ Shellrent
I graduated from Padova University in 2015 with a Bachelor's Degree in Computer Science. As a software developer I specialized in data structures and software architecture, topics that have always thrilled me and that have given me great professional satisfaction. In my spare time I enjoy playing chess and American Football for my hometown team.
Tobia Zanarella
Head of Software Development @ Shellrent
I graduated from Milano University of Studies with a Bachelor's Degree in Security of IT Systems and Networks. I am very passionate about data science and software engineering. As head of development, my commitment is focused on motivating and supporting the developers of my team and making the work environment as comfortable and optimized as possible.
PHP + ES + CQRS + DDD = ? An integrated strategy
DDD, CQRS, Event Sourcing have generated a lot of buzz in recent years, but they seem an unattainable target for the everyday, long running projects we work on. The required amount of knowledge seems unbearable, halting the delivery of business value is not an option, and sticking with the "known ways" of development seems like a safer bet. In reality, all those approaches have so much in common underneath that applying all of them together makes them collimate toward cleaner and suppler code, with a compound effect on the benefits and a reduced overall cost of implementation. In this talk, we will see the action plan that my team designed at the start of this year to try and implement all of this inside an already-running project, going from the most useful tools to keep the implementation in check, to the use of the EventSauce library, starting from a small fraction of the project. From there, we will see that thee attack plan that will lead us, with multiple short iterations, over the process of taking over the "old" code and transforming it into a fully event-sourced DDD application, while still delivering new features.
Alessandro Lai
Engineering Manager @ Facile.it
I am an Engineering Manager at Facile.it; nevertheless, I still write PHP code nearly every day. I started attending PHPDay in 2015, and it ignited my love for open source, which led me down this path of becoming a speaker, a secretary of PHP-FIG and a passionate PHP open source maintainer.
PSR-18: Abstracting HTTP clients in PHP
PSR-18 defines how to send PSR-7 requests without binding your code to a specific client implementation. Major HTTP clients like Guzzle and the Symfony HTTP client support PSR-18. This is particularly interesting for reusable libraries that need to send HTTP requests but don't care about specific client implementations.
David Buchmann
Developer at Liip SA
David Buchmann works at Liip AG as Symfony expert. He is active in several Open Source projects, notably the FOSHttpCache library and the HTTPlug client abstraction. When he is not coding, he enjoys travelling with his girlfriend, music, magic the gathering and other games.
PHP's Kitchen Nightmares
Remember the Kitchen Nightmares TV show? Chef Ramsay visiting restaurants that are struggling, and telling them how to improve, but in the process you see all the bad things happening? Let's head into our development kitchen and look at things that can go wrong, and figure out how to improve.
Stefan Koopmanschap
Co-Founder @ Ingewikkeld
Between having a family life, doing several radio shows and podcasts for Dutch radio station KINK and attending (online) conferences and usergroup meetings, Stefan tries running a company called Ingewikkeld and organizing a code retreat called WeCamp and an online conference called Comference. Having worked with PHP and several of its open source products since the late 90s, he still likes it for getting the job done.