Blog

Full Stack

Geplaatst op 18/05/2018

Door: Gilbert Smulders, Consultant bij ViQiT

Al enige tijd is de term Full Stack Developer hot. Dat is de term die wordt gebruikt voor ontwikkelaars die in alle lagen van de applicatie kunnen programmeren. Dus van het inrichten van de database tot het programmeren in de back-end en de uitstraling aan de front-end. Ik had altijd al een beetje mijn twijfels bij deze term. De afgelopen tijd is mijn beeld niet bepaald positiever geworden. Onlangs had ik een discussie met een opdrachtgever hierover. Hij gaf aan dat als er een tester zijn Agile team zou verlaten hij er een Full Stack Developer voor terug wilde. Immers Full Stack Developers kunnen alles, dus ook testen. Deze opdrachtgever ziet een Full Stack Developer als een generalist. Een alleskunner. En dat is precies wat ik als risico zie. Immers alleskunners kunnen alles een beetje. Ze zijn geen specialist in iets. Ze scoren op alles een mager zesje. Naar mijn idee helpt dat een team niet verder. Uiteindelijk moet je kijken welke competenties een team nodig heeft. Samen moeten zij op alles een tien scoren. Dat hoeft niet bij één persoon te liggen. Binnen ViQiT noemen we dat uitgaan van kracht. Iedereen heeft zo zijn specialiteiten. Daar waar die persoon een tien op scoort. Dan is het helemaal niet erg als hij of zij op een ander vlak een onvoldoende scoort. Zolang die onvoldoende competentie maar door de rest van het team wordt gecompenseerd. Om er alles aan te doen om van die competentie bij die persoon ook een voldoende te maken, zal ten koste gaan van zijn specialiteit.

Een tijdje terug heb ik op een TestNet evenement ook een presentatie gegeven over de T-shaped professional. Daar geloof ik wel in. En dan bij voorkeur niet de π-shaped professional of de comb-shaped professional. Zoals in mijn presentatie aangegeven zal een extra specialisme ervoor zorgen dat de specialismen steeds minder diep gaan. Immers je kunt geen specialist zijn in alles. Het helpt wel enorm als je naast je specialisme ook mee kan praten en denken op andere gebieden.

Ik ben specialist in testen. Ontwikkelen is niet mijn core competentie. Toch kan ik in code kijken en deze vaak ook nog begrijpen. Maar vraag mij niet om een applicatie te ontwikkelen. Een kleine simpele wijziging in een bestaande applicatie kan ik wel maken. Maar daar houdt het wel op. En dat is maar goed ook denk ik. En natuurlijk kan ik allerlei trainingen doen en zelf oefenen met programmeren. En waarschijnlijk word ik dan uiteindelijk een matige ontwikkelaar. Maar dan zal mijn expertise in testen langzaam minder worden. Bovendien moeten dan de ontwikkelaars ook beter leren testen. Dat zal bij hun weer ten koste gaan van hun expertise op ontwikkelen. Uiteindelijk krijgen we dan een team met alleen maar zesjes. Zonde van al die tienen die we aan boord hadden.

Dus in een Full Stack Developer, die generalist is in alle disciplines die een team nodig heeft, geloof ik niet. Zoals eerder gezegd ben ik groot voorstander van de T-shaped professional. Ga uit van kracht van mensen. Laat mensen daarbij wel verder kijken dan hun eigen expertise. Immers om goed samen te kunnen werken moeten we wel elkaar kunnen begrijpen en kunnen helpen. Dan ben je een Full Stack Consultant. Dan halen we als team het maximale uit al onze competenties waardoor we onze klanten het best kunnen helpen.

Ik kijk zelf ook verder dan mijn test expertise. Ik pak ook requirements engineer, scrummaster en beheer activiteiten op. Ik zie mijzelf dan ook als Full Stack Consultant met een test specialisme. En naar mijn idee ben ik daarmee een toegevoegde waarde voor menig DevOps, Agile, of andersoortig team. Wat mij betreft hebben de Full Stack Consultants met een specifieke expertise de toekomst. Leve de Full Stack Consultant!