This year I was lucky enough to attend my first PHP conference. In the early hours of Saturday, I made my way to PHPNW in Manchester. The conference included 3 tracks of brilliant talks and also an ‘unconference’ organised by my local community PHP East Midlands.
Arriving at the Manchester Conference Centre, I grabbed my free swag, drank copious amounts of coffee and got seated ready for the opening keynote. This was by Meri Williams (@Geek_Manager), who helps run The Lead Developer Conference (click here for a brilliant write up by Rob Kent) and was titled Stealing People Lessons from Artificial Intelligence. Meri spoke about people management from the perspective of artificial intelligence; the most valid point from my point of view being about the three predictors of high performance:
- Purpose – Do I believe in why?
- Autonomy – Do I get a say in what?
- Mastery – Am I proud of how?
There were so many good talks during the weekend, I’ve picked a few of my favourites below:
Pipeline Architecture – Michael Heap (@mheap)
Not everything in a web application needs to be a request/response model, if we have data we need to process, it may be better to use a pipeline architecture. Michael’s talk was really good. If you need to run data through several functions this could slow down a request and response model, with a pipeline we can run the data through as many processes we want and then send it to an output or many outputs. This makes more sense than keeping the user waiting for a response.
Many frameworks already do dependency injection (Laravel, Spring framework in Java and angular.js) so I use it most days. Did I know how it worked? Not really! This talk explained what dependency injection was and how it promotes inversion of control. Inversion of control means object creation is no longer delegated to the object using them. It was good to get a walkthrough of how to implement dependency injection in your code as this made it really simple to understand.
Magic with the PHP database connector mysqlnd – Andrew Moore (@mysqlboy)
Andrew Moore works for a company called Percona who are ‘The Database Performance Experts’. He spoke about the database connector mysqlnd. He also spoke about some plugins for it including mysqlnd_ms which allows you to configure master and slave for you MySQL installation which can lead to a big speed improvement for your users. Also he spoke about mysqlnd_qc which can cache queries which would also lead to speed improvements.
Scaling & Managing Asynchronous Workers (and staying sane!) – Justin Carmony (@JustinCarmony)
Justin’s talk started with a brilliant example of ‘Darth Vader’ asking some ‘Stormtrooper’ developers for some new functionality to their ‘eBay’ like site. He went through jobs and queues and how to do these in an asynchronous way. We already do this a little bit at Creare so it was good to know the common pitfalls that people can get into with asynchronous workers. He also went through a really good code example of how to take things from the queue and process the jobs which helped explain how it should work. It was really helpful stuff!
Developers turn coffee into code
The conference ended with the closing keynote from Stefan Koopmanschap (@skoop) entitled Developers are just like humans which wasn’t really about code at all. Stefan talked about his personal struggles and talked about how he was overcoming them and had a new view on life. He encouraged people to see each other and look after other developers. He made a point that as developers it’s difficult to be proud of our work because nobody views it and that we can’t hang it in an art gallery. He theorised that if you are a developer ‘You are an artist’ and I definitely agree with that. I thought it was a brilliant closing keynote and a great way to end the weekend. Awesome talks, from awesome developers made me proud to call development my profession!
P.S I also won one of these from @Inviqa which was pretty sweet!