skip to Main Content
Hoe Neem Je Geweldige Softwareontwikkelaars Aan?

Hoe neem je geweldige softwareontwikkelaars aan?

Tegenwoordig is er veel vraag naar softwareontwikkelaars, software engineers, maar ook IT’ers in het algemeen. Door de digitalisering van de maatschappij heeft elke organisatie te maken met IT en dus ook met IT’ers. In de VS is Software Developer de beste baan. De werkloosheid van ICT’ers ligt op maar een paar procent. Dus het inhuren van softwareontwikkelaars zou een fluitje van een cent moeten zijn, toch?

Nou…. Niet precies. Volgens onderzoek is het inhuren van goed talent het grootste probleem voor startende bedrijven. En volgens Manpower Group zijn Software Engineers één van de moeilijkst te vervullen vacatures.

Dit lijkt op een paradox, nietwaar? Maar als je je in de oorzaken van de paradox verdiept, zul je merken dat het eigenlijk wel logisch is. Justin Baker en Matt Yuell hebben grondige analyses gepubliceerd over het tekort aan talent. De diepste redenen voor de paradox zijn als volgt:

  • De hoge vraag leidt tot hogere salarissen. Medewerkers vragen om meer loon, meer vrije dagen, meer extra’s, betere secundaire arbeidsvoorwaarden. Bedrijven zullen 20% meer betalen dan de marktconforme salarissen voor toptalent.
  • Gebrek aan ervaring en opleiding. Veel zogenaamde “softwareontwikkelaars” hebben beperkte kennis en een beperkt begrip van het vakgebied. Anderen hebben een gebrek aan formele educatie en denken dat ze met een bootcamp van 6 weken wegkomen. Goede ingenieurs zijn denkers en probleemoplossers, geen programmeurs.
  • Bedrijven hebben geen idee waar ze om moeten vragen. Vacaturesites zitten vol met vacatures die vragen om “rockstars” en “ninja’s”. Functiebeschrijvingen staan vol met jargon dat vraagt om diepgaande kennis van de nieuwste “cutting-edge”, “super coole” tools en frameworks. Tools en frameworks zijn net modestijlen: ze zijn al na 6 maanden verouderd.
  • Sommige recruiters leveren slecht werk. Dit argument kan niet genoeg benadrukt worden. Recruiters doen cold-calls op LinkedIn enig relevant begrip van de functie. De meesten van hen zullen ook geen onderzoek doen naar de kandidaten. Sommigen van hen zullen absoluut niets vertellen over de functie. Ze proberen zo snel mogelijk en zoveel mogelijk kandidaten te spammen. Recruitment is een ‘number game’ geworden. Een nauwkeurigere definitie van deze praktijk zou “wedden” zijn, niet “werven”.

Kijk, ik ben geen HR-persoon. Ik ben een ingenieur. De afgelopen 5 jaar heb ik ontwikkelaars ingehuurd voor mijn eigen bedrijven, waaronder mijn detacheringsbureau gespecialiseerd in softwareontwikkelaars.

Ben je met bovenstaande redenen het eens? Maak je geen zorgen. Ik ga het stapsgewijze proces delen om groot talent te vinden en te evalueren. Dus geen weddenschappen meer. Laten we beginnen.

Stap 1 – Definiëren van jouw doelstellingen

Voordat je zelfs maar begint met het plaatsen van vacatures op jobsites, zul je eerst je bedrijfsdoelstellingen en verwachtingen duidelijk en eerlijk moeten definiëren. Dit is moeilijk, vooral als je niet tevreden bent met je huidige wervingsproces.

Pak een stuk papier en stel jezelf de volgende vragen:

  • Wat is het probleem dat je moet oplossen? Het type ontwikkelaar dat je nodig hebt hangt af van het probleem dat je wilt oplossen. Ontwikkel je een web-app? Een mobiele app? Een database? Er zijn veel expertisegebieden onder software engineers. Als je niet zeker bent van de business requirements, praat dan met je CTO of raadpleeg een detacheringsbureau.
  • Wanneer verwacht je dat de nieuwe medewerkers aan de slag gaan? Je kunt niet verwachten dat je een persoon in dienst neemt en deze onmiddellijk aan het werk zet. De meeste mensen hebben wat tijd nodig om zich aan te passen, te acclimatiseren en volledig productief te zijn. Daarnaast kunnen ze technische of business training nodig hebben, ongeacht hun expertise. Sommigen van hen moeten misschien verhuizen. Het duurt meestal 1 tot 3 maanden om een nieuwe medewerker goed op te leiden.
  • Wat is jouw budget voor de sollicitatietesten? Het vrijmaken van een budget voor het interview zal je veel tijd kosten en zal jou helpen om een veiligere beslissing te nemen. In de laatste ronde van het sollicitatieproces (zie hieronder) vraag ik de sollicitanten om een 2 uur durende test af te leggen. Ik waardeer hun tijd, dus ik vergoed hun tijd, zelfs als ik ze niet toelaat tot ons traineeship.
  • Hoe lang ben je van plan om de vacature open te houden? Het duurt meestal 3 maanden om een goede software engineer in dienst te nemen. Aan de ene kant, hoe minder tijd je besteedt, hoe minder kans je hebt om goede kandidaten te vinden. Aan de andere kant, hoe meer tijd je een kandidaat geeft om op jouw antwoord te wachten, hoe groter de kans dat ze hun interesse in je bedrijf zullen verliezen. Er moet een gulden middenweg zijn. Daarom hebben wij een eigen online assessment test ontworpen waarmee wij onmiddellijk goede kandidaten kunnen herkennen.

Het is sterk aanbevolen om je antwoorden op deze vragen op te schrijven, zodat je ze later kunt raadplegen.

Een veel voorkomende valkuil is dat je te veel van één persoon vraagt. Softwareontwikkelaars zijn net artsen: je kunt niet verwachten dat dezelfde arts tegelijkertijd hartchirurg, huisarts en verloskundige is! Op dezelfde manier kun je niet verwachten dat één enkele ontwikkelaar machine learning, front-end development, back-end development en systeembeheer doet.

Stop met zoeken naar het onmogelijke. Een ontwikkelaar kan een brede kennis hebben van verschillende talen, frameworks en tools, maar kan slechts een beperkte en zeer specifieke set van vaardigheden echt beheersen (bekend als de “T-shaped” developer).

Bron: scrum.org

Stap 2 – De vacature

De vacature is de eerste interactie tussen jouw nieuwe werknemer en jouw bedrijf. Die interactie is dus essentieel. Vergeet niet:

Je heeft maar één kans om een goede eerste indruk te maken.

De structuur van de advertentie moet eenvoudig en eerlijk zijn. Een effectieve vacature moet de volgende informatie bevatten:

  • Functie. Beschrijf duidelijk wat de kandidaat gaat doen zodra hij of zij in jouw bedrijf komt werken. Gaan ze nieuwe coole projecten ontwikkelen vanuit het niets? Gaan ze bestaande projecten onderhouden? Gaan ze werken voor grote bedrijven? Probeer een mooie toekomst te schetsen voor degenen die aan je zijde gaan werken.
  • Vereisten. Wat zijn de technische vereisten voor deze functie? Hier specificeer je de kerncompetenties die de ideale kandidaat moet hebben. Houd het kort en zinvol (denk eraan, je kunt niet te veel eisen).
  • Salaris en secundaire arbeidsvoorwaarden. De meeste bedrijven zullen vermijden om in de vacature het salaris te noemen dat ze aanbieden. Ze denken dat ze zo lagere salarisbedragen kunnen onderhandelen. Ik ben het daar niet mee eens. Het exacte salaris vanaf het begin specificeren zal je een enorm voordeel geven: alleen degenen die bereid zijn om voor dat geld te werken zullen komen opdagen! Je wilt geen tijd verspillen aan het interviewen van iemand om er vervolgens achter te komen dat je het je niet kunt veroorloven. Wees eerlijk en direct!
  • Doel. Wat doet jouw bedrijf? Waarom bestaat jouw bedrijf? Hoe gaat je de kandidaat helpen om zijn of haar dromen waar te maken? Als je geen Google, Apple, Amazon of Microsoft bent, geef dan precies aan wat het voor iemand betekent om voor je te werken.

Nog één ding: vermijd alstublieft woorden zoals “ninja’s” en “goeroes”. Je kunt indruk maken op een paar pas afgestudeerden, maar je zult geen indruk maken op de echt goede jongens.

De vacature vraagt de kandidaten om een online formulier in te vullen. Dit is wat ik vraag:

  • Naam en contactgegevens
  • Werkervaring en/of affiniteit
  • Voorbeelden met broncode (GitHub/GitLab/BitBucket-profielen of andere profielen)

Ik ontvang ongeveer 150 aanvragen voor één enkel traineeship. Dit is een mooi aantal voor een klein bedrijf en geeft mij een voldoende grote groep kandidaten.

Stap 3 – Evaluatie van de sollicitaties

Als je een aantrekkelijke vacature voor een jobsite hebt gemaakt en tegelijkertijd een fatsoenlijk salaris te bieden hebt, zul je ook veel sollicitaties ontvangen. Het doornemen van de sollicitaties kost tijd en je moet het handmatig doen.

Hier zijn de zaken waar je op moet letten:

  • Ervaring met specifieke technologieën en uitdagingen. Deze is simpel. Als je op zoek bent naar databaseprogrammeurs, heb je iemand nodig die al eerder databases heeft gemaakt. Als je op zoek bent naar wetenschappers op het gebied van machine learning, heb je iemand nodig met een relevante academische achtergrond en onderzoekservaring.
  • Broncode voorbeelden. Veel ontwikkelaars hebben of persoonlijke open-source projecten of kunnen je voorzien van code voorbeelden uit het verleden. De mogelijkheid om hun code te evalueren alvorens een interview af te nemen is een groot pluspunt. Als je zelf geen programmeur bent, vraag dan je huidige ontwikkelaars of CTO om je te helpen met de evaluatie van de broncode. Houd er rekening mee dat veel ontwikkelaars geen publiek toegankelijke broncode hebben (bijvoorbeeld omdat ze gebonden zijn aan vroegere werkgeverscontracten).
  • Huidige arbeidsstatus en werkervaring uit het verleden. Goede software engineers werken momentaal al voor iemand anders. Wen er maar aan en probeer hen betere redenen te geven om bij jouw bedrijf te komen werken. Als je op zoek gaat naar senior of medior ontwikkelaars, check dan wat ze bij hun huidige en vorige werkgevers hebben gedaan. Als je op zoek bent naar junior ontwikkelaars, check dan hun academische en/of persoonlijke projecten. Als een kandidaat een traineeship van een halfjaar in softwareontwikkeling heeft gedaan, is dit ook nuttig!
  • Hoe vaak verandert de kandidaat van baan? Softwareontwikkelaars hebben de luxe om hun huidige functie te verlaten op zoek naar een betere. Het is gebruikelijk om elke 1-3 jaar van werkgever van te veranderen. Meestal negeer ik echter degenen die om de 6 maanden van bedrijf veranderen. 6 maanden is gewoon te weinig tijd om van waarde te zijn voor een werkgever. De kans is groot dat de kandidaat onbekwaam is of niet bereid is om zich voor een redelijke tijd in te zetten.
  • Passie. Veruit het allerbelangrijkste! Ik zie graag mensne die in verschillende technologieën duiken en ik vind het geweldig als iemand echt geniet van programmeren. Ik weet dat iemand gepassioneerd is door softwareontwikkeling als ik veel persoonlijke projecten zie.

Dingen die er niet toe doen op een CV:

  • Middelbare school, hogeschool of universiteit. Sommige bedrijven hebben de neiging om alleen maar hoogopgeleiden aan te nemen of erger alleen mensen met een afgeronde technische opleiding. Maak niet dezelfde fout. Toptalent is overal te vinden. Ja, formeel onderwijs is belangrijk voor het leren van de basis, maar de beste ontwikkelaars zijn degenen die voortdurend zich nieuwe dingen aanleren en zichzelf verbeteren.
  • Hobby’s. Ik weet nog steeds waarom er nog steeds sollicitanten zijn die hun hobby’s op hun CV’s vermelden. Een goede ontwikkelaar zijn heeft niets te maken met bijvoorbeeld gitaarspelen of voetballen.

Ik gebruik LinkedIn, Indeed, en Facebook om kandidaten te vinden. Kandidaten wordt gevraagd om wat informatie op een formulier op onze site in te vullen. Ik verwerp onmiddellijk de kandidaten die het bovenstaande proces proberen te “hacken”. Er zijn een paar mensen die de vacature zien en, in plaats van het formulier in te vullen, persoonlijk contact met mij opnemen om een indruk te maken. Op deze manier proberen ze aantrekkelijker te zijn dan degenen die de gevraagde formulieren invullen.

Als iemand de officiële sollicitatieprocedure probeert te omzeilen, betekent dit dat ze niet goed zullen passen.

Stap 4 – De korte technische test

Uit de 150 sollicitaties selecteer ik ongeveer 50 kandidaten die goed genoeg lijken. Ik vraag de kandidaten een online assessment te doen die wij zelf ontworpen hebben. Het doel van dit assessment is te ontdekken of de kandidaat de potentie heeft om een succesvolle softwareontwikkelaar te worden. Het assessment test onder andere snelheid van denken, het vermogen om logisch te redeneren zowel cijfermatig als in de vorm van tekst, de typesnelheid en of de kandidaat oog op detail heeft. Zo worden onder andere problemen voorgeschoteld die opgelost moeten worden.

De meeste kandidaten zullen de problemen niet optimaal oplossen. Dat is OK, gezien de stress van een dergelijk assessment. Als iemand de problemen zo goed mogelijk oplost, is dat een teken van een uitzonderlijke kandidaat. Dit soort kandidaten zul je in de gaten moeten houden. 🙂

Stap 5 – Het interview

Van de 50 kandidaten die het online assessment hebben gehaald, zullen er slechts 15 het interview halen. Ik laat een kandidaat niet langer dan 7 dagen wachten met het beantwoorden van zijn of haar sollicitatie. Kandidaten die langer dan een week wachten zonder een positief of negatief antwoord zouden zich teleurgesteld voelen.

Het tweeledige doel van het interview is om a) te kijken of de juiste sociale vaardigheden hebben en b) te checken of ze passie voor het vak zullen hebben.

Aan het eind van het interview doet de kandidaat een korte persoonlijkheidstest. Deze test gebruik niet om kandidaten met een specifieke persoonlijkheid te selecteren, maar juist om diversiteit in de groep te bereiken.

Het interview mag niet langer duren dan een uur.

Stap 6 – De uitgebreide technische test [optioneel]

Gewoonlijk hebben uiteindelijk tien kandidaten die voor ons traineeship willen gaan echt goede technische vaardigheden en kunnen ze hun gedachten ook effectief communiceren. Omdat ze geen ervaring als software engineer hebben worden ze niet getest op hun programmeervaardigheden. Ontwikkelaars die reeds ervaring hebben en geen traineeship nodig hebben worden wel hierop getest.

In de laatste ronde geef ik ze een grote programmeeropdracht. Het is een project dat me zal helpen om de exacte probleemoplossende vaardigheden te testen die wij voor een opdrachtgever nodig hebben in de benodigde technologie. Als ik bijvoorbeeld op zoek ben naar Unity ontwikkelaars, geef ik ze een test in Unity/C#. Als ik op zoek ben naar J2EE ontwikkelaars, dan geef ik ze een test in Java. De test wordt ter plaatse of thuis uitgevoerd.

De test is ontworpen om te controleren op best practices op het gebied van programmeren en documentatie. Ik sta de kandidaten toe om mij vragen te stellen terwijl ze programmeren. Ik geef nooit tips, maar ik geef uitleg indien hun vraag geldig is.

Sommige kandidaten leveren zelfs extra materiaal zonder dat ik erom vraag (bv. developer guides), wat een enorme bonus is. Ook waardeer ik degenen die de juiste aannames maken in hun code maar heb een hekel aan degenen die “quick and dirty” code schrijven.

Ik heb veel respect voor de tijd van een kandidaat, vooral als ze zo ver zijn gekomen. Dit is dus altijd een betaalde test.

Het uitgebreide technische gesprek kan 4 uur in beslag nemen.

Stap 7 – De eindbeslissing

Dus…. Je hebt de vacature gepubliceerd, de sollicitaties ontvangen en de gesprekken gevoerd. Het is eindelijk tijd voor de eindbeslissing.

Als je geluk hebt, heb je misschien meer dan één goede kandidaat. Dat is een zegen. Het is vervelend om een bekwame kandidaat af te wijzen, maar het geeft je een mooi gevoel als je moet kiezen tussen geweldige ontwikkelaars.

Hier speelt de bedrijfscultuur een rol.

Omdat je vertrouwen hebt in de technische vaardigheden van de kandidaat, moet je bepalen of de kandidaat bij de bedrijfscultuur past. Dit is waar jouw subjectieve criteria en gevoel een rol spelen. Brengt de kandidaat effectief zijn of haar gedachten over? Vind je de gesprekken prettig? Is hij of zij een interessant persoon?

Je werkt straks immers minimaal 40 uur per week met die persoon. Het is belangrijk om een leuke en prettige dagelijkse omgang te hebben.

Helaas hechten veel bedrijven meer waarde aan hun intuïtie dan aan de probleemoplossende vaardigheden en technische competentie van de kandidaat. Dat is verkeerd. Een incompetente medewerker zal nooit (maar dan ook nooit) een goede match zijn.

Heeft u op de afdeling softwareontwikkeling een uitdaging met personeel en zoekt u tijdelijke, gekwalificeerde junior developers die direct operationeel zijn? Team X is een detacheringsbureau dat u kan helpen. Neem vrijblijvend contact op met Anthony Carter voor onze tarieven. Of lees meer over onze dienstverlening op de site.

Telefoon : 023-2052070

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Back To Top