Ontwikkelaars die in een project zowel het front-end- als het back-end-gedeelte voor hun rekening nemen: je ziet ze steeds meer. ‘Wij zien dit jaar een groeiende shift van front- en back-end naar full stack.’ Maar de ene full stack developer is de andere niet.
Typ ‘full stack developer’ in op Google en je krijgt bijna dertien miljoen resultaten, veel meer dan pakweg drie jaar geleden. Steeds meer ontwikkelaars hebben de functiebenaming ook op hun kaartje staan. En hun missie is hierbij duidelijk: front-end + back-end = full stack.
Komt de full stack developer opzetten?
Uit een kleine rondvraag in de markt blijkt alvast van wel. ‘De term front-end & fullstack zoals we die nu kennen, zijn relatief nieuw. Twee jaar geleden werd er enkel nog gesproken over web developer en mobile developer’, weet Jan Vermeulen, director Capgemini, die hierbij de stackoverflow survey van dit jaar aanhaalt. Op twee jaar tijd blijkt de bocht te zijn genomen. ‘Bijna de helft beschouwt zich vandaag als full-stack developer, met een groeiende shift van front- en back-end naar fullstack in 2019.’
Ook Marc Schijvaerts van PeopleWare erkent de trend. Hij geeft aan om binnen zijn organisatie meer developers full stack te maken. ‘Het voordeel van full stack developers is legio: je kan iemand de volledige verantwoordelijkheid geven over een stuk te ontwikkelen functionaliteit. De full stack developer staat dan in voor de ontwikkeling van zowel de back-end als de front-end’, stelt hij. ‘In een klassieke setting met een back-end- en een front-end-ontwikkelaar is deze verantwoordelijkheid gedeeld. En bijgevolg moeilijker af te stemmen en te beheren’, oppert Schijvaerts. ‘Wij merken ook dat er een gezonde interesse bestaat bij veel van onze developers om ook eens iets ‘van de andere kant te doen’’.
Is zo’n full stacker dan geen superman?
Zeker niet, zo blijkt. ‘Vergis je niet’, waarschuwt Schijvaerts meteen. ‘Een full stack developer is niet iemand die alles kent van zowel de front- als de back-end. Dat is in de praktijk immers quasi onmogelijk. Een full stack developer is voor ons iemand die voldoende kennis heeft van bijvoorbeeld een back-end en gespecialiseerd is in front-end of vice versa.’ Dat klinkt goed, maar is niet altijd het geval, geeft hij toe. ‘Er lopen spijtig genoeg heel wat developers rond die scanderen full stack te zijn, maar in praktijk te weinig kennis en ervaring hebben in beide domeinen, en bijgevolg niet inzetbaar zijn’, stelt Schijvaerts.
Vermeulen sluit zich hier bij aan: ‘Een full-stacker zal doorgaans zijn weg weten te vinden in front-end en back-end maar daarom is hij of zij nog geen specialist in beide’, stelt hij. ‘De markt vraagt steeds meer naar full-stack-profielen, maar daarom niet in de zin dat die persoon helemaal specialist is in beide’, klinkt het.
Waarom krijgt de full stack developer het tegelijk ook moeilijker?
Volgens Gert Van Rillaer, implementation architect, en Jort Marievoet, competence developer, allebei werkzaam bij CTG, is er zelfs een omgekeerde trend aan de gang. ‘Enkele jaren geleden was full stack eerder de norm. Een .Net of java developer of team deed zowel back-end als front-end’, opperen zij. ‘Maar de laatste jaren zijn de eisen voor een user interface zijn veel strenger geworden omdat iedereen wel een smartphone of tablet heeft met een hoop goede en intuïtieve apps, die bovendien responsive moeten zijn en ook offline moeten kunnen werken.’
Volgens Marievoet zijn de gangbare technologieën doorgaans niet meer dezelfde als de gangbare technologieën voor back-end development. ‘Eigenlijk zijn het meer en meer verschillende skillsets geworden. Dat maakt het héél moeilijk voor een developer om specialist te zijn in zowel back-end- als front-end-technologieën. En om die reden werken we liefst alleen maar voor kleinere, eenvoudige projecten met full stack developers.’
Ook Vermeulen erkent die nood aan specialiteit. ‘Front-end heeft een enorme ontwikkeling doorgemaakt de laatste jaren met de komst van de single-page apps op basis van frameworks als Angular, React, Vue, Aurelia en andere’, stelt hij ‘Hierdoor is de complexiteit van de applicaties in zijn totaliteit toegenomen omdat er met verschillende technische stacks wordt gewerkt op front- en back-end.’
Is het full stack developer ook (een beetje) een buzzword?
Dat blijkt vaak wel het geval. ‘Veel it’ers studeren vandaag af met, vaak eerder beperkte, kennis van zowel back-end als front-end. Zij noemen zichzelf full stack developers, maar dat zijn ze geenszins gelet op het totaal gebrek aan enige relevante ervaring in beide domeinen’, stelt Schijvaerts. ‘Recruiters surfen uiteraard graag mee op de golf van trendy buzzwords, zo ook bij het fenomeen van de full stack developer. Het is vandaag een buzzword dat vaak gebruikt wordt door sollicitanten om zichzelf aantrekkelijker te positioneren naar recruiters.’
Wanneer komt full stack development toegepast?
De full stack developer komt vaak tot zijn recht bij projecten met een beperkte grootte hebben. ‘Op kleinere projecten die bijvoorbeeld maar één developer toelaten ], zullen we wel iemand full stack inzetten, maar zodra we twee developers kunnen inzetten kiezen we dan toch eerder voor een front-end- en een back-end-specialist’, aldus Marievoet. ‘Zelf werken we voor onze back-end liefst met .Net/Azure-specialisten, terwijl we onze front-end liefst in Angular bouwen. We hebben natuurlijk wel mensen met ervaring op beide gebieden, maar de echte specialisten focussen zich op een van beide.’
Waar full stack wel doorbreekt, is binnen dezelfde technologie-stack, erkent ook Marievoet. ‘Denk aan een front-end met een JavaScript framework als Angular of React, gecombineerd met een NodeJS back-end framework als Express of Nest, ook gebaseerd op JavaScript’, haalt hij aan als voorbeeld. ‘Omdat de onderliggende technologie gelijk is, is het dan eenvoudiger om back-end en front-end te combineren. Maar ook hier gaat het dan best om niet al te complexe projecten. De programmeertalen mogen dan misschien wel dezelfde zijn, de skillsets blijven toch behoorlijk verschillend.’
En wat met het T-shape-model?
Vermeulen schetst de evolutie om tot dit model te komen. ‘Historisch werden teams al eens ingedeeld volgens technologie of rol. Denk dan aan een front-end-team en back-end-team. Of aan het developer-team, het testteam, dba-team of analistenteam. Maar deze werking komt de meerwaarde voor de eindgebruiker niet ten goede omdat het eindproduct niet zonder het ene of andere kan.’
Hierop kwam agile als antwoord: focus op het product door cross-functional teams samen te stellen. ‘Maar omdat de taken in de backlog niet elke sprint gelijk verdeeld zijn, is het voor de team velocity geen goede zaak als iedereen slechts op één technologie of rol is gefocust’, aldus Vermeulen. En dus vraagt men dat mensen onderlegd zijn volgens het T-shape-model. ‘Ze beschikken over een brede basiskennis en zijn gespecialiseerd in een beperkt aantal domeinen. Op die manier zijn taken door verschillende personen uit te voeren, maar is de kennis en specialisatie toch aanwezig in het team.’
Houdt het op bij de full stack?
Dat niet, want full stack gaat natuurlijk vaak veel verder dan enkel de combinatie front-end versus back-end. Devops is hier bijvoorbeeld een belangrijk element. ‘Devops is een natuurlijke evolutie van agile waarbij de productvisie doorgetrokken wordt van inception tot productie. Het applicatie-team neemt ownership van de volledige waardeketting van idee tot opgeleverde functionaliteit’, aldus Vermeulen.
Ook Schijvaerts gaat in die richting. ‘Full stack developers moeten intensief betrokken zijn in het devsecops-gebeuren en dragen daarin een verantwoordelijkheid’, vindt hij. ‘Dit geldt trouwens ook voor de niet full stack developers, maar daar is de verantwoordelijkheid vaak minder expliciet en duidelijk afgelijnd.’