Allereerst wil ik kwijt dat ik vind dat de focus van Phobosdeimos op het afbranden van java en onderwijsinstellingen erg irritant aan het worden is. Een iets objectievere kijk op dit alles zou niet onverdienstelijk zijn.
Goed, ikzelf ben nu een vierdejaars student van de Hogeschool Leiden. In het eerste jaar kregen wij inderdaad al les in Java. Redelijk basic. Het hele idee is namelijk dat ook mensen die niet bekend zijn met programmeren, het kunnen leren - mits ze aanleg hebben en hun huiswerk braaf maken.
Tijdens die eerste twee jaren wil je de studenten dus het soort denken dat nodig is voor software development aanleren. Wat je daarbij niet kan hebben is complexe problemen die bijvoorbeeld in C opspelen en in het artikel genoemd worden. Dat maakt het traject alleen maar lastiger.
Goed, samengevat zijn de eerste 2 jaar qua programmeren in de les gefocust op java. In beide jaren heb ik het vak java dan ook afgerond met een 9
In het derde jaar ga je je minor kiezen. Aangezien ik door wou gaan met Software Development ben ik gegaan voor de minor Advanced Software Engineering. Hier begon het echte leuke spul, want in deze minor leer je echt extreem veel, zowel praktisch als theoretisch.
Je krijgt dan vakken zoals Analyse van Algoritmen - waar je zelf (in Java) je linkedlists, je bubbelsorts, je stacks en queues in elkaar knutselt. Ook krijg je vakken zoals Patterns, waar je (ook in Java) aan de slag gaat met OOP en het gebruik van (je raad het al) design patterns.
In het tweede deel van de minor krijg je ook het vak Analyse van Algoritmen, maar dan met versienummer twee, en dat wordt op een hoger niveau gegeven. Je krijgt dan alleen les en geen opdrachten (van iemand van een Universiteit), en krijgt dan stof over 'waarom' een bepaald algoritme sneller is, hoe dat te bewijzen is, en wat de grote O ervan is. Er komt alleen psuedocode aan te pas, niet een taal specifiek.
Helaas ben ik dit vak nu over aan het doen - mede doordat de docent het eerste jaar voor het eerst docent was en de stof redelijk snel doorliep - en een aantal voor hem zelfsprekende stappen oversloeg. Dit gaat dit jaar gelukkig 20x beter (betere uitleg, dus beter aandacht vast te houden, dus beter cijfer).
Nu vraag ik mij dus af: is mijn niveau nu lager omdat qua programmeren alleen de Java taal werd gebruikt? Of is dit eigenlijk onzin en ligt de kwaliteit van nieuwe IT'ers aan iets anders?
Ik denk het laatste. Niet iedereen doet de minor die ik deed - en dat is nou net de minor waar al die kennis waar Phobosdeimos het over heeft, in zit.
Ook is het trouwens handig om te weten dat de meeste opleidingen voornamelijk een brede opleiding zijn, en niet specifiek voor software developers. Het kan zijn dat iemand alleen de 'basics' op doet - zoals java in de eerste en tweede jaar - en dan na de opleiding toch besluit te gaan de software development in te gaan.
Ja, dan komen er inderdaad 'slechte' software engineers uit. Alleen niet te verwijten aan java...