Home /
Blog /
Welk type developer ben jij? Hopelijk de full-integrator developer!

Welk type developer ben jij? Hopelijk de full-integrator developer!

dinsdag 12 mei 2015
 
 
 

 

Zijn er nog programmeurs die overal mee overweg kunnen? Er is wel behoefte aan all-rounders die in elk geval fundamentele processen van de meeste technologieën kunnen gebruiken. De voormalige full-stack developer evolueert naar een full-integrator.

Sinds web 2.0 zijn we geïndoctrineerd met het idee van de full-stack developer. Aan dit idee komt langzaam een einde. De afgelopen jaren worden gekenmerkt door het uit de grond schieten van een nieuwe generatie startups. Startups die werken met nieuwe en complexe technologieën als machine learning, push computing, data analyse en wearable technologie.


De weg naar full-stack

Deze technologieën vereisen allemaal kennis op expertniveau. Volgens Peter Yared, oprichter en CTO van Sapho en voormalig CTO van CBS Interactive, betekent dit dat de full-stack developer zijn strepen zal moeten inleveren en plaats moet maken voor de full-integrator developer.

Om de transformatie van full-stack naar full-integrator te begrijpen is het nuttig om eens stil te staan bij hoe de full-stack developer überhaupt is ontstaan. Veel mensen die werken in de tech-sector zijn dit vergeten, vertelt Yared.

"Toen ik in de jaren '70 begon met programmeren, kon één persoon een volledig software programma schrijven van begin tot eind. Tussen de programmeur en de hardware waren er niet zoveel andere lagen van software. Om de performance van machines te verbeteren was voor programmeurs assembly de norm."

assembly language

Maar in de jaren '90 kwam daar verandering in. Programmeren transformeerde van een solo-sport in een teamsport. Om met client/server- en internet-computing te kunnen werken waren front-end-specialisten, database-specialisten en applicatieserver-specialisten nodig.

Yared legt uit: "Het beheren van een bedrijfspagina was een complexe bezigheid. Zo moesten we als team in staat zijn om met netwerkapparatuur, als routers en load-balancers, te werken. Daarnaast moesten we capabel genoeg zijn voor het instellen van Java virtual machines. En moesten we om kunnen gaan met mechanismen die databases indexeren."


Roep om meer specialisten

Deze verandering was de aanzet tot het ontstaan van de full-stack developer. De full-stack developer ontstond uit oogpunt van kostenefficiëntie. Want doordat het programmeren steeds ingewikkelder werd, waren er steeds meer specialisten nodig. Tussen 2000 en 2005 waren de kosten voor het creëren van een simpele website of een nieuwe generatie SaaS service ontzettend hoog. Mede als gevolg van een enorme communicatie-overhead.

Want alle specialisten, werkzaam op de verschillende lagen van een applicatie, moesten uitvoerig met elkaar communiceren om tot een behoorlijke oplevering te komen. Dit kost tijd, waarbij bovendien gemakkelijk miscommunicatie ontstond. Marc Andreessen, investeerder en software-engineer o.a. bekend als maker van 's werelds eerste browser Mosaic en als oprichter van Netscape Communications Corporation, verwoordde dit treffend in een tweet:

 Het managen van een site was dus een dure aangelegenheid mede door communicatie-overhead. Tegenovergesteld aan deze tendens stond de ontwikkeling van de technologie waarmee programmeurs destijds werkten. Die ontwikkelde zich in vogelvlucht. Waardoor programmeurs de overstap konden maken van bijvoorbeeld het complexe Java-stack en databases als Oracle naar het veel gemakkelijkere LAMP-stack (Linux, Apache, MySQL, PHP/Python en Perl).

Lamp-stack

Daarnaast ontstonden er de nieuwe talen en frameworks als Django en Ruby-on-Rails. Die de laag tussen de website en database automatiseerden. Front-end frameworks als jQuery namen de ingewikkeldheden die bestonden tussen verschillende browsers weg. En cloudservices, als Amazon, verminderde de benodigde capaciteit van webservices en voorzagen in turnkey networking.


All-rounder in alle lagen

Deze nieuwe technologieën gecombineerd met de noodzaak tot het verminderen van de communicatie-overhead gaven de ruimte aan developers om zich als full-stack developer te profileren. En zo ontstond er een nieuwe generatie developers die bijvoorbeeld in staat waren om een volledig op consumenten gerichte- of SaaS-site op te richten.

Peter Yared zegt daarover: "In plaats van hele teams met ontwikkelaars die zich over dezelfde taak buigen, gebeurde dit nu door één ontwikkelaar." Wat vooral bij grotere projecten een vermindering betekende van communicatie-overhead. Want een full-stack developer kan gemakkelijk een toevoeging doen die doorwerkt op alle lagen van een applicatie.

Een developer die full-stack kan bouwen, is in staat zijn om de onderstaande hoeden te kunnen dragen (HTML5/CSS 2, Amazon, MySQL, PHP/Python, Ruby).

full-stack developer

Maar we leven nu in een tijd waarbij het dragen van deze hoeden niet meer automatisch betekent dat je full-stacked bent, aldus Yared. Full-stack anno 2015 betekent dat je ook de hoeden moet kunnen dragen van machine learning, Amazon, MongoDB, iOS, Android en Scala. 

full-stack developer anno 2015


Alle ins en outs kennen

Dit is feitelijk onmogelijk. Yared zegt hierover: "Om alleen al op de hoogte te blijven van alle nieuwe programmeerinterfaces op elk gebied is een fulltime-job. Voor het ontwikkelen van uitstekende iOS en Android applicaties zijn experts nodig. Op operationeel gebied vraagt het beheren van object databases als MongoDB uitvoerige aandacht waarbij continue aanpassingen moeten worden gedaan."

"Het uitvoeren van een applicatie op een cloudservice als Amazon vereist het kennen van alle ins- en outs van de verschillende services. Zelfs het 'heilige' web front-end is geëvolueerd in CSS4, JSON en JavaScript MVC frameworks (Angular.js en Backbone.js)." Kortom, vaarwel full-stack developer en welkom full-integrator developer! Want al deze ontwikkelingen bieden ruimte voor een ander type developer. Yared noemt dit type de full-integrator developer.


Bruggenbouwer nodig

Volgens Yared is het essentieel om in ieder geval één persoon in dienst te hebben die de meest fundamentele processen, van al deze nieuwe technologieën, op elke laag van de applicatie snapt. Dat is degene die met elke expert, op elke laag, kan samenwerken. Hij is de schakel tussen al deze experts en brengt ze bij elkaar. Yared zegt over dit type developer: "Deze bruggenbouwende software-experts zijn waarschijnlijk expert op één laag of enkele lagen."

De ontwikkeling van full-stack naar full-integrator is voor elke developer een interessante ontwikkeling. Daadwerkelijk full-stacked zijn is steeds minder mogelijk. Je profileren als full-integrator developer daarentegen is, in ieder geval volgens Yared, de weg naar de top!

> Artikelen die je misschien ook interessant vindt

 

> Populaire artikelen

 

Terug naar overzicht
 
 
Terug naar overzicht

Heb je nog vragen?

Je kunt ons bellen
Telefoon:
020 - 5300500
... of we bellen jou
of je mailt ons