The vibrant energy of the European PHP community crackled through the streets of Verona, Italy, in May. Our Liiper development team was thrilled to be part of it, with Michelle Sanver as the opening keynote speaker. The conference organised by the GrUSP offered a chance to connect with the human side of this incredible community.

Breaking bread and building bridges

Our adventure began even before the conference with a special self-organised dinner. It wasn't just about swapping code snippets – it was about meeting the inspiring minds behind the expertise. Sharing stories and laughter over delicious Italian food, we delved into the experiences of some of the speakers, gaining insights into the challenges and triumphs of working with PHP projects of all sizes. This warm and welcoming atmosphere set the tone for a weekend filled with learning, connection, and a deeper appreciation for the human element within the developer world.

Day 1: Inspiration and practical insights

The first day kicked off with a powerful keynote by Michelle Sanver. Her journey into the development world, from a young girl fascinated by computers to her early experiences facing gender bias, resonated deeply. Michelle's story highlighted the importance of community support, and her work with "PHP Women" served as a powerful reminder of the need for diversity and inclusion in technology. Her closing statement, "Never assume anything about people online or offline," resonated throughout the conference.

Michelle as a speaker
Michelle presenting her keynote
The day continued with a series of insightful talks. Johannes Pichler offered valuable tips on designing effective APIs, emphasising the importance of following RESTful standards and leveraging Laravel's built-in tools. Derick Rethans delivered a packed session showcasing the exciting new features in PHP 8.1, 8.2, and 8.3, leaving everyone eager to explore the latest advancements in the language.

We also gained valuable insights into software architecture with Katy Ereira's comparison of monolithic and onion architectures. She said improving the code involves peeling outward layers (application) to reach the flesh (core business logic).

An onion is a software architecture
Onion architecture

Milana Cap showcased the power of the WP-CLI, a command-line interface for streamlining development and administration tasks for WordPress projects. Babarinde Odewumi introduced us to Mezzio and Swoole, a powerful combination for building high-performance APIs outside the usual framework suspects.

Security was also a critical focus. Paolo Mainardi's talk served as a wake-up call, highlighting real-world security breaches and emphasising the importance of taking proactive measures. His key points, like doing regular dependency audits and understanding the implications of added libraries, really connected with the whole team.

The day wrapped up with Andreas Heigl's session on testing time-related code. His explanation of the challenges associated with functions like time() and his advocacy for using PSR-20, DateImmutable types and ad-hoc mocking techniques provided valuable tips for ensuring robust and maintainable code.

liipers at the conference:
From L-to-R Emanuele, Laurent, Cindy, Tom and Rodrigo

Day 2: Deep Dives and Heartfelt Reflections

Day 2 opened with Rick Kuipers's thought-provoking exploration of decision-making for developers. He discussed the two systems at play: the fast, intuitive system and the slower, more conscious one (from Daniel Kahneman's book "Thinking, Fast and Slow" ). His insights emphasised the importance of using both effectively, including the value of taking breaks to revisit decisions. He also introduced a team decision-making framework, highlighting the benefits of collaborative decision-making with diverse perspectives.

Rick Kuipers
Rick Kuipers presenting the two decision systems

Rob Allen's session on "Automate All the Things" reflected everyone's desire to streamline workflows. His valuable overview of CI/CD pipelines on GitHub provided practical tips for leveraging automation to free developers from repetitive tasks.

Gina Peter Banyard's live coding session then gave us a fascinating glimpse into the process of contributing to the PHP core code. The challenges and considerations involved in this process were eye-opening, highlighting the importance of not only contributing code but also thorough documentation.

Enrico Zimuel explored the rapidly evolving field of AI. While acknowledging the lack of a complete understanding of how AI works internally, he presented comparisons between GPT and OpenAI, giving us a foundational grasp of these leading AI models.

The Lightning Talks provided a burst of inspiration with quick, insightful presentations. One particularly interesting talk was by Ondřej Mirtes, the creator of PHPstan. He presented the latest update, which allows for more granular error handling and promises to create a more efficient and customisable development experience.

Alessandro Lai presented a refreshing talk about his experience using Symfony Messenger on a large project. He described how successfully replacing a self-made queue system with Symfony Messenger led to a significant improvement in his code's complexity. This case study served as a powerful reminder of the benefits of leveraging existing tools to streamline development.

Upgrading legacy code can be a daunting task. Anna Filina's talk addressed this challenge head-on. Her recommendations, including resources like PHP documentation, legacy documentation sites, and online tools for code comparison, provided a valuable roadmap. Her emphasis on handling deprecated features, creating migration strategies, and thorough testing throughout the upgrade process was particularly insightful.

Jean-Pierre meeting Anna
Anna Filina with Jean-Pierre

The conference closed with a heartfelt and inspiring keynote by Sarah Savage, reflecting on her two decades as a PHP developer. Her passion for the language and the community was contagious, and her closing tips on becoming a better developer resonated with the audience. Encouraging continuous learning through design patterns, documentation, and community engagement left a lasting impression.

From inspiration to action

Verona was more than just a conference; it was an experience that reaffirmed the importance of the human element in tech. We learned from inspiring speakers, shared experiences with fellow developers, and gained a deeper appreciation for the vibrant PHP community. We left Verona energised and motivated to apply our newfound knowledge and connections to our own projects.