x

We use the latest technologies to provide the best experience!

Please download a newer version of your browser. Click to close

Ben je op zoek naar developer talent?
Bekijk onze graduates die nu op zoek zijn naar werk!

Wat is een full stack developer?

en waarom beginnende devs denken dat ze dat zijn en ervaren devs niet
Wouter de Vos
CEO & Founder at Codaisseur
15 May 2020
Hier bij Codaisseur zeggen we graag “Full Stack Academy” als we het over onze super intensieve web development bootcamp hebben. En dat heeft tot gevolg dat onze graduates zichzelf dan ook vaak presenteren als “full stack developer” als ze de zoektocht naar hun eerste baan als developer na hun programmeer bootcamp starten. En zonder het te zich te realiseren, vallen ze met hun gezicht in het een altijd levendige discussie in de development community.
Betekenis van full stackMensen hebben verschillende ideeën over wat een full stack developer is. Onze alumni gebruiken het om aan te geven dat ze zowel in frontend als backend geïnteresseerd zijn. Vanuit praktisch oogpunt recruteren veel bedrijven ook op full stack developers omdat het klinkt alsof die meer kunnen dan een frontend dev of een backend dev, een DBA, of een andere expert. En als je die experts het vraagt, zeggen ze: er bestaan geen full stack developers.
Waarom onze studenten denken dat ze gelijk hebbenWij stomen onze studenten klaar voor een carrière in webdevelopment: het bouwen van applicaties voor het web. Studenten in Codaisseur's Full Stack Academy leren applicaties te bouwen met een:
Is dit dan een full stack?
De skillset van een full stack developerDe dikke Van Dale voor webdevelopers, W3Schools, heeft zelfs een pagina gewijd aan dit onderwerp waarop staat:------------------------A full stack web developer is a person who can develop both client and server software In addition to mastering HTML and CSS, he / she also knows how to:
  • Program a browser (like using JavaScript, jQuery, Angular, or Vue)
  • Program a server (like using PHP, ASP, Python, or Node)
  • Program a database (like using SQL, SQLite, or MongoDB)
Bron: w3schools. ------------------------
Mooi! Onze studenten leren precies dat wat hierboven staat, dus is het logisch dat ze zichzelf Full Stack Developer noemen! Toch?
Waarom ervaren developers denken dat ze gelijk hebbenNou ja... dat hangt er vanaf. Onderaan diezelfde pagina op w3schools.com staat ook:------------------------The advantage of being a full stack web developer is:
  • You can master all the techniques involved in a development project
  • You can make a prototype very rapidly
  • You can provide help to all the team members
  • You can reduce the cost of the project
  • You can reduce the time used for team communication
  • You can switch between front and back end development based on requirement
  • You can better understand all aspects of new and upcoming technologies
Bron: w3schools------------------------Het probleem dient zich al meteen aan als je naar het eerste punt kijkt: “You can master all the techniques involved in a development project”, (Je beheerst alle technieken die noodzakelijk zijn in een development project). Voor een minder ervaren developer komt dit waarschijnlijk neer op een kort en simpel lijstje:
  • Front-end app
  • Backend app
  • Database
Maar als je meer ervaring hebt, dan weet je dat er veel meer valt onder "alle technieken die noodzakelijk zijn in een development project" . Om een webapplicatie te bouwen, heb je een flinke stack aan technologieën nodig.
Full stack technologie
  • Een database om informatie op te slaan en op te halen
  • Een webserver om HTTP requests af te handelen
  • Statische bestanden (assets) zoals HTML documenten, CSS, plaatjes, pdf-documenten, en andere dingen die geen code zijn, maar ook gecompileerde javascriptcode die door de browser van de websitebezoeker uitgevoerd kan worden
  • API's die dienen als een HTTP interface tussen database en client en die vaak (business) logic implementeren, zoals algoritmes, authenticatie, authorisatie
  • Een frontend die dient als (interactieve) User Interface (UI)
  • Test code die automatisch checks uitvoert op de applicatie(code) en de werking van API's en frontends waarborgt terwijl aan de applicatie ontwikkeld wordt
  • Build code die code waar aan geprogrammeerd kan worden vertaald in code die in een productieomgeving (het internet bijvoorbeeld) gerund kan worden en daarvoor geoptimaliseerd is
  • DevOps code die de infrastructuur managen, zoals servers, netwerk protocollen, security protocollen, (auto-)scaling om te beantwoorden aan de pieken en dalen in verkeer die applicaties te verduren krijgen
  • Applicatie en performance monitoring code en infrastructuur om de performance van applicaties te meten zodat developers weten hoe de applicatie zich in productie houdt en om bugs en andere issues af te vangen en op te sporen die vaak alleen aan het licht komen als echte gebruikers een applicatie gebruiken
  • Dependencies en dependency management om bij te houden welke libraries de applicatie nodig heeft de juiste versies te installeren
  • Code om syntax and codeerstijl checks te beheren en uit te voeren m ervoor te zorgen dat code leesbaar en efficient geschreven wordt
  • Andere tooling zoals code editors, het versiebeheersysteem, software om de apps te runnen en om verkeer naar en tussen applicaties te regelen
  • Dingen die ik vergeten ben te noemen of niet weet

Deze lijst is al een stuk langer! En hoewel we veel hiervan wel hebben opgenomen in de 11 weken die onze full stack web development academy duurt, kun je je voorstellen dat er ook een hoop is dat we niet kunnen behandelen. Sterker nog, als je zelf een developer bent met ervaring, dan ben je vast van mening dat je diet helemaal niet allemaal kan leren in zo'n korte tijd. En daar heb je waarschijnlijk gelijk in!
Waarom het niet uitmaakt wie er gelijk heeftUiteindelijk maakt het allemaal niet uit wie er gelijk heeft en wie niet. Wat belangrijk is, is dat we junior developers een kans geven om te leren wat ervaren developers weten zodat we samen te gekke software kunnen maken!Kennelijk is het Aristoteles die de roem mag claimen voor deze wijze woorden waarvan ik denk dat ze hierop helemaal van toepassing zijn:

"Hoe meer je weet, hoe meer je realiseert dat je niets weet — Aristoteles"

Wat voor werk kan een junior full stack developer van Codaisseur doen?Nou, als we nog even naar die lijst op w3schools kijken, ongeveer dit allemaal – op beginnersniveau:
  • You can master all the techniques involved in a development project
  • You can make a prototype very rapidly
  • You can provide help to all the team members
  • You can reduce the cost of the project
  • You can reduce the time used for team communication
  • You can switch between front and back end development based on requirements
  • You can better understand all aspects of new and upcoming technologies

Natuurlijk, ze hebben maar een smaak database gezien, een soort front-end, etc. maar ze zijn gepassioneerd, hebben geen vooroordelen, zijn professioneel, communicatief en ze leren crazy fast . Uiteindelijk is dat toch wat we allemaal waarderen in een nieuwe collega?

Interesse in meer?

Lees meer artikelen op dit blog