https://blisdigital.com/nieuws/een-hamer-zonder-kop https://blisdigital.com/en/news/een-hamer-zonder-kop
Nieuws08-08-2014

Een hamer zonder kop

Nieuws

Enkele dagen geleden was ik bezig met het schrijven van verschillende datumgerelateerde berekeningen voor de computer om uit te voeren. Tijdens het ontwikkelproces stuitte ik op iets eigenaardigs, iets dat ik nog nooit eerder had gezien.

Plots had ik een witte pagina voor mijn neus. Er was iets fout gegaan, dat was duidelijk. Maar wat? Waarom attendeerde mijn programmeertaal mij er niet op dat er een activiteit had plaatsgevonden waar hij niet mee om kon gaan? Enkele minuten later kwam ik tot het besef dat er iets anders aan de hand moest zijn dan een fout in de software -de spijker die krom zou kunnen zijn. Maar wat was het, en hoe ging ik ermee om?

De website met alle antwoorden

Voor ons software-ontwikkelaars is Google van onschatbare waarde, en ook in dit geval was dat niet anders. Nadat ik een aantal goed geformuleerde vragen had ingetikt, verwees Google mij naar een bericht van een vakgenoot aan de andere kant van de wereld die met dezelfde vraag als ik in zijn maag zat. Na wat verder naar beneden te hebben gescrolld las ik dat er meer vakgenoten konden bevestigen dat ook zij ‘de hamer zonder kop’ tegen het lijf waren gelopen.

Probleem gevonden en het bestaan bevestigd - wat nu?

Bij het realiseren van een product zijn er meerdere wegen naar Rome. Als software-ontwikkelaar kun je verschillende methodes toepassen om op het gewenste resultaat uit te komen. Het ontwikkelen van software is echter complex en zijn er veel dingen waar je rekening mee moet houden. Het gewenste resultaat is immers om de klant een product te leveren waar iedereen trots op kan zijn. Om dit doel na te streven nemen we bijvoorbeeld de snelheid van de software, de veiligheid en de accuratesse in acht. Je wilt immers niet dat het te lang duurt om de pagina met het antwoord te laden, dat een onbevoegde toegang bemachtigt tot het antwoord of erger: dat het antwoord zelf incorrect is.

Eerst maar eens zorgen dat we ‘de hamer zonder kop’ in de toekomst niet meer tegen het lijf lopen. Vanwege de omvang van onze gereedschapskist is het erg moeilijk voor haar/zijn fabrikant om over alles op de hoogte te zijn, dus gaan we ze een handje helpen door ze ons probleem te melden.

Gelukkig heeft ieder project van formaat een ‘bugtracker’, een website waar dit soort problemen gemeld en vervolgens verholpen kunnen worden. Zo ook onze ‘gereedschapskist’. Bij het melden van een dergelijk probleem kijk ik altijd eerst of er niet al iemand is geweest die hetzelfde probleem eerder heeft gemeld. Zo niet, dan neem ik die verantwoordelijkheid op mij. Zo wel, dan vind ik het vaak beter om aan te geven dat ik zelf ook hinder ondervind in plaats van dat ik het opnieuw vermeld - zo blijft alles op één plek, wat veel makkelijker te overzien is voor de partij die er daadwerkelijk mee aan de slag moet.

Nu verder met mijn eigen probleem. Ik zal om de kapotte hamer heen moeten werken. Hier moet ik goed over nadenken, want een spijker inslaan met de achterkant van een schroevendraaier zal immers een stuk minder effectief zijn.

Wat precies de oplossing is, verschilt per situatie. Soms ligt de oplossing in het combineren van een paar andere gereedschappen, anderzijds kan het ook voorkomen dat de meest effectieve methode zelfs het maken van mijn eigen gereedschap vereist. Desalniettemin is het altijd een spannende uitdaging waarvoor ik niet terugdeins!

Conclusie

Het leven van een software-ontwikkelaar gaat niet over rozen. Soms lopen we tegen problemen aan die er eigenlijk niet zouden moeten zijn. Moeilijk wordt het als het buiten onze macht ligt om deze op te lossen en we manieren om het probleem heen moeten bedenken, terwijl we de kwaliteit van het resultaat willen blijven garanderen. Gelukkig hebben we de mogelijkheid om de eerste stap te zetten naar de oplossing, en is er altijd een alternatieve weg die we kunnen verkennen. Hoe eerder een software-ontwikkelaar leert met dit soort blokkades om te gaan, hoe meer hartkloppingen dat op lange termijn bespaart.