Rafael Dohms – Keynote

“Writing code that lasts” … or writing code you won’t hate tomorrow.

As developers we write code everyday, only to frown at it a week after that. Why do we have such a hard time with code written by others and ourselves, this raging desire to rewrite everything we see? Writing code that survives the test of time and self judgment is a matter of clarity and simplicity. Let’s talk about growing, learning and improving our code with calisthenics, readability and good design.

A graduated Computer Engineer, Rafael Dohms has vast experience in the PHP ecosystem as a Developer, Speaker and Contributor. Addicted in building communities he has founded various groups where ever he lives, currently he is to blame for AmsterdamPHP. Developer by career but teacher by vocation he travels the world sharing interest in quality code, innovation and building careers. In his free time you will likely find him gaming or contributing to open source projects. His contribution hit list includes many projects, from PHP itself to frameworks like Symfony, Zend and projects such as Doctrine and Composer. His hobby is mentoring new Speakers that eventually take speaking slots away from him in future events, a strategy he still thinks is not very smart. Not one to listen to himself he keeps mentoring and suggesting developers everywhere create their own User Groups to grow their networks and knowledge.

Nicola Aitken

What’s in a name?

We all know that naming functions, variables, classes and services correctly makes for a much more readable codebase, but it’s often a struggle to come up a good name that encapsulates what you’re doing without being AnObnoxiouslyLongAndBoringNameToType.

So why is naming things in computer science so difficult and what can we do to get better at it? Maybe the answer lies in exploring the English language. In this talk, I will delve into the world of grammar and linguistics to find some answers these two questions.

Software engineer at Typeform, former student at the University of York, lover of anything hand-crafted and artisanal, especially coffee and code.

Rob Allen

Protect your API with OAuth2

OAuth 2 is the gold standard for authentication in APIs and in this talk we’ll take a deep dive into how it works and how to implement an OAuth 2 server in your API. There are a number of work flows in OAuth 2 for different scenarios including mobile apps and websites connecting via JavaScript, so I will discuss each one and show you how to implement it. We’ll also look how to use JWT which can provide performance improvements. By the end, you’ll be well equipped to add OAuth2 to your API.

Rob Allen is a software consultant and developer. He has been involved in software architecture and development for many years and writes code in PHP, Swift and other interesting languages. He is part of Slim Framework's leadership team and contributes to other open source projects. Rob is also a member of the Zend Framework Community team and wrote Zend Framework in Action. Based in the UK, he runs Nineteen Feet Limited, focussing on web development, training and consultancy. In his spare time, Rob blogs at akrabat.com and can often be seen with a camera in his hand.

Sam Burns

Git’s Guts

These days almost all developers use Git on a daily basis. Many of us learnt a few relevant commands by rote, but a deep understanding of what it is actually doing seems to be a rarity. Git’s man pages frequently lie about what is really going on, and the majority of third-party documentation is similarly misleading.

This isn’t a "how to" talk on Git. I won’t give you a list of commands to learn. There won’t be any advice on merging vs. rebasing, or on continuous integration. The goal of this talk is to give a clear, factual insight into what the various Git commands actually do, and what is actually being stored in the commit graph. Afterwards, you may be able to make sense of a Git problem more easily, but I’ll be focusing on understanding the tool, not on the best way to use it.

Sam Burns is a software engineer at Inviqa. During his career, Sam has also worked as a software architect, a QA, and a scrum-master. His main technical interests are test automation, software architecture, and Agile methodology. Sam has contributed to Behat, PhpSpec and Slim, and other fine open-source projects. In his spare time, he climbs mountains.

Michael Cullum

Flipping Out with Feature Flags and Toggles

Quite often it can be useful to enable new functionality for only certain users on your site, or perhaps to only enable it on a test version of your application. One method of doing this, with a single shared codebase, is feature flags, and is the method used by huge organisations with monolithic repositories like Flickr, but can also be used on much smaller scales when you want to test out new functionality in production or perform A/B testing.

This talk will guide you through why feature flags can be helpful to your development workflow, and how you can use them whilst avoiding too much added complexity to your application.

Michael Cullum is a backend PHP developer, working particularly with Symfony, and has been for about nine years. He is an official team member and member of the management team at phpBB where he has been a contributor for over half a decade and more recently he founded the new PHP Surrey User Group. Michael is passionate about open source software and is an advocate of modern development principles & methods, open source project co-operation, and the active development of standards. He is actively involved in the PHP FIG previously as editor of PSR 12 and he now runs the administration of the FIG as the PHP FIG Secretary. In other more academic Computer Science pursuits, Michael has also done a sizeable amount of research relating to neuroscience's usefulness in the quest for true artificial intelligence.

Chad Gowler

The Why’s And The How’s of Asking Users Who They Are

We ask our users to give us a lot of personal data in order to provide rich experiences. People are complex and it is very easy to make assumptions about the most basic questions. This talk will look at how to ask people about data in a way that is inclusive, helpful while still providing value. Using gender as an example, we will learn what the stress cases are and what other things we need to consider when we ask our users to trust us with their identity.

Chad is a software engineer at Sky in Leeds. They have also dipped their toe into project management, user testing, interaction design and event organising. They are a firm believer in inclusive software and digital inclusion. In their spare time, they can be found in various usergroups up North or heard talking about gender, mental health and gaming for social good.

Jeroen v.d. Gulik

How to effectively grow a development team

Developers come in all forms and sizes but putting them together doesn’t automatically transform them into a team. One of the keys to creating a successful team of developers in my opinion is a great developer culture. In this talk I will try to explain why developer culture is so important and share how we grew a developer culture for one of the biggest airports in Europe.

Teamlead, software developer and occasional speaker. Mainly interested in complex domains, scaling, software architecture and process management. Specializes in custom build, large scale video platforms.

Stuart Herbert

Beyond PSR-7: Design Your Own Middleware Using The Instruction Bus

PSR-7 Middleware gives us a standard for writing modules that deal with HTTP requests. Using something like Slim or Zend Expressive, you can quickly and easily chain these modules together to save you time and effort. That’s all well and good, but what happens when you’re not working with HTTP requests? What if you’re working with message queues? Or data going to and from a database? Or pretty much anything that isn’t a HTTP request?

Wouldn’t it be great if we could take the concept of building pluggable pipelines, and apply it to any kind of situation that we have?

In this talk, Stuart will introduce you to the Instruction Bus - what it is, how to install it, and how to use it to create the pipelines that you need for your application. He’ll show you how to make it type-safe (a long-standing criticism of PSR-7), and how to go about testing and debugging code that runs inside these pipelines. By the end of the talk, you’ll have a worked example that you can download and start using straight away: an open-source library that encrypts and signs messages for messaging systems such as Amazon SQS.

Stuart is an industry veteran and one of the most experienced enterprise developers in the UK, with over 20 years of commercial experience on projects for companies including Hewlett Packard, Vodafone, Orange (now EE), DataSift, Her Majesty’s Government and many more. He specialises in designing and delivering software that works, as founder and Chief Software Archaeologist of Ganbaro Digital Ltd. He spent last year refurbishing and enhancing a government payment system that handles over 80 million pounds of business a year, and is currently building a new data API for a London startup.

Bastian Hofmann

Expect the un-expected: How to handle errors gracefully

Even though you tested your application perfectly errors and bugs will still happen in production, especially if other services or databases go down or are under high load. Thus it is very important to see errors happing and to be able to react to them quickly. In this talk I’ll introduce you to efficient ways for monitoring and logging for errors and show how you can handle them if they happen, covering deployment strategies, using intelligent circuit breakers and gracefully reducing functionality.

Bastian works as a Software Engineer at ResearchGate, the social network for researchers and scientists. There he is mainly responsible for designing the web frontend’s software architecture and caring about performance, monitoring and developer productivity. Before that he created the games and application platform and the APIs of the VZ-networks. When he is not developing stuff, he frequently speaks at international conferences on software architecture, scaling web applications and open standards and protocols.

Rachel Lawson

A Drupal 101, but more than just the code...

I’m sure many PHP developers are aware that the Drupal content management framework has undergone a huge rewrite over the last few years, along with many of the non-code aspects of working in Drupal.

I’d like to take a look at a few of the things that might help a new person just coming in to using Drupal that will allow them to know the basics of how things actually work, how to best go about finding out how to do things when they are stuck and what are the general community structures, characters and expectations that will help them deliver a good result.

I’m a freelance website engineer that primarily works in Drupal, mostly direct to customer but on occasion via other, larger agencies. I have become more and more involved with helping mentor new developers into the Drupal community, including acting as Sprint Lead at our European Conference this year, DrupalCon Dublin.

Drew McLellan

HTML5 APIs You’ve Never Heard Of

The modern web browser is a powerful and flexible platform that is far more capable that you might think. Many advanced features can get lost in the gap between front-end and back-end development skill sets. Find out about the HTML5 APIs you’ve never heard of, from audio to video to physical sensors, and interaction methods for mobile users. Learn where they are supported and how you can start work with these APIs in your next project!

Drew is a Director of edgeofmyseat.com, where he is the lead developer on Perch CMS. Prior to this he worked in Search Innovation for Yahoo! in London, and as a web developer and technical consultant for various UK design agencies. Drew runs the popular 24 ways web design and development advent calendar and was formerly Group Lead at The Web Standards Project.

Ciaran McNulty

A Developer’s Survival Handbook

When stranded in a hostile situation, it’s important to prioritise your needs. Do you seek out shelter, sustenance, or fire first?

This is the challenge a developer can find themselves facing in a new company - when the glow of the successful interview process fades and is replaced with harsh reality, how do you endure?

In this talk we’ll see what’s really important for survival, what a developer’s hierarchy of needs looks like, and how they can go about making a development organisation a hospitable place to live.

Ciaran helps teams at all levels of ability improve via training and coaching. He has been a PHP professional since the late 90s and is passionate about TDD, BDD and Agile methodologies. He is lead maintainer of PhpSpec.

David Stokes


MySQL 8 is now ready for your evaluation, not quite ready for production. This presentation covers the new features such as a true data dictionary that will allow atomic schema changes via DDL, Common Table Expressions, Roles, and much more. This is your guided tour of the latest from MySQL and you will want to know the new features before you have to upgrade.

Dave Stokes is a MySQL Community Manager for Oracle. Previously he was the MySQL Certification Manager for MySQL AB and SUN. He has worked for companies ranging alphabetically from the American Heart Association to Xerox and work ranging from Anti-submarine warfare to web developer. And he really wonders how many people really, really read these conference biographies. blog = elephantdolphin.blogspot.ie/