In deze podcast gaat oud collega en senior developer Jeroen Vermeulen, nu werkzaam bij Cisco, dieper in op de onderhoudbaarheid van code. Als zeer ervaren Python developer noemt hij zichzelf een hobby programmeur en is bijvoorbeeld ook al 20 jaar hoofd maintainer van de open source Libpqxx library.
De onderhoudbaarheid van code is belangrijk voor zowel de computer en voor de mensen. Jeroen: ‘Ik heb het zelf meegemaakt dat een collega overleed en dat we verder moesten met de code maar niet wisten hoe en toen we het uiteindelijk wel deden, maakten we iets stuk. Sinds die tijd begrijp ik dat het niet mijn code is maar dat ik die schrijf voor anderen en ook voor mezelf over 5 jaar en daar hou ik dus rekening mee.’
"De belangrijkste eigenschap van een developer is professionele bescheidenheid" - Jeroen Vermeulen
Het is belangrijk om zelf veel code reviews te doen en je dan te oefenen in het proces van kritisch durven zijn. Jeroen: ‘Ik heb lang nagedacht over hoe je een punt van kritiek kunt formuleren zonder dat iemand boos wordt of de kont tegen de krib gooit, en dit vervolgens jarenlang geoefend en geperfectioneerd. Je wilt tenslotte dat iemand er echt iets aan heeft. Het geven en ontvangen van feedback is ontzettend belangrijk bij het proces van onderhoudbaarheid van code. Als mensen als reactie geven: je zit te zeuren of het je-snapt-me-niet duiveltje zit op hun schouder, dan kun je dit proces niet goed uitvoeren.’
Een knelpunt bij de onderhoudbaarheid van code is dat je niet weet wat je weet. Jeroen: ‘Je ziet en herkent bijvoorbeeld structuren en weet 2 redenen waarom het er staat zoals het er staat maar je weet niet vanuit welke redenering gewerkt is. Natuurlijk kun je er comments bij schrijven en uitleggen waarom je iets gedaan hebt maar ook dat kan later weer gedateerd zijn en beter geen informatie dan verkeerde informatie.
Jeroen tipt junior developers om zich zoveel mogelijk aan kritiek te onderwerpen, door mensen en door tools want het is nooit onzin. Jeroen: ‘Vraag jezelf altijd af hoe je jezelf kunt verbeteren want dat is en blijft de beste instelling voor een goede ontwikkelaar. Hou professionele bescheidenheid hoog in het vaandel en wees vooral niet altijd overtuigd van je eigen gelijk. Een ander moet ook met je code kunnen werken en die kunnen veranderen. Hou dus altijd in het oog voor wie het geschreven is en wie er verder nog iets mee moet. Het communicatieproces is het allerbelangrijkst en de mens is daarbij de beperking.’