Deze week stond in het teken van uitdagende refactorings, mijn tussentijdse evaluatie en interessante gesprekken over professionele groei. Daarnaast kreeg ik de kans om voor het eerst "zelfstandig" een klantproject op te zetten.
Debugging en CI/CD pipeline optimalisatie
Maandag begon ik met het oplossen van errors in de Command Worker. De vorige week had ik al gewerkt aan het opzetten van GitHub Actions voor automatische Docker image builds, en tot mijn vreugde werkte dit. Mijn eerste succesvolle Docker image is een feit!
De debugging bleek echter complexer dan verwacht. De Command Worker is sterk afhankelijk van het HolonCom.Core.All project, waardoor problemen in de ene codebase vaak doorwerken in de andere. Een specifieke uitdaging was dat de build online faalde terwijl deze lokaal wel werkte. Na analyse bleek dit te komen door:
Typfouten in packagenamen
Ontbrekende packages
Lokale wijzigingen die nog niet gereflecteerd waren in de NuGet packages
De oplossing bestond uit twee fasen:
Eerst de build met lokale projectreferenties laten werken
Daarna overschakelen naar NuGet packages
Dit proces hielp me beter begrijpen hoe dependencybeheer werkt in grotere .NET-oplossingen.
Tussentijdse evaluatie en persoonlijke groei
Dinsdag vond mijn tussentijdse evaluatie plaats met mijn stagebegeleider. Voorafgaand had ik een voorbereidend gesprek met mijn mentor. Hij gaf me waardevolle feedback over mijn stageperiode tot nu toe: over het algemeen positief, maar met het advies om vaker de "waarom"-vraag te stellen. Hij wil meer van "mij" zien door kritischer te zijn en dieper te graven.
Een interessante metafoor die hij deelde: "De arend vliegt alleen, en het doet enigszins pijn om niet meer met de mussen te kunnen spelen." Dit reflecteert de realiteit van professionele groei.
We bespraken ook concepten als "associatie" en "dissociatie" in relatie tot zelfreflectie en persoonlijke ontwikkeling. Deze gesprekken helpen me om niet alleen technisch te groeien, maar ook professioneel.
Een kleine les in professionele etiquette: toen mijn stagebegeleider arriveerde, had ik hem geen koffie aangeboden omdat ik niet wist hoe de koffiemachine werkte. Mijn mentor merkte op dat juist dit soort details het verschil maken tussen goed en uitstekend. Beter proberen en falen dan helemaal niet proberen - een les die verder reikt dan alleen koffie aanbieden.
De evaluatie zelf was zeer positief. Ik kijk uit naar de schriftelijke feedback om specifieke verbeterpunten te identificeren.
Docker en versioning challenges
Woensdag en donderdag stond Docker centraal. Ik worstelde met versioning issues in onze GitHub Actions pipeline. Bij het analyseren van de error logs bleek dat de oudste stabiele versies van bepaalde packages versieconflicten veroorzaakten.
Ik onderzocht oplossingsrichtingen zoals:
Het gebruik van
directory.packages.propsvoor centrale versioningHet optimaliseren van de
nuget.configvoor package source mapping
De nuget.config aanpassingen waren succesvol, maar de eerste optie bleek te ingrijpend voor de huidige projectstatus, aangezien alle versies (inclusief externe NuGets) verwijderd zouden moeten worden.
Nieuwe projecten en klantwerk
Halverwege de week kreeg ik een nieuwe opdracht voor een klant die een statische website wenste. Na research van verschillende oplossingen (Hugo, Jekyll) kozen we voor Ghost - een gebruiksvriendelijk CMS dat met markdown werkt.
Ik zette een Docker container op met een SQLite database voor de blog. Een uitdaging hierbij was het correct configureren van de database-persistence en het oplossen van SSL-issues bij het mappen van poorten. Dit veroorzaakte bugs in het admin panel, zoals niet-werkende previews.
Daarnaast werd ik betrokken bij een E-shop project voor snelle bugfixing en refactoring. Hier leerde ik meer over:
Het oplossen van solution errors
Het updaten van project files
Het oplossen van packagereferentie issues in .NET3-projecten (waarbij packages in een packages.config file zitten in plaats van in de project files)
Het was interessant om te zien hoe je bij oudere .NET-projecten soms de project files handmatig in een teksteditor moet aanpassen omdat Visual Studio niet alle details toont.
Commerciële en persoonlijke ontwikkeling
Een waardevol moment deze week was het gesprek met mijn mentor over mogelijkheden als student-zelfstandige na mijn stage. We bespraken:
Statuut als zelfstandige: belastingaspecten en sociale zekerheid
Het verschil tussen "natuurlijk persoon" en "rechtspersoon"
Financiële planning en investeringen
Dit gesprek opende mijn ogen voor de zakelijke kant van softwareontwikkeling en gaf me stof tot nadenken over mijn toekomstige carrièrepad.
Conclusie
Week 8 was een mix van technische uitdagingen, professionele groei en nieuwe projectervaringen. De combinatie van dagelijkse ontwikkeltaken en de bredere gesprekken over professionele ontwikkeling maken deze stage tot een waardevolle ervaring.
Ik kijk uit naar volgende week, waarin ik hoop de Ghost-implementatie af te ronden en verder te werken aan de Command Worker optimalisatie.