Keynote Speakers

Photo of Olivia Liddell

Olivia Liddell

Olivia Liddell is a Technical Curriculum Developer at Amazon Web Services. Over the course of her career, she has created innovative teaching and technical training solutions for learners from diverse backgrounds and skill levels.

A Certified Ethical Hacker, Olivia frequently speaks on topics such as social engineering and security awareness. In her spare time, she enjoys distance running, studying linguistic anthropology, and developing web applications for Arabic language learners.

Socially Engineering Your Pathway to a Better Team

In the context of information security, social engineering is a practice that can help hackers to acquire personal information, insights, and access. Social engineering techniques can also be used by hackers and non-hackers alike to become more skilled at observing the people around them and making informed decisions that are based on these observations. In this session, you will learn how to take a social engineering approach towards improving your team dynamics, including:

  • Strategies for assessing your team’s current strengths and areas of improvement.
  • Recommendations for developing an action plan to initiate change, and using ongoing observation techniques to effectively manage change.
  • Best practices for resolving conflict, particularly for team members with different communication styles.

Back to top

Conference Speakers

Photo of Arnout Boks

Arnout Boks

Software architect by profession but mathematician by education, Arnout has his interests on the boundary between the two, where formal modelling and logical reasoning meet practical problems and pragmatism. He works at Moxio, where he solves complex information management problems with innovative software, and aims to grow a culture of learning and quality. In his free time he contributes to a number of open source projects, like PHP_CodeSniffer, Symfony and the PHP core, and maintains a number of packages himself.

Of representation and interpretation: A unified theory

Many hard problems in programming originate from one single source: not properly distinguishing the representation of data from the way it is interpreted. Have you ever written code that filters `$_GET` for SQL injection attempts? Struggled with timezones? Tried to get escaping right for Javascript in HTML? Detected the character encoding of a string? All are examples of this one problem.

In this talk we will look at some examples of the representation-interpretation problem and find the general pattern behind it. We will see how primitive types make it so hard for us to get this right, and how we can use value objects to steer us in the right direction. You’ll start finding many more examples of this pattern and understand them more easily.

Contains: math, character sets, strong opinions on string escaping, and an almost illegal slide.

Back to top

Photo of Gert de Pagter

Gert de Pagter

Gert is a software engineer at YourSurprise, and spends his free time working on open source projects. He is passionate about writing high quality software, and wants to inspire others to write the cleanest code possible. When not working on code he likes to make long walks or watch movies.

Test your tests are testing

Imagine this: you have just updated a big part of your (fully tested, 100% coverage) code base. You most certainly broke a few things. So to find out where your code broke, you run the tests. All tests are green... Does that mean nothing is broken? Or does it mean your tests aren’t doing their job?

We need tests to make sure our code is working, but how do we make sure our tests are working? In this talk we’ll take a look at mutation testing, and how it can improve our test suite. We’ll make sure our tests are testing.

Back to top

Photo of Ivan Herak

Ivan Herak

PHP developer, working mostly with Symfony, and have extensive experience with eZ Platform CMS. Often included in projects as a consultant and code reviewer.

Code Archeology

“Professor of Archaeology, expert on the occult, and how does one say it… obtainer of rare antiquities.” Indiana Jones: Raiders of the lost Ark

We have all faced legacy code, and the dread of refactoring it to fit modern ages. In this talk I would like to share my experiences and practices acquired during upgrade of 7 years old application, inside a 10 person remote team, and show you that refactoring is not something to be feared, but to be loved.

I will touch everything from team relationships to practical advice during such a bold move. The talk will include suggestions on how to improve the flow of the progress within the team, best practices, and many real-life code examples.

This is not another "make sure you test everything" talk!

Back to top

Photo of Jakub Zalas

Jakub Zalas

Hitchhiker's guide to CI/CD pipelines

Get on a journey to the continuous integration land where the tests are green and the builds are pretty... fast. Find peace of mind in code instantly built and ready to go with every commit you make. Finally, reach the heights of enlightenment by having your project automatically deployed to production.

In this talk Jakub will explain concepts of continuous integration, delivery, and deployment. You'll understand the benefits of having a CI/CD pipeline, and mechanics of building one.

Back to top

Photo of Kenneth Schabrechts

Kenneth Schabrechts

Kenneth Schabrechts is an independent full stack developer at Agilix. He has had roles as a developer, a team tech lead and as a project manager.

Besides his work he also tries to help others by holding trainings, hosting a vlog, a blog and a podcast.

When he’s not playing with code you can find him with his family, at the gym, a meetup or skateboarding.

User Experience Design for Developers

User Experience, User Interface, User Experience Designer, welcome to the world of buzzwords. We developers tend to stay away from this world and its processes. Yet, like those who fulfill these roles, we have the same end-goal in mind, a great product for our end-users.

A User Experience Designer will combine the UX and UI research to get to a beautiful and useful end product. But how exactly do they get this result?

In this talk, we’ll see how the UXD does their job and have a look into their processes. But we’ll go much further than that. We’ll learn to use this process to our advantage. Resulting in better analysis, more in-depth test cases and more useful fixtures.

Back to top

Photo of Liam Wiltshire

Liam Wiltshire

Liam is a UK based developer and the CTO at [Tebex](https://www.tebex.io), a gCommerce company and game server monetization platform. From humble beginnings breaking things in Perl, Liam has tackled projects large and small, from brochure sites in WordPress to eCommerce sites in Magento and SaaS products in Laravel. Outside of CTO-ing, Liam is a father, musician, and is trying to learn the secret to actually having some spare time.

Hack The System: Common ways to attack your platform

Security is a common concern at the moment. There are regular stories about companies large and small having their applications hacked, data being leaked, and cards being stolen.

Any application could be targeted, and as developers we are responsible for ensuring that the data our users provide us remains secure.

Thankfully, there are common patterns and vectors that are used, and by knowing the basics of these, you can protect your application from a large number of such attacks.

Join Liam as he demonstrates some of these common vectors, and discusses how you can protect against them.

Back to top

Photo of Michelle Sanver

Michelle Sanver

Michelle is a code-passionate colourful geek and with more than 15 years of PHP experience, she is eager to share her extensive knowledge. She works at Liip, a self organised company based in Switzerland. At Liip she proudly does many things, including organising internal hiking events! But her main day to day work is as a developer. It involves an ever changing API for a big retailer in Switzerland, using mainly Symfony, ElasticSearch and RabbitMQ.

Advanced Serializing in PHP: Speed it up!

Building an API for the biggest retailer of Switzerland has some challenges. We are an API with a lot of extremely complex data. Our bottleneck is and always has been serializing. It has been a long journey for us to get the most performance out of this. We are proud of what we’ve accomplished.

Let me first share what advanced serialization is, and what tools there are out there to solve any needs you may have, we tried them all.

Then I will share our personal journey trying them out. And in the end: A colleague wrote php-to-go so that we could GO beyond PHP, using PHP and GoLang together, for an amazing performance boost.

(Spoiler alert: We found a solution in PHP that we ended up with, and open sourced)

Back to top

Photo of Milana Cap

Milana Cap

Milana has been developing with WordPress since 2010 and started contributing to its documentation the very next year. Over the past four years, she switched from being an opera prompter to full time WordPress developer, freelancing through Toptal platform.

She got deeply involved into community behind WordPress project as a developer but also as volunteer at various local WordCamps and organiser of WordCamp Europe. Also running free WordPress theme development workshops for local community.

Being a single mom in Serbia she developed the superpower of fighting the odds.

Would You Like Some GraphQL With That WordPress?

WordPress walks into a bar and asks for 10 shots of the finest data. Bartender pours just one and says “This will do”.

WordPress, obviously frustrated, says “Look man, I make up to 34% of your turnover. I had a long day and am really tired. Just give me my 10 shots.”

Bartender says “Ah, you want a REST. Well this works differently. It’s called GraphQL and apparently one shot replaces any number of REST ones.”

WordPress takes a shot, stares at empty glass for a moment and finally says: “I know! I’ll make you compatible with my most popular plugins and call you WPGraphQL!”

At that moment the whole bar goes silent. Gatsby.js has entered through the door and that was the beginning of a beautiful love story.

Join me to find out what happened next.

Back to top

Photo of Srdjan Vranac

Srdjan Vranac

Vranac has been in this industry for a long time. He had good fortune to work with a lot of talented people, and had a chance to see some brilliant code, and some of the worst ever written.

He gets paid for writing code that performs exceptionally. He runs Code4Hire, a small outfit dedicated to solving tough problems.

Distributed Domain Destruction - Adventures in building distributed systems

For the last couple of years, I have been building, maintaining, and fighting projects that make use of distributed computing, parallel processing, message brokers, queues, and workers.

This is one of those "from the trenches" talks, where I will regale you with tales about the series of unfortunate events that may happen as your application grows in complexity.

Tales like disk space fluctuations, importance of logging, NoSql problems, restructuring your order of execution in code for performance gains, short-sighted albeit logical architectural decisions that will cost you in the long run.

Back to top

Workshop Tutors

Photo of Clinton Ingrams

Clinton Ingrams

Clinton has been teaching programming (and many other IT-related topics) for over 30 years at FE and HE level. He completed his Masters degree in IT at De Montfort University (Leicester) in 1998, and has been there ever since as a Senior Lecturer. Having first downloaded PHP in 2000, he was invited to start teaching it in 2004.

He is currently delivering Computer Networks to first year students, PHP and Penetration Testing modules to second and final year undergraduate students, and, as a member of the DMU Cyber Technology Institute, has a particular interest in the security of web applications. He also gets involved with industrial/commercial partnerships such as KTPs and consultancy, and has spent many happy months delivering multiple degree modules in Malaysia, Singapore and China.

Any spare time is spent with his family, and his double basses.

Adham Albakri

Adham Albakri is a research fellow in the AIR4ICS project at De Montfort University and a PhD researcher at the University of Kent. His research interests include Cyber Threat Intelligence, Cyber Incident Response, Preserving Privacy in Cyber Intelligence Processing, Systems and Network Security, Graph Theory and Information Systems.

Incident Response Workshop

One of the Cyber Security roles currently seeing accelerated growth is that of Incident Response Analyst. Many organisations now have a need for ready access to an Incident Response (IR) team and where specialists are not available, are prepared to train existing Cyber Security staff.

Incident Response is a process, not an isolated event, so training is often achieved via Desktop IR games, where the participants will, in small teams, role play their responses to a constantly updating scenario. This training technique is used by many organisations as an effective way to improve the capability of resiliency on incident response.

This workshop will help attendees to increase their overall readiness for a cybersecurity event through a commonly experienced set of situations, where teams will discuss and determine the best course of action for each new challenge as it is presented. It will be both challenging and entertaining, where all opinions will be listened to and evaluated.

The workshop leaders are university academics with expertise in Cyber Security and IR.

Back to top

Photo of Damiano Petrungaro

Damiano Petrungaro

Philosopher ego-less coder and community enthusiast. Damiano develops applications in PHP and Golang using domain driven design (DDD) and test driven development (TDD) methodologies supported with modern tools and practices such as and Docker, CI/CD, KPI and metrics.

At the moment Damiano is specialising in coding complex domain logic writing clean and testable code. Damiano is a supporter of a proper Git workflow applying a strict commit convention for a good and readable history of the code.

Damiano is am always looking to discover new development methods and technologies, and has a good networking of developers, with whom he relates and compares to on a daily basis.

Currently, Damiano is the maintainer of Laravel-Italia community and Conventional Commits.

Modern PHP development with Laravel

In this tutorial, I'll show my way to write and maintain application helped by modern development and methodologies using (but not abusing) Laravel.

The main topics will be about Clean Code, Object Calisthenics, DDD and Hexagonal Architecture.

Back to top

Photo of Dariusz Drobisz

Dariusz Drobisz

PHP Developer, trainer, consultant. BDD, DDD and framework agnostic approach fan (but Symfony lover), Event Storming interested. Co-organizer of PHPers meetups in Poland. Privately a big fan of car rallies.

Going framework agnostic with BDD

Having code that is not coupled with any framework has a lot of profits. There is small probability that you will be changing framework during your project lifecycle, but that kind of approach gives you easy way to reuse some of your functionalities across different styles of user interaction. GUI? API? Console command? Easy peasy with small effort. Everything with high understanding of domain you are working for.

During this workshop he want you to learn how working close with business and defining their needs together with them can help you creating clean code that you will love to work in long term projects. Attendees will use Behat and PHPSpec to design how their system will communicate internally between their component and with the outside world. At the end you will learn how to create a system that is loosely coupled with a framework.

Back to top

Our Sponsors

Stay up to date with developments

We won't abuse your email address.