PHP Conference - verslag van onze developer

| Blogs

MaxServ goes to Dutch PHP Conference - PART01

Ik werd wakker, deed mijn ochtendritueel en controleerde of ik al mijn spullen had. Vervolgens nog één laatste check om er zeker van te zijn dat ik toch echt mijn ticket had. Dat was gelukkig het geval dus let's go! Eerst een tussenstop bij de carpoolplaats in Gorinchem en dan door naar de Dutch PHP Conference te Amsterdam RAI.

Aangekomen in Amsterdam konden we de gebruikelijke rij in om onze badges op te halen. Dat ging lekker snel en soepel. Wat me meteen opviel is dat dit evenement goed bezocht was. Het liep vol met mensen die eruitzagen als mensen met verstand van code. We hadden eerst koffie gehaald en vervolgens gewacht tot het evenement werd geopend.

Tijdens de opening werden de sponsors genoemd en vertelde ze wat je waar kon vinden. Alle praatjes werden gehouden op de eerste verdieping. Daarnaast kon men op een whiteboard onderwerpen schrijven waar ze een presentatie over wilde geven. Dit werd vervolgens ingedeeld in tijdvakken, zodat bezoekers dit konden bijwonen. 

Joe Kaziukenas- Beyond code

Na het openingswoord werd de microfoon overgenomen door Joe Kaziukenas. Hij hield een keynote over Beyond Code. Dit onderwerp sprak mij erg aan, aangezien Beyond Code me al eerder was opgevallen. Wanneer je tegenwoordig een baan zoekt, kom je niet meer weg met alleen een x aantal jaar PHP ervaring of een x aantal jaar Javascript ervaring. Tegenwoordig heb je, zoals Joe ook aangaf, te maken met soft skills. Een mooie quote vond ik:

"Meeste sollicitanten zijn gekwalificeerd en geschikt voor een developer baan"

Helaas is dit niet meer genoeg, elke developer heeft veel tijd gestoken in het leren van verschillende talen. De meeste developers zijn hier dan ook mee begonnen op jonge leeftijd. Dit worden ook wel je hard skills genoemd.

Soft skills zijn alles wat hier omheen valt, bijvoorbeeld:

  • Ben je in staat om ook een project te managen?
  • Hoe is je communicatie naar medewerkers en/of klanten?

Dit zijn maar enkele voorbeelden, voor meer achtergrond lees dan https://en.wikipedia.org/wiki/Soft_skills

Wat Joe tijdens deze talk probeerde te zeggen is dat je duidelijk moet weten wat je wilt bereiken, binnen of buiten het bedrijf waar je werkt. Hier kun je vervolgens een plan voor maken en zo al de benodigde soft skills aanleren en/of verbeteren. Belangrijk is om dit stap voor stap te doen. 

Pair Programming

Met deze bevestigende woorden was het tijd voor de volgende presentatie. Deze werd gegeven door Ben Andersen. Het onderwerp van deze talk was extreme programming met een focus op hoe hij binnen zijn bedrijf begonnen is met Pair Programming en de problemen die hier eerst bij kwamen kijken en de voordelen die het uiteindelijk heeft gebracht. Pair progamming is het programmeren van broncode in duo's.

Deze methode heb ik altijd interessant gevonden. Zelf zag ik een hoop problemen. Dankzij de goede uitleg van Ben is me toch duidelijk geworden hoe deze problemen opgelost kunnen worden.

Ik geef een voorbeeld:

Je hoorde mensen zeggen: "hé wacht?! Maar zo ben ik 50% van de werkkracht kwijt, dat is niet de bedoeling!".  Dit is niet het geval. Het antwoord op deze opmerking was voor mij een eye-opener. Het kwam erop neer dat deze mensen ook gebruikt worden voor het controleren van code. Als er iets mis is, moeten andere developers nog steeds tijd stoppen in het uitleggen hoe het beter kan, of een oplossing implementeren. Hierdoor raakt de developer uit zijn werkflow, waardoor dit uiteindelijk tijd kost.

Door de pair programming methode kijk je gelijk met een collega naar de code en kan er direct worden geschakeld. Ben legde uit dat het bij hun ging om een vast team. Binnen het team was een roulatiesysteem zodat iedereen met elkaar kan werken. Om het probleem van keyboard claiming tegen te gaan, maken ze gebruik van het 'pingpong idee'. Zo doet bijvoorbeeld persoon 1 de eerste functie terwijl persoon 2 dan meekijkt. Functie twee zal dan door persoon 2 worden gemaakt terwijl persoon 1 meekijkt. Er wordt gerouleerd.

Het was een erg interessante talk!

'Managing dependencies is more than running composer update' - Nils Adermann 

De laatste presentatie die we voor de lunch hebben gevolgd is 'Managing dependencies is more than running composer update'. Deze talk werd gegeven door Nils Adermann. Eerlijk gezegd was dit een talk die ik had kunnen skippen. Ik had verwacht dat ik er iets aan zou hebben, maar dit was niet het geval. Een korte samenvatting van zijn talk is dat je goed op moet letten met de packages die je installeert. Daarbij heb je een back-up plan nodig voor het moment dat een package niet meer beschikbaar is, waardoor jouw code stuk gaat. Voor mensen die nog relatief nieuw zijn met composer is dit een aanrader! Werk je al wat langer met composer? Dan not so much, helaas.

Alle informatie konden we onder het genot van een lunchbuffet verwerken. De afsluiter van dit buffet was Italiaans ijs, nomnom! Na even uitgebuikt en koffie gescoord te hebben, waren we weer ready to go.

'I Deploy on Friday' - Michiel Rook

Next up was: 'I Deploy on Friday' door Michiel Rook. Veel mensen kennen de regel 'niet deployen op vrijdag'. Volgens Michiel is de oorzaak hiervan onder andere vertrouwen in de code van een ander en de moed om dit toch door te zetten. Het liefste is er niemand bezig met het oplossen van problemen in de avond of in het weekend. De vrijdag is echter 20% van je werkweek. Een gemiste kans om dus niet te deployen op vrijdag. 

"Automation, automation, automation"
Automation is één van de sleutels. Het doel moet zijn om je werk gewoonweg te automatiseren, zodat het proces pijnloos verloopt. Dit in combinatie met pair programming waar direct in de master branch wordt gewerkt. Ook mogen we de feature toggle's niet vergeten, zo kan je namelijk snel schakelen en de code doorzetten. Dat kan dan misschien zelfs meerdere keren per week. Met feature toggle's heb je de mogelijkheid om bepaalde code op niet-actief te zetten. De code wordt meegenomen naar productie zonder dat hier last van wordt ondervonden. In deze if statement kunnen dan regels worden toegevoegd die bijvoorbeeld alleen admins de bevoegdheid geven om deze code toch te bekijken op een productieomgeving. Dit was een erg interessant onderwerp. Ik ga me hier toch wat meer in verdiepen.

'50 shades of Backup' - Sebastian Feldmann

De laatste presentatie van dag 1 was '50 shades of Backup' door Sebastian Feldmann. Ik wist niet zo goed wat ik moest verwachten. Aangezien back-ups en ik nog geen goede vrienden zijn, leek me dit een uitstekende kans om kennis op te doen. Tijdens de presentatie werd getoond hoe er op dit moment back-ups worden gemaakt door het gebruik van bash commands. Sebastian vertelde dan ook dat bash niet fijn werkt voor een developer en dat het gaaf zou zijn om een manier te hebben om back-ups te maken en te configureren door het gebruik van bijvoorbeeld XML-bestanden.

Hij heeft blijkbaar ook een tool geschreven genaamd PHPBU. Hiermee heeft een developer zelf controle over back-ups en zijn deze te configureren in XML-bestanden. Ook is deze tool uit te breiden met eigen implementaties. Wel gaf hij aan dat er geen optie is om je back-up terug te zetten. Dit komt omdat elke applicatie anders is. Op zijn to-do lijst staat wel dat hij wil zorgen dat je als gebruiker de code ziet om de back-up terug te zetten. Dit wordt dan wel handwerk in de cli. 

Ik ga dit natuurlijk ook zelf proberen. Dit is misschien ideaal te combineren met de MaxServ vagrant boxen voor bijvoorbeeld de databeses etc.

Na de presentatie konden we genieten van een pauze met stroopwafels, hierna zijn we weer richting het zuiden gereden om ons vervolgens voor te breiden op dag 2.