Google kweekt fake developers

IT’er kan je op verschillende manieren worden en blijven. Enerzijds zijn er de klassieke opleidingen die via bachelor of master studies worden aangeboden. Anderzijds zijn er ontiegelijk veel om- en bijscholingscursussen.

Mijn generatie stamt uit de tijd dat er enkel boeken of cursussen voorhanden waren, luttele jaren later aangevuld met online cursussen die een zekere graad van interactie boden. De cursist kon in die tijd quasi niet anders dan de boeken of cursussen van begin tot einde lezen om alzo kennis op te bouwen. Cursussen werden bovendien incrementeel opgebouwd. Dat betekent dat de hoofdstukken in de logische sequentiële volgorde moesten gelezen worden om de stof te begrijpen. Werd een hoofdstuk overgeslagen, dan was de kans reëel dat men het volgende hoofdstuk niet zo goed meer begreep. Over de structuur en de opbouw van cursussen was immers heel goed nagedacht door de eminente academici.

Pas na het verslinden van ettelijke hoofdstukken was men in staat om de eerste zinvolle lijn code te schrijven. Cursussen waren schaars doorspekt met voorbeelden, en door hun puur exemplarisch karakter waren deze geenszins bruikbaar in de praktijk. Code overnemen was toen nauwelijks aan de orde. Bibliotheken waren amper voorhanden en hun functionaliteit was zeer gelimiteerd. Bijgevolg moest alles zelf uitgezocht en gecodeerd worden. Het nam best veel tijd in beslag, maar de individuele expertise groeide exponentieel.
Het internet bevat voor de beginnende en gevorderde IT’er een weelde aan informatie. De heikele kwestie is hoe hiermee wordt omgegaan. 

Google en andere zoekmachines maakten het mogelijke om snel antwoorden te vinden. Een goede Googler vind in enkele toetsaanslagen tal van voorbeeldcode. Even kopiëren, plakken en klaar. Hier schuilt echter een immens gevaar. Er is vandaag een generatie ontwikkelaars die niet langer teert op een solide basis, maar excelleert in het vinden van code en die op wonderbaarlijke manier aan elkaar rijgt tot één werkend geheel. 

Het zijn fake IT’ers die niet de moeite nemen om het stuk code te doorgronden dat ze zopas gekopieerd hebben. Begrijp me niet verkeerd: er is helemaal niets mis met code over te nemen zolang men perfect begrijpt hoe en waarom het werkt. Een goede ontwikkelaar leert van voorbeeldcode en maakt op basis daarvan zelf eigen code, perfect in lijn met de softwarearchitectuur. Het daarbij horende opzoekingswerk en research zijn het ideale recept om kennis en expertise op te bouwen. 

Gegooglede code dient in de eerste plaats als inspiratie, niet om blindelings overgenomen te worden. Kopiëren en plakken draagt niet bij tot het verwerven van expertise. De ontwikkelaars die leven van kopiëren en plakken zullen nooit of te nimmer kunnen doorgroeien tot een echte software ontwikkelaar. 

Een fake IT’er heeft een attitudeprobleem terwijl tijdsdruk ook als een veelgehoord argument wordt opgeworpen. Een IT’er die geen tijd neemt om te leren, zal impliciet genoodzaakt blijven om code snippets klakkeloos te kopiëren. Wat op zich dan weer resulteert in code van erbarmelijke kwaliteit die op het eerste zicht werkt maar snel bugs en andere anomalieën vertoont en nauwelijks te onderhouden valt. 

En er is nog een ander gevaar dat om de hoek loert. Niet alle code die men Googled is van even goede kwaliteit. Sommige stukken code zijn ronduit bedroevend van kwaliteit of zelfs volledig fout. Een fake ontwikkelaar zal uit onwetendheid deze slechte stukken code even enthousiast kopiëren. En dan hebben we het nog niet over malafide libraries die even argeloos door een fake ontwikkelaar zullen gebruikt worden. 

Fake ontwikkelaars blinken uit door op een haast magische wijze binnen een ongezien kort tijdsbestek iets te realiseren. Buitenstaanders vergapen zich hieraan en prijzen hen de hemel in. In plaats van beroep te doen op een rasechte IT’er hebben ze een steengoede Googler in huis gehaald. De ervaring leert dat de vreugde bij de klant eerder van korte duur is wanneer blijkt dat de nodige skills ontbreken om echt gedegen software ontwikkelingswerk te verrichten. 

Conclusie: ‘Tell me and I forget. Teach me and I remember. Involve me and I learn’ Benjamin Franklin

Dit artikel werd geschreven door Marc Schijvaerts