Naarmate de behoefte aan technologische oplossingen voor digitale bedrijven blijft toenemen, groeit ook de vraag naar software-engineers. Om hun carrière te kunnen starten, moeten studenten softwareontwikkeling echter nog één hindernis nemen: ervaring.
Tegenwoordig vragen technologiebedrijven meer dan een diploma wanneer ze potentiële medewerkers zoeken. Voor hen is het net zo belangrijk dat nieuwe teamleden kunnen aantonen dat ze in deze omgeving kunnen werken en resultaten kunnen leveren.
Volgens recente cijfers uit de sector biedt ongeveer 70% van de werkgevers hun stagiairs een fulltime baan aan, en 56% van alle stagiairs in de Verenigde Staten heeft een baanaanbod geaccepteerd van het bedrijf waar ze stage liepen. Ben je oprichter van een softwarebedrijf of student software engineering, dan heb je allebei voordeel bij een stageprogramma: een win-winsituatie.
Zo structureer je een succesvol stageprogramma zodat beide partijen de best mogelijke ervaring hebben.
De hoekstenen van een stagekader voor software-engineers
Er zijn vier belangrijke elementen in de kern van een succesvol stageprogramma voor softwareontwikkeling. Doelen stellen: helpt de begeleider om opdrachten te plannen en de stagiair waardevolle ervaring te bieden. Mentorschap: motiveert en ondersteunt stagiairs bij het herkennen van hun eigen uitdagingen in het ontwikkelproces en geeft hen bij elke stap waardevolle feedback. Training: helpt stagiairs hun nieuw verworven kennis in praktijk te brengen en hun technische vaardigheden uit te breiden. Professionele ontwikkeling: het doel van een stageprogramma is competente en vaardige ontwikkelaars op te leiden die idealiter fulltime medewerkers worden.
Een momentopname van ons stageprogramma voor software-engineers: het laatste stageprogramma voor front-end development bij ons bedrijf duurde 3 maanden en werd uitgevoerd door onze senior developers Nenad en Hristijan. Concreet behandelde het programma HTML, CSS, SCSS, JavaScript-basiskennis, het React JS-framework, Git-workflow en agile development. Deze keer besloten we het proces te documenteren en er vervolgens een visueel framework van te maken.
We hebben ook een nuttige checklist voorbereid die we met de community kunnen delen. Korte checklist: beoordeel het niveau van de stagiair en maak een programma op maat voor zijn of haar ervaring om de leercurve te optimaliseren. Maak een gevarieerd programma dat meerdere aspecten van engineering behandelt, niet alleen het coderen.
Neem bijvoorbeeld DevOps, agile best practices, databases enzovoort op. Bied de stagiair cursussen aan, maar laat hem of haar niet alleen de programmeeroefeningen uit die cursussen herhalen; daag stagiairs uit om vergelijkbare problemen buiten de cursus op te lossen en zelfstandig te programmeren. Geef voortdurend en constructief feedback, en beperk je niet tot pull-request-feedback. Probeer tussen de regels door te lezen, want stagiairs zijn vaak verlegen en zullen hun angsten of behoefte aan hulp meestal niet uitspreken. Schrijf de feedback elke week op om de voortgang makkelijk te volgen en een plan voor de hele stage te maken.
Neem voor elke week of maand een vaardighedenchecklist op. Vraag hen zo vaak mogelijk demo’s van hun werk te geven voor een groter publiek.
Technisch vloeiend kunnen uitleggen is net zo belangrijk als goed kunnen coderen. Leer hen hoe ze moeten denken wanneer ze een inschatting moeten maken; laat hen kleine user stories inschatten door de user story op te splitsen in taken, zodat ze het denkproces en de engineering erachter leren.
Vergeet niet hen te leren wat de definition of done en unit testing betekenen. Kwalitatieve code is heel belangrijk.
We doen ons best om alleen stagiairs aan te nemen die we goed kunnen ondersteunen en mogelijk kunnen behouden als fulltime engineers. We proberen dit nog steeds op de juiste manier te doen.
Hoewel ze programmeervaardigheden hebben, hebben veel stagiairs in ons programma nog nooit formeel in de technologiesector gewerkt. De meeste bedrijven kunnen bij dit soort stage ondersteuning bieden.
Veel bedrijven zijn echter simpelweg niet in staat stagiairs te begeleiden die nog nooit code hebben gezien. Mensen vanaf dat niveau opleiden en daar tijd, moeite, geld en onderwijs in investeren, vraagt om een bepaalde structuur.
Vermijd het aannemen van mensen die je niet kunt ondersteunen wanneer je een stageprogramma ontwikkelt dat bedoeld is om talent te vinden. Dat is teleurstellend voor beide kanten: je stagiairs zijn teleurgesteld omdat je hen uiteindelijk niet aanneemt, en het bedrijf is teleurgesteld omdat het stageprogramma de beoogde doelen niet haalt.




