Ik mag toch hopen dat iemand met enige ervaring heeft met software-ontwikkeling ook zonder formele Informatica achtergrond wel weet wat encapsulation of polymorphism is, zeker als die persoon in een OO-taal werkt. In bijvoorbeeld de basiscertificeringen voor Java komt dat gewoon aan bod. Concrete opdrachten om iets te implementeren zijn wel afhankelijk van het soort developmentwerk dat iemand doet. Ik zou ook weer diep hard moeten graven om een bubblesort of quicksort te implementeren, want dat is echt alweer 15 jaar geleden.gold_dust schreef op woensdag 3 juli 2019 @ 08:41:
[...]
Als ik vragen zou moeten stellen zou ik het bij algemene CS/software engineering concepten houden, makkelijk beginnen zoals 'wat is polymorfisme', 'wat is encapsulation' en 'waarom zou je dit willen toepassen'? Dan zal je zien dat een groot deel van de kandidaten, inclusief vrijwel alle die geen formele Informatica achtergrond hebben al door de mand vallen.
Dan het iets moeilijker maken zoals bijvoorbeeld bubblesort vs quicksort, wat is het nut van een virtuele destructor in C++ etc. En vervolgens weer moeilijker maken tot het gewenste niveau bereikt is. Als conceptueel alles in orde is, dan vragen om een stukje code te laten zien of dat netjes is.
Het blijft altijd een gok, ik zou ook niet snel een onbekende die solliciteert aannemen. Liever iemand waar ik van weet dat hij/zij goed is. Maar met Silly Con Valley achtige raadsels/ongepaste vragen zou ik niet beginnen. Zelf pas ik daar inmiddels ook voor.
Ik zie trouwens mijn hele carrière lang de omgekeerde situatie, dat bedrijven/teams niet aan mijn eisen voldoen. En doe alleen nog freelance opdrachten waar ik mijn deel in principe alleen kan doen.
Meestal start ik bij een gesprek gewoon vanuit de CV / werkervaring. Pak er een klus / project uit en vraag eens door naar wat die persoon in het project precies heeft gedaan. Als je ziet dat mensen over een bepaald aspect heel enthousiast zijn, vraag daar dan op door om wat meer inzicht te krijgen in diens niveau. Probeer waar mogelijk ook wat vragen te stellen over gekozen technologieën / oplossingen, waarom die gekozen zijn, wat de alternatieven en de afwegingen zijn en ga zo maar door. Dat geeft je een aardig beeld van de persoon en zijn of haar globale kennisniveau.
Het echt proberen in te schatten van iemands functioneren nadat de persoon is aangenomen is toch heel lastig en als het echt dramatisch blijkt heb je altijd nog een proeftijd.
"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra