{"id":9236,"date":"2025-06-03T17:17:11","date_gmt":"2025-06-03T16:17:11","guid":{"rendered":"https:\/\/qdraw.nl\/blog\/?p=9236"},"modified":"2025-06-04T18:01:30","modified_gmt":"2025-06-04T17:01:30","slug":"full-stack-conference-2025","status":"publish","type":"post","link":"https:\/\/qdraw.nl\/blog\/technologie\/full-stack-conference-2025\/","title":{"rendered":"Full Stack Conference (2025)"},"content":{"rendered":"<p>Op 3 juni 2025 bezocht ik de Full Stack Conference in Utrecht: een dag vol inspiratie, kennisdeling en technische diepgang. Deze blogpost is geschreven voor een technisch publiek, maar iedereen is welkom om het te lezen. De conferentie bracht developers van allerlei disciplines samen \u2013 van frontend tot backend, van DevOps tot AI.  In dit verslag neem ik je mee langs de sessies: een praktische blik op AI zonder de hype en een boeiende introductie in de wereld van observability met OpenTelemetry.<\/p>\n<p>Of je nu zelf ontwikkelaar bent, of gewoon benieuwd naar wat er speelt in de wereld van moderne softwareontwikkeling \u2013 ik hoop dat dit verslag je nieuwe inzichten of idee\u00ebn geeft.<\/p>\n<h2>Jessy The \u2013 AI zonder de hype: hoe je AI w\u00e9l goed inzet<\/h2>\n<p>Na de lunch kwam frontend developer &#8220;Jessy The&#8221; het podium op, met zichtbaar enthousiasme. Niet iemand die zomaar met de AI-hype meevaart, maar juist iemand die probeert te begrijpen <em>wat AI echt voor developers betekent<\/em>. \u201cAI is geen magie,\u201d begon ze. \u201cHet is gewoon een tool \u2013 en met grote kracht komt grote verantwoordelijkheid.\u201d <em>(Ja, Spider-Man werd nog even aangehaald.)<\/em><\/p>\n<p>Jessy nam ons mee in haar eigen avontuur. Ze bouwde een app: een AI talk coachdie op basis van een LinkedIn-profiel advies geeft over passende sprekers of tech talks. Ze gebruikte Next.js voor de frontend en Flask (Python) voor de backend. De AI-functionaliteit? Die kwam van OpenAI en modellen van Hugging Face zoals Google\u2019s FLAN-T5.<\/p>\n<p>Maar voordat ze begon met bouwen, stelde ze zichzelf en ons voor een hele belangrijke vraag:<\/p>\n<blockquote><p>\u201cMoet mijn app eigenlijk wel AI gebruiken?\u201d<\/p><\/blockquote>\n<p>Niet elk project heeft baat bij AI. Soms is een simpele regels-engine effectiever, goedkoper \u00e9n betrouwbaarder. Ze gaf voorbeelden van waar AI waarde toevoegt:<\/p>\n<ul>\n<li>Bij complexe beslissingen waar geen vaste regels voor zijn<\/li>\n<li>Wanneer je UX kunt verbeteren door slimme suggesties<\/li>\n<li>Als er daadwerkelijk een probleem is dat AI kan oplossen<\/li>\n<\/ul>\n<p>Daarna legde ze drie routes uit om AI toe te voegen aan je app:<\/p>\n<ol>\n<li>Een kant-en-klare API gebruiken (zoals ChatGPT)<\/li>\n<li>Een bestaand model finetunen<\/li>\n<li>Een compleet eigen model trainen vanaf nul<\/li>\n<\/ol>\n<p>Die laatste optie is alleen voor de echte avonturiers: duur, tijdrovend en risicovol. \u201cZe vergeleek het met een stagiair op een middelbare school, dat kost veel tijd om die op te leiden.\u201d<\/p>\n<h3>Het AI-trainingsproces<\/h3>\n<p>Jessy ging vervolgens de diepte in over fine-tuning. Ze zag het als een leerproces waarbij jij de leraar bent en de AI de leerling. \u201cJe bouwt een soort curriculum. Je bepaalt wat belangrijk is, wat de juiste antwoorden zijn en je voert het de juiste voorbeelden.\u201d<\/p>\n<p>Ze besprak het trainingsproces in 8 stappen:<\/p>\n<ul>\n<li>Begrijp het model<\/li>\n<li>Definieer je taak<\/li>\n<li>Verzamel of bouw een dataset<\/li>\n<li>Bepaal het leerdoel<\/li>\n<li>Kies je model (grotere modellen zijn krachtiger, maar langzamer)<\/li>\n<li>Fine-tune met tools zoals Hugging Face en Google Colab<\/li>\n<li>Meet je training- en validatieverlies<\/li>\n<li>Test en evalueer<\/li>\n<\/ul>\n<p>Ze waarschuwde voor gevaren zoals hallucinatie (AI verzint dingen), input\/output mismatch en het fenomeen van catastrophic forgetting: als je een model t\u00e9 hard traint op nieuwe data, vergeet het ineens alles wat het eerder wist.<\/p>\n<blockquote><p>\u201cHet is net als leren met flashcards. Eerst begrijp je het niet, dan oefen je en op een gegeven moment snap je het. Maar je moet ook blijven checken of je nog weet wat je eerder hebt geleerd.\u201d<\/p><\/blockquote>\n<p>Tot slot sloot ze af met een warme oproep:<\/p>\n<blockquote><p>\u201cGebruik AI bewust. Niet omdat het hip is, maar omdat het echt iets toevoegt voor de gebruiker.\u201d<\/p><\/blockquote>\n<h2>Alexander Chatzizacharias &#038; Riccardo Lippolis \u2013 Operational Excellence met OpenTelemetry<\/h2>\n<p>De volgende sessie begon met een bijna theatraal verhaal. Alexander en Riccardo, twee backend developers, vertelden hoe hun team ooit in de situatie zat dat niemand wist wat er in productie gebeurde. Als er iets kapot ging? Slack. Paniek. Debuggen met screenshots.<\/p>\n<p>Hun reis naar Operational Excellence begon uit frustratie. Ze wilden af van het reactieve brandjesblussen en toe naar inzicht, rust en controle.<\/p>\n<p>Wat ze misten was observability \u2013 het vermogen om te <em>zien<\/em> wat er gebeurt. Niet alleen als iets fout gaat, maar ook <em>waarom<\/em> en <em>waar<\/em> in je systeem. Ze legden uit dat observability meer is dan monitoring. Het is een combinatie van:<\/p>\n<ul>\n<li>Logs \u2013 de details<\/li>\n<li>Metrics \u2013 de getallen<\/li>\n<li>Traces \u2013 de reis van een request<\/li>\n<\/ul>\n<h3>De OpenTelemetry-aanpak<\/h3>\n<p>Ze introduceerden OpenTelemetry (OTel) als d\u00e9 manier om al deze data te verzamelen op een open, gestandaardiseerde manier. Geen vendor lock-in, geschikt voor elke techstack (Java, Go, Python, etc.) en met krachtige integraties zoals:<\/p>\n<ul>\n<li>Grafana<\/li>\n<li>ELK Stack<\/li>\n<li>Jaeger<\/li>\n<\/ul>\n<p>Ze demonstreerden dit met een kleine game die ze gebouwd hadden: een Flappy Bird clone. Elke klik van de speler werd getraceerd. Je kon in Grafana exact zien:<\/p>\n<ul>\n<li>Hoe vaak iemand scoorde<\/li>\n<li>Waar de fouten zaten<\/li>\n<li>Wat er in de logs stond op dat moment<\/li>\n<\/ul>\n<p>Traces lieten letterlijk zien welke microservice werd geraakt bij elk request \u2013 alsof je een soort detective bent in je eigen landschap.<\/p>\n<blockquote><p>\u201cOutage? It\u2019s a microservice murder mystery!\u201d<\/p><\/blockquote>\n<p>Ze bespraken ook de rol van de OpenTelemetry Collector: een centrale plek die data verzamelt en doorstuurt naar visualisatietools. Belangrijk: je kunt zelf configureren welke data waarheen gaat, ideaal voor privacy en interne netwerken.<\/p>\n<h3>Waarom zou je dit doen?<\/h3>\n<blockquote><p>\u201cOmdat je landschap complexer wordt. De techstack wordt diverser. En je gebruikers verwachten stabiliteit.\u201d<\/p><\/blockquote>\n<p>Met observability kun je:<\/p>\n<ul>\n<li>Proactief fouten opsporen<\/li>\n<li>Performance optimaliseren<\/li>\n<li>Debuggen zonder giswerk<\/li>\n<li>Jezelf en je team tijd besparen<\/li>\n<\/ul>\n<p>Ze sloten af met een oproep:<\/p>\n<blockquote><p>\u201cOperational Excellence is niet saai. Het is juist wat je nodig hebt om te groeien \u2013 en je gebruikers serieus te nemen.\u201d<\/p><\/blockquote>\n<h2>Bart Wullems &#8211; A Gentle Introduction into Property-Based Testing (Test Automation)<\/h2>\n<p>Bart Wullems, MVP bij Microsoft en lead architect bij de Vlaamse Landmaatschappij, gaf een toegankelijke introductie in property-based testing. Hij begon met een persoonlijk verhaal over een dure bug tijdens een project waarbij handmatig 400.000 brieven verstuurd werden via een complexe Windows-service. Na een fout gingen 10.000 brieven de deur uit met verkeerde informatie, wat leidde tot een schadepost van \u20ac43.000. Deze bug was te wijten aan het ontbreken van goede tests, wat hem ertoe bracht zijn testaanpak grondig te herzien.<\/p>\n<h3>Van example-based naar property-based testing<\/h3>\n<p>Bart legde het verschil uit tussen traditionele <em>example-based testing<\/em> (waarbij een paar voorbeeldwaarden getest worden) en <em>property-based testing<\/em> (waarbij eigenschappen van de functionaliteit worden getest met willekeurige data).<\/p>\n<ul>\n<li>Example-based: test input zoals <code>add(1, 2) = 3<\/code>.<\/li>\n<li>Property-based: test algemene eigenschappen, zoals <em>commutativiteit<\/em>: <code>add(a, b) == add(b, a)<\/code>.<\/li>\n<\/ul>\n<h3>Wat is een \u201cproperty\u201d?<\/h3>\n<p>Een property is een regel of verwachting waaraan alle geldige input\/output-combinaties moeten voldoen, zoals \u201cde som van twee positieve getallen is altijd groter dan elk van de getallen afzonderlijk\u201d.<\/p>\n<h3>Tools en voorbeelden<\/h3>\n<p>Bart demonstreerde tools zoals FsCheck, jqwik en Fast-check (JavaScript). Via <em>generators<\/em> worden automatisch invoerwaarden gegenereerd. Bij een fout wordt via <em>shrinking<\/em> het kleinste foutieve voorbeeld gezocht, wat debugging makkelijker maakt.<\/p>\n<h3>Praktische toepassingen<\/h3>\n<ul>\n<li>Wiskundige eigenschappen: associativiteit, commutativiteit en idempotentie<\/li>\n<li>Business rules: domeinspecifieke eisen, zoals de uitkomst van een algoritme of sortering<\/li>\n<li>Edge cases: nulls, lege lijsten en negatieve getallen<\/li>\n<\/ul>\n<h3>Conclusie<\/h3>\n<p>Property-based testing dwingt je om dieper na te denken over je vereisten. Het is geen vervanging van example-based tests, maar een waardevolle aanvulling die helpt om edge cases en algemene fouten eerder te ontdekken.<\/p>\n<h2>Jeroen Resoort &#8211; Running LLMs on Commodity Hardware: Private, Practical, and Powerful<\/h2>\n<p>Jeroen Resoort gaf een praktische en toegankelijke sessie over het draaien van Large Language Models (LLMs) op betaalbare en lokale hardware. De focus lag op privacy, controle en betaalbaarheid, met tools als Ollama en Open Web UI.<\/p>\n<h3>Waarom lokaal draaien?<\/h3>\n<ul>\n<li>Geen dataverlies: alles draait op je eigen machine<\/li>\n<li>Geen logging of tracking<\/li>\n<li>Geen maandelijkse kosten<\/li>\n<li>Meer controle en aanpasbaarheid<\/li>\n<li>Mogelijkheid om ongefilterde modellen te gebruiken<\/li>\n<\/ul>\n<h3>Gebruikstoepassingen<\/h3>\n<ul>\n<li>Tekstanalyse en parsing<\/li>\n<li>Code review en assistentie (bijv. in IntelliJ via DevoxxGenie)<\/li>\n<li>Afbeeldingengeneratie met tools zoals Stable Diffusion<\/li>\n<li>Spraakherkenning via Whisper<\/li>\n<\/ul>\n<h3>Modellen en performance<\/h3>\n<p>Er zijn veel modellen beschikbaar, o.a.:<\/p>\n<ul>\n<li>LLaMA 3.2<\/li>\n<li>Gemma<\/li>\n<li>Mistral en Mixtral (Mixture of Experts)<\/li>\n<li>CodeLlama voor codeertaken<\/li>\n<\/ul>\n<p>Afwegingen zijn onder meer de grootte van het model (parameters), het geheugengebruik, tokens per seconde en de context window size.<\/p>\n<h3>Technieken voor optimalisatie<\/h3>\n<ul>\n<li>Quantization: van 16-bit naar 8-bit om geheugen te besparen<\/li>\n<li>Mixture of Experts: modellen zoals Mixtral gebruiken gespecialiseerde submodellen voor snellere inferentie<\/li>\n<li>Preloading en keep-alive: om laadtijden te verminderen<\/li>\n<\/ul>\n<h3>Hardwareoverwegingen<\/h3>\n<ul>\n<li>Minimaal: laptop met voldoende RAM (32\u201364GB)<\/li>\n<li>Optimale setup: Mac Studio, krachtige GPU of server<\/li>\n<li>Clusters: meerdere goedkope servers via RPC, maar niet per se sneller<\/li>\n<\/ul>\n<h3>Tot slot<\/h3>\n<p>Het draaien van LLM\u2019s lokaal is mogelijk \u00e9n praktisch. Het vereist wel enige hardwarekennis en een balans tussen performance, geheugen en use-case. Tools als Ollama en Open Web UI maken het toegankelijker dan ooit.<\/p>\n<h2>Lightning Talks<\/h2>\n<h2>Talk 1: Rasmus Renvall \u2013 <em>Hidden Costs of &#8220;Ready-Made&#8221; Platforms<\/em><\/h2>\n<p>Rasmus Renvall deelde een herkenbaar patroon: de verleiding om kant-en-klare platformen zoals Dataiku te kopen \u2013 tools die \u201calles beloven\u201d, maar in de praktijk toch onverwachte kosten en obstakels met zich meebrengen.<\/p>\n<p>Rasmus kwam met voorbeeld uit het werk: het team demonstreerde een nieuwe AI-platformoplossing. De demo zag er indrukwekkend uit: realtime inzichten, automatisering en veelbelovende resultaten. Het leek zelfs de boilerplate-code te kunnen vervangen. Iedereen was enthousiast, de beslissing werd genomen: kopen die handel!<\/p>\n<h3>Het patroon<\/h3>\n<p>In plaats van een gedeelde basis, gingen teams in de cloud allemaal aan de slag met hun eigen datasets en hun eigen interpretaties. Verschillende versies van data circuleren, wat leidt tot mismatchende uitkomsten. Bucket A heeft iets anders dan Bucket B. Samenwerking voelt ineens als een last: het platform \u201chelpt\u201d wel, maar lost het kernprobleem \u2013 communicatie en afstemming \u2013 niet op.<\/p>\n<h3>Reality check<\/h3>\n<ul>\n<li>De lokale mappen zijn nu vervangen door cloud buckets, maar de fragmentatie blijft<\/li>\n<li>De maandelijkse factuur? Equivalent aan \u00e9\u00e9n of twee fulltime engineers<\/li>\n<li>Kennisdeling stokt. Silo\u2019s ontstaan. De samenwerking die beloofd werd, is vooral afhankelijk van de mensen \u2013 en die zijn vaak te druk<\/li>\n<\/ul>\n<h3>Wat dan wel?<\/h3>\n<p>Rasmus&#8217; oplossing is simpel, maar krachtig: breng mensen weer bij elkaar. Ga in gesprek, cre\u00eber gezamenlijke definities van data en processen en werk stapsgewijs aan \u00e9chte samenwerking. Technologie is een hulpmiddel, geen magische oplossing.<\/p>\n<p>Eerst de communicatie oplossen, dan pas de tooling. Fix the people, not just the platform.<\/p>\n<h2>Talk 2: Ramona Domen \u2013 <em>We Need You: Accessibility on the Web<\/em><\/h2>\n<p>Ramona Domen hield een pleidooi voor digitale toegankelijkheid (a11y) en ze maakte meteen duidelijk: we hebben iedereen nodig.<\/p>\n<p>Ze begon met een persoonlijk voorbeeld: de vroedvouwenschool in Heerlen waar haar kind was geboren, voor 100 jaar geleden was er bijvoorbeeld lift. Fysieke toegankelijkheid was er niet. Helaas geldt dat ook nog vaak voor het web.<\/p>\n<h3>Waarom is digitale toegankelijkheid belangrijk?<\/h3>\n<ul>\n<li>Kleurblindheid: 12% van de mannen<\/li>\n<li>Neurodivergentie: ca. 50% van developers (ADHD, autisme etc.)<\/li>\n<li>Leeftijd: iedereen wordt ouder, met visuele of motorische uitdagingen<\/li>\n<li>Tijdelijke beperkingen: gebroken arm, huilende baby, vertraagde vlucht etc.<\/li>\n<\/ul>\n<p>Toegankelijkheid helpt iedereen. Denk aan ondertitels, duidelijke focus-indicatoren, schaalbare lettertypes en alternatieve teksten voor afbeeldingen.<\/p>\n<h3>Wat kun jij doen?<\/h3>\n<ul>\n<li>Praat erover in je team<\/li>\n<li>Maak het bespreekbaar bij planning en design<\/li>\n<li>Gebruik de WCAG-checklist<\/li>\n<li>Hou het simpel<\/li>\n<\/ul>\n<p>Toegankelijkheid is niet ingewikkeld, maar vraagt w\u00e9l bewustzijn. En dat begint bij jou.<\/p>\n<h2>Talk 3: Edo Poll \u2013 <em>What is a System Anyway? A Little Play<\/em><\/h2>\n<p>Edo Poll sloot af met een luchtige, maar scherpe mini-performance over systeemdenken. Zijn vraag: \u201cWat \u00eds een systeem eigenlijk?\u201d<\/p>\n<p>Aan de hand van een sketch over een NS-fiets-parkeerapp en de bijbehorende backends, liet hij zien hoe makkelijk het is om race conditions, edge cases en onbedoelde interacties over het hoofd te zien als je alleen naar je eigen deel kijkt.<\/p>\n<p>De kernboodschap: een systeem is meer dan code \u2013 het is ook gedrag, communicatie en interactie tussen onderdelen.<\/p>\n<p>Hij gebruikte humor om duidelijk te maken dat systemen niet altijd rationeel of logisch gedragen \u2013 net als mensen. Een oplossing die \u201cperfect\u201d lijkt, kan totaal verkeerd uitpakken in een andere context, of als gebruikers onverwacht gedrag vertonen.<\/p>\n<p>Zijn conclusie: systeemdenken vereist dat je uitzoomt. Kijk naar het grotere geheel. Vraag niet alleen: \u201cWerkt mijn stukje?\u201d, maar ook: \u201cWat gebeurt er als alle stukjes samenwerken?\u201d<\/p>\n<h2>Sander Hoogendoorn \u2013 Seven Habits of a Highly Successful Team<\/h2>\n<p>Sander Hoogendoorn sloot de dag af met een energieke en inspirerende keynote over teamwerk in softwareontwikkeling. De centrale boodschap: software development is een teamsport. En succesvolle teams? Die hebben gewoontes \u2013 zeven om precies te zijn.<\/p>\n<h3>De realiteit van vandaag<\/h3>\n<p>Veel teams kampen met technische schuld, complexe platformlandschappen en verstikkende afhankelijkheden. Wat is het echte probleem? Niet alleen de monolith, maar vooral: de organisatie en cultuur eromheen.<\/p>\n<ul>\n<li>Refactoring wordt uitgesteld (\u201cde afwas stapelt zich op\u201d)<\/li>\n<li>Veranderingen zijn onvermijdelijk \u2013 maar worden vaak niet omarmd<\/li>\n<li>De echte bottleneck zit niet bij de developers, maar in de structuur en besluitvorming<\/li>\n<\/ul>\n<h3>De zeven gewoontes van succesvolle teams<\/h3>\n<p>Sander deelde de zeven gewoontes die teams helpen om succesvol te zijn.<\/p>\n<h3>1. Prioriteer pragmatisch<\/h3>\n<p>Je kunt je tijd maar \u00e9\u00e9n keer uitgeven. Dus besteed die gericht:<\/p>\n<ul>\n<li>70% innovatie<\/li>\n<li>20% renovatie<\/li>\n<li>10% bugs en onderhoud (&#8220;keep the lights on&#8221;)<\/li>\n<\/ul>\n<p>Werk toe naar het gezamenlijke doel (\u201cde stip op de horizon\u201d). Gebruik een tech board om idee\u00ebn te toetsen: helpt dit ons \u00e9cht vooruit? Is het klein genoeg? Is het urgent? Of moet het naar de \u201csomeday\/maybe\u201d backlog?<\/p>\n<h3>2. Continue vernieuwing in kleine stappen<\/h3>\n<p>De winkel moet open blijven terwijl je verbouwt. Denk klein. Experimenteer. Falen hoort erbij. Sander verwees o.a. naar de Cynefin framework: softwareontwikkeling is vaak complex of zelfs chaotisch \u2013 dus niet strak te plannen.<\/p>\n<p>\u201cCoddiwomple\u201d \u2013 een woord voor doelgericht ronddwalen. Kleine stappen, feedback, aanpassingen.<\/p>\n<h3>3. Eigenaarschap op teamniveau<\/h3>\n<p>De kleinste eenheid van eigenaarschap is niet de developer, maar het team. En teams moeten autonomie hebben om keuzes te maken. D\u00e1\u00e1r ontstaat de magie.<\/p>\n<p>Zelforganisatie is lastig, maar noodzakelijk. Je leert door te doen \u2013 en door te mogen falen.<\/p>\n<h3>4. Minder regels, meer vertrouwen<\/h3>\n<p>Inspiratie van Dee Hock (oprichter van Visa): hoe minder regels, hoe meer zelfregulatie. Sander gaf het voorbeeld van verkeersregels: minder verkeersborden \u2192 mensen gaan rustiger rijden, omdat ze elkaar aankijken. Vertrouwen en visuele communicatie in plaats van bureaucratie.<\/p>\n<p>\u201cPerfectie is niet wanneer er niets meer toe te voegen is, maar wanneer je niets meer kunt weglaten.\u201d \u2013 Antoine de Saint-Exup\u00e9ry<\/p>\n<h3>5. Microteams bouwen<\/h3>\n<p>Kleine en tijdelijke teams voor specifieke problemen:<\/p>\n<ol>\n<li>Pick a problem<\/li>\n<li>Form a team<\/li>\n<li>Discuss a solution<\/li>\n<li>Work<\/li>\n<li>Report as done<\/li>\n<li>Disband<\/li>\n<li>Repeat<\/li>\n<\/ol>\n<p>Snellere doorlooptijd. Minder afhankelijkheden. Flexibel en wendbaar.<\/p>\n<h3>6. Continu leveren<\/h3>\n<p>Van waterval naar trunk-based development. Geen pull requests en geen wachttijden. Lever meerdere keren per dag. Automatisering is cruciaal. \u201cCode met vertrouwen.\u201d<\/p>\n<p>Sander haalde o.a. Jez Humble aan (Continuous Delivery): releases moeten zo klein zijn dat je \u201cde bus kunt missen\u201d en het geen ramp is.<\/p>\n<h3>7. Purpose, mastery &#038; autonomy<\/h3>\n<p>Wat motiveert mensen \u00e9cht? Niet regels of controle, maar:<\/p>\n<ul>\n<li>Purpose \u2013 zinvol werk doen<\/li>\n<li>Mastery \u2013 ergens beter in worden<\/li>\n<li>Autonomy \u2013 ruimte om te beslissen<\/li>\n<\/ul>\n<h3>Afsluiting<\/h3>\n<p>Sander sloot af met een dosis humor en levensfilosofie:<\/p>\n<blockquote>\n<p>\u201cWaarom zijn we eigenlijk nooit naar Itali\u00eb gegaan?\u201d vroeg zijn moeder aan hem<\/p>\n<p>\u201cOude sleutels openen geen nieuwe deuren.\u201d<\/p>\n<\/blockquote>\n<p>Durf te veranderen. Blijf leren. En bovenal: heb plezier.<\/p>\n<p>\u201cIf all else fails: <code>rm -rf node_modules && npm install<\/code>.\u201d<\/p>\n<h2>Conclusie<\/h2>\n<p>De Full Stack Conference 2025 bood een mix van inspiratie, technische diepgang en praktijkgerichte sessies. Wat alle sprekers gemeen hadden, was hun nadruk op bewust kiezen: gebruik AI niet omdat het hip is, maar omdat het iets wezenlijks toevoegt. Observeer je systemen niet oppervlakkig, maar met inzicht en context. Test niet alleen met voorbeelden, maar vanuit eigenschappen en intentie. Draai LLMs niet per se in de cloud, maar misschien wel gewoon lokaal \u2013 als dat beter past bij je use case of waarden.<\/p>\n<p>Of je nu frontend-, backend- of DevOps-engineer bent: deze dag herinnerde ons eraan dat moderne softwareontwikkeling niet alleen gaat over tools en stacks, maar over het maken van doordachte keuzes. Technologie inzetten waar het \u00e9cht werkt en waar je als team en gebruiker beter van wordt.<\/p>\n<p><a href=\"https:\/\/media.qdraw.nl\/log\/full-stack-conference-2025\/1000\/20250603_113230_d_e_kl1k.jpg\" class=\"lightbox[blog]\"\n       title=\"Full Stack Conference (2025) - Full Stack Conference 2025 | foto 1\"\n       data-gps=\"52.063694,5.107136\" data-heightratio=\"0.667\"><br \/>\n        <noscript><img decoding=\"async\" src=\"https:\/\/media.qdraw.nl\/log\/full-stack-conference-2025\/500\/20250603_113230_d_e_kl.jpg\" alt=\"Full Stack Conference 2025\" \/><\/noscript><br \/>\n\t\t<img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7ljmRAAAALklEQVR4AWOZtWQDHx8fv6AwELB8\/Pjx&#x2B;fPnLGwcQMBy5tC6Hz9&#x2B;SMvI\/f37FwARhhCzxRfIeAAAAABJRU5ErkJggg==\" title=\"Full Stack Conference 2025 | foto 1\" \n\t\t     alt=\"Full Stack Conference (2025) ; Full Stack Conference 2025 ; Full Stack Conference 2025, Europalaan 93, Conflux\" \/><br \/>\n    <\/a><br \/>\n<a href=\"https:\/\/media.qdraw.nl\/log\/full-stack-conference-2025\/1000\/20250603_130350_d_e_kl1k.jpg\" class=\"lightbox[blog]\"\n       title=\"Full Stack Conference (2025) - Full Stack Conference 2025 | foto 2\"\n       data-gps=\"52.064175,5.106342\" data-heightratio=\"0.667\"><br \/>\n        <noscript><img decoding=\"async\" src=\"https:\/\/media.qdraw.nl\/log\/full-stack-conference-2025\/500\/20250603_130350_d_e_kl.jpg\" alt=\"Full Stack Conference 2025\" \/><\/noscript><br \/>\n\t\t<img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7ljmRAAAAMElEQVR4AWNZPHf&#x2B;jx8\/uLl53759y3L79m02NjYZGXYWILh4aRMHB8ebt1IfPnwAAGp8Edy6&#x2B;p&#x2B;gAAAAAElFTkSuQmCC\" title=\"Full Stack Conference 2025 | foto 2\" \n\t\t     alt=\"Full Stack Conference (2025) ; Full Stack Conference 2025 ; Full Stack Conference 2025, Europalaan 93, Conflux\" \/><br \/>\n    <\/a><br \/>\n<a href=\"https:\/\/media.qdraw.nl\/log\/full-stack-conference-2025\/1000\/20250603_133047_d_e_kl1k.jpg\" class=\"lightbox[blog]\"\n       title=\"Full Stack Conference (2025) - Jessy The &#x2013; AI zonder de hype: hoe je AI w&#xE9;l goed inzet | foto 3\"\n       data-gps=\"52.064064,5.106397\" data-heightratio=\"0.667\"><br \/>\n        <noscript><img decoding=\"async\" src=\"https:\/\/media.qdraw.nl\/log\/full-stack-conference-2025\/500\/20250603_133047_d_e_kl.jpg\" alt=\"Jessy The &#x2013; AI zonder de hype: hoe je AI w&#xE9;l goed inzet\" \/><\/noscript><br \/>\n\t\t<img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7ljmRAAAANElEQVR4AQ3HsQkAMAgEQHnkwcL9q6TMHBnBISQ4hcTrTs\/aIpKZJNXdu9vMdERcAFVv\/gEIsQ0rS1yErQAAAABJRU5ErkJggg==\" title=\"Jessy The &#x2013; AI zonder de hype: hoe je AI w&#xE9;l goed inzet | foto 3\" \n\t\t     alt=\"Full Stack Conference (2025) ; Jessy The &#x2013; AI zonder de hype: hoe je AI w&#xE9;l goed inzet ; Full Stack Conference 2025, Jessy The &#x2013; AI zonder de hype, hoe je AI w&#xE9;l goed inzet, Europalaan 93, Conflux\" \/><br \/>\n    <\/a><br \/>\n<a href=\"https:\/\/media.qdraw.nl\/log\/full-stack-conference-2025\/1000\/20250603_140655_d_e_kl1k.jpg\" class=\"lightbox[blog]\"\n       title=\"Full Stack Conference (2025) - Alexander Chatzizacharias &amp; Riccardo Lippolis &#x2013; Operational Excellence met OpenTelemetry | foto 4\"\n       data-gps=\"0,0\" data-heightratio=\"0.667\"><br \/>\n        <noscript><img decoding=\"async\" src=\"https:\/\/media.qdraw.nl\/log\/full-stack-conference-2025\/500\/20250603_140655_d_e_kl.jpg\" alt=\"Alexander Chatzizacharias &amp; Riccardo Lippolis &#x2013; Operational Excellence met OpenTelemetry\" \/><\/noscript><br \/>\n\t\t<img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7ljmRAAAAMklEQVR4AWPZu23dly9feLk4njx5wnLt2jUREREZSfGvX7&#x2B;yHD9yQFJS8vPbp\/fv3wcAoFMVtklJvKUAAAAASUVORK5CYII=\" title=\"Alexander Chatzizacharias &amp; Riccardo Lippolis &#x2013; Operational Excellence met OpenTelemetry | foto 4\" \n\t\t     alt=\"Full Stack Conference (2025) ; Alexander Chatzizacharias &amp; Riccardo Lippolis &#x2013; Operational Excellence met OpenTelemetry ; Full Stack Conference 2025, Europalaan 93, Conflux, Alexander Chatzizacharias &amp; Riccardo Lippolis &#x2013; Operational Ex\" \/><br \/>\n    <\/a><br \/>\n<a href=\"https:\/\/media.qdraw.nl\/log\/full-stack-conference-2025\/1000\/20250603_143807_d_e_kl1k.jpg\" class=\"lightbox[blog]\"\n       title=\"Full Stack Conference (2025) - Bart Wullems - A Gentle Introduction into Property-Based Testing (Test Automation) | foto 5\"\n       data-gps=\"0,0\" data-heightratio=\"0.667\"><br \/>\n        <noscript><img decoding=\"async\" src=\"https:\/\/media.qdraw.nl\/log\/full-stack-conference-2025\/500\/20250603_143807_d_e_kl.jpg\" alt=\"Bart Wullems - A Gentle Introduction into Property-Based Testing (Test Automation)\" \/><\/noscript><br \/>\n\t\t<img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7ljmRAAAAMUlEQVR4AWNZv2vLp0&#x2B;ffn\/\/&#x2B;uLFC5ZVq1a5ubnJy8v\/&#x2B;\/eP5fiaTXLMnL8UpVhZWQHqdxRZDUOhigAAAABJRU5ErkJggg==\" title=\"Bart Wullems - A Gentle Introduction into Property-Based Testing (Test Automation) | foto 5\" \n\t\t     alt=\"Full Stack Conference (2025) ; Bart Wullems - A Gentle Introduction into Property-Based Testing (Test Automation) ; Full Stack Conference 2025, Europalaan 93, Conflux, Bart Wullems - A Gentle Introduction into Property-Based Testing\" \/><br \/>\n    <\/a><br \/>\n<a href=\"https:\/\/media.qdraw.nl\/log\/full-stack-conference-2025\/1000\/20250603_154951_d_e_kl1k.jpg\" class=\"lightbox[blog]\"\n       title=\"Full Stack Conference (2025) - Running LLMs on Commodity Hardware: Private, Practical, and Powerful &#x2013; Jeroen Resoort | foto 6\"\n       data-gps=\"0,0\" data-heightratio=\"0.667\"><br \/>\n        <noscript><img decoding=\"async\" src=\"https:\/\/media.qdraw.nl\/log\/full-stack-conference-2025\/500\/20250603_154951_d_e_kl.jpg\" alt=\"Running LLMs on Commodity Hardware: Private, Practical, and Powerful &#x2013; Jeroen Resoort\" \/><\/noscript><br \/>\n\t\t<img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7ljmRAAAAL0lEQVR4AWOZP7Xnw4cPSkry586dY3n9&#x2B;jUXF9e\/f\/8UFRVZVq9eBaS4ONh4eXkBi0sQSGqoaJMAAAAASUVORK5CYII=\" title=\"Running LLMs on Commodity Hardware: Private, Practical, and Powerful &#x2013; Jeroen Resoort | foto 6\" \n\t\t     alt=\"Full Stack Conference (2025) ; Running LLMs on Commodity Hardware: Private, Practical, and Powerful &#x2013; Jeroen Resoort ; Full Stack Conference 2025, Europalaan 93, Conflux, Running LLMs on Commodity Hardware, Private, Practical, and Powerful &#x2013; Jeroen Resoort\" \/><br \/>\n    <\/a><br \/>\n<a href=\"https:\/\/media.qdraw.nl\/log\/full-stack-conference-2025\/1000\/20250603_170137_d_e_kl1k.jpg\" class=\"lightbox[blog]\"\n       title=\"Full Stack Conference (2025) - Lightning Talks Talk 2: Ramona Domen - We Need You: Accessibility on the Web | foto 7\"\n       data-gps=\"0,0\" data-heightratio=\"0.667\"><br \/>\n        <noscript><img decoding=\"async\" src=\"https:\/\/media.qdraw.nl\/log\/full-stack-conference-2025\/500\/20250603_170137_d_e_kl.jpg\" alt=\"Lightning Talks Talk 2: Ramona Domen - We Need You: Accessibility on the Web\" \/><\/noscript><br \/>\n\t\t<img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7ljmRAAAAMElEQVR4AWM5euzU&#x2B;\/fvX716DQQsW7Zs4efnZ2Nj\/\/nzJ8vGDUsUFRVFRcS\/f\/8OANz3FYNHQcQsAAAAAElFTkSuQmCC\" title=\"Lightning Talks Talk 2: Ramona Domen - We Need You: Accessibility on the Web | foto 7\" \n\t\t     alt=\"Full Stack Conference (2025) ; Lightning Talks Talk 2: Ramona Domen - We Need You: Accessibility on the Web ; Full Stack Conference 2025, Europalaan 93, Conflux, Lightning Talks Talk 2, Ramona Domen - We Need You, Accessibility on the Web\" \/><br \/>\n    <\/a><br \/>\n<a href=\"https:\/\/media.qdraw.nl\/log\/full-stack-conference-2025\/1000\/20250603_175137_d_e_kl1k.jpg\" class=\"lightbox[blog]\"\n       title=\"Full Stack Conference (2025) - Sander Hoogendoorn - Seven Habits of a Highly Successful Team | foto 8\"\n       data-gps=\"0,0\" data-heightratio=\"0.667\"><br \/>\n        <noscript><img decoding=\"async\" src=\"https:\/\/media.qdraw.nl\/log\/full-stack-conference-2025\/500\/20250603_175137_d_e_kl.jpg\" alt=\"Sander Hoogendoorn - Seven Habits of a Highly Successful Team\" \/><\/noscript><br \/>\n\t\t<img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7ljmRAAAAMklEQVR4AWOZPLmTjY3t06cvr1&#x2B;\/Znn8&#x2B;DE\/P7&#x2B;Njd3Ro0dZXj17\/vDuvcvnLzAyMgIAmWMVChymncwAAAAASUVORK5CYII=\" title=\"Sander Hoogendoorn - Seven Habits of a Highly Successful Team | foto 8\" \n\t\t     alt=\"Full Stack Conference (2025) ; Sander Hoogendoorn - Seven Habits of a Highly Successful Team ; Full Stack Conference 2025, Europalaan 93, Conflux, Sander Hoogendoorn - Seven Habits of a Highly Successful Team\" \/><br \/>\n    <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"Op 3 juni 2025 bezocht ik de Full Stack Conference in Utrecht: een dag vol inspiratie, kennisdeling en technische diepgang. Deze blogpost is geschreven voor een technisch publiek, maar iedereen is welkom om het te lezen. De conferentie bracht developers van allerlei disciplines samen \u2013 van frontend tot backend, van DevOps tot AI. In dit&#8230; <a class=\"view-article\" href=\"https:\/\/qdraw.nl\/blog\/technologie\/full-stack-conference-2025\/\">Bekijk artikel<\/a>","protected":false},"author":2,"featured_media":9243,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[624],"tags":[2761,2972],"class_list":["post-9236","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technologie","tag-code","tag-conference"],"_links":{"self":[{"href":"https:\/\/qdraw.nl\/blog\/wp-json\/wp\/v2\/posts\/9236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qdraw.nl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qdraw.nl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qdraw.nl\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/qdraw.nl\/blog\/wp-json\/wp\/v2\/comments?post=9236"}],"version-history":[{"count":0,"href":"https:\/\/qdraw.nl\/blog\/wp-json\/wp\/v2\/posts\/9236\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/qdraw.nl\/blog\/wp-json\/wp\/v2\/media\/9243"}],"wp:attachment":[{"href":"https:\/\/qdraw.nl\/blog\/wp-json\/wp\/v2\/media?parent=9236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qdraw.nl\/blog\/wp-json\/wp\/v2\/categories?post=9236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qdraw.nl\/blog\/wp-json\/wp\/v2\/tags?post=9236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}