Naar de inhoud
Atelierby nealvdv
Terug naar De Kaart

Ambacht · Bouwen

Programmeren

Denken als een programmeur, en code schrijven die een ander kan lezen.

  • 10 modules
  • 280 studie-uren

Begin gratis met dit ambacht

WerkroosterModules en indicatieve studie-uren per rang
RangModulesUren
Leerling4105
Compagnon4105
Meester270
Samen10280

Waarom dit ambacht

Achter elke website, app en automatisering zit code, en die code moet niet alleen vandaag werken maar ook over drie jaar nog te begrijpen zijn. In dit ambacht leer je problemen opdelen, ze oplossen in TypeScript en Python, en je werk zo testen, versioneren en documenteren dat een collega het zonder jou kan overnemen.

Wat je vooraf nodig hebt

Niets. Een computer waarop je software mag installeren en de module over je werkplek uit Fundament helpen wel.

Het leerplan

Modules per rang

Elke module heeft lessen en één opdracht met een resultaat dat iemand anders kan nakijken. De uren zijn indicatief.

Je voortgang

Je vinkt modules af op dit toestel; er gaat niets naar een server. Op de Werkbank bewaar je je pad in een account, dien je je opdrachten in en krijg je het meesterteken van Neal.

Leerling

De basis. Met deze modules en een compagnonsproef word je Compagnon.

4 modules · 105 u

  1. Denken als een programmeur

    15 studie-uren

    Je leert een vaag probleem opdelen in kleine stappen die een computer kan uitvoeren, nog voor je één regel code schrijft.

    • Pen en papier
    • Excalidraw
    • Visual Studio Code
    Lessen, opdracht en wat je daarna kunt
    Wat je daarna kunt
    • Een probleem opsplitsen in invoer, verwerking en uitvoer
    • Een oplossing uitschrijven in pseudocode en ze stap voor stap naspelen
    • Variabelen, voorwaarden, lussen en functies herkennen en gebruiken
    • Uitleggen waarom je oplossing werkt, ook voor de randgevallen
    Lessen
    1. Wat een programma eigenlijk is
    2. Problemen opdelen: invoer, verwerking, uitvoer
    3. Pseudocode en stroomdiagrammen
    4. Variabelen en types
    5. Voorwaarden en lussen
    6. Functies: één taak, één naam
    7. Randgevallen bedenken voor je begint
    De opdracht

    Schrijf in pseudocode hoe een bakkerij in Aalst haar broodbestellingen voor zaterdag optelt per soort, inclusief wat er gebeurt bij een lege lijst of een geannuleerde bestelling. Een medeleerling speelt je stappen na met tien echte bestellingen en moet op hetzelfde totaal uitkomen.

  2. JavaScript en TypeScript

    40 studie-uren

    Je schrijft je eerste echte programma's in JavaScript en leert meteen TypeScript in strikte modus, zodat de compiler fouten vindt voor je gebruikers dat doen.

    • Node.js
    • TypeScript
    • Visual Studio Code
    • Yarn
    Lessen, opdracht en wat je daarna kunt
    Wat je daarna kunt
    • Een klein programma schrijven en uitvoeren met Node.js
    • Werken met strings, getallen, arrays, objecten en functies
    • Eigen types en unions definiëren in TypeScript strict
    • Asynchrone code schrijven met async en await
    • Foutmeldingen van de compiler lezen en oplossen
    Lessen
    1. Node.js installeren en je eerste script
    2. Waarden, variabelen en functies
    3. Arrays en objecten, map en filter
    4. Waarom TypeScript, en waarom strict
    5. Types, interfaces en unions
    6. Modules: import en export
    7. Async en await, beloftes en fouten
    De opdracht

    Bouw een commandoregelprogramma in TypeScript strict dat een CSV-bestand met ledenbetalingen van een voetbalclub inleest en toont wie nog niet betaald heeft. Het programma compileert zonder fouten of 'any', en een begeleider test het met een bestand dat jij niet gezien hebt.

  3. Python

    30 studie-uren

    Je leert Python als tweede taal: ideaal voor scripts, data en API's, en een goede spiegel om te zien wat taalonafhankelijk is aan programmeren.

    • Python
    • uv
    • Ruff
    • mypy
    • Visual Studio Code
    Lessen, opdracht en wat je daarna kunt
    Wat je daarna kunt
    • Een Python-project opzetten met een virtuele omgeving
    • Werken met lijsten, dictionaries en bestanden
    • Type hints gebruiken en controleren
    • Een klein script schrijven dat een taak uit je dagelijks werk automatiseert
    Lessen
    1. Python installeren en projecten beheren met uv
    2. Basistypes, lijsten en dictionaries
    3. Functies, modules en packages
    4. Bestanden lezen en schrijven
    5. Type hints en een typechecker
    6. Fouten opvangen met exceptions
    7. Hetzelfde probleem in Python en TypeScript
    De opdracht

    Schrijf een Python-script dat een map met PDF-facturen van een garage (genoemd als datum_klant_bedrag.pdf) overloopt en een overzicht per maand maakt als CSV. Een begeleider draait het op een testmap met foute bestandsnamen en controleert dat het script die netjes meldt in plaats van te crashen.

  4. Git en GitHub

    20 studie-uren

    Je leert je werk versioneren met Git en samenwerken via GitHub, zodat niets nog verloren gaat en elke wijziging een reden heeft.

    • Git
    • GitHub
    • GitHub CLI
    • Visual Studio Code
    Lessen, opdracht en wat je daarna kunt
    Wat je daarna kunt
    • Commits maken met een duidelijke boodschap
    • Werken met branches en ze samenvoegen
    • Een mergeconflict rustig oplossen
    • Een pull request openen, bespreken en afronden
    • Een fout terugdraaien zonder geschiedenis te vernietigen
    Lessen
    1. Waarom versiebeheer
    2. Commits, de staging area en goede commitberichten
    3. Branches en merges
    4. Conflicten oplossen
    5. GitHub: remotes, push en pull
    6. Pull requests en issues
    7. .gitignore en geheimen buiten je repo houden
    8. Terugdraaien: revert, restore en reflog
    De opdracht

    Werk met twee medeleerlingen aan één repository voor een klein menu-script van een frituur: elk een eigen branch, minstens één echt mergeconflict, alles via pull requests met review. De begeleider leest de geschiedenis en controleert dat elke wijziging via een besproken pull request binnenkwam.

Compagnon

Het vak beheersen: grotere projecten, met nalezing per mijlpaal.

4 modules · 105 u

  1. Testen: unit, integratie en end-to-end

    35 studie-uren

    Je leert tests schrijven die je vertrouwen geven om te veranderen: snelle unittests, integratietests tegen een echte databank en een paar end-to-endtests voor wat echt niet mag breken.

    • Vitest
    • pytest
    • Playwright
    • PGlite
    • GitHub Actions
    Lessen, opdracht en wat je daarna kunt
    Wat je daarna kunt
    • Unittests schrijven met Vitest en pytest
    • Een integratietest opzetten tegen een echte (lokale) databank
    • End-to-endtests schrijven voor de kritieke paden met Playwright
    • Kiezen wat je wel en niet test, en dat verdedigen
    • Tests automatisch laten draaien bij elke pull request
    Lessen
    1. Waarom testen, en wat een goede test is
    2. Unittests met Vitest
    3. Unittests met pytest
    4. Mocks, stubs en wanneer je ze beter niet gebruikt
    5. Integratietests met een echte databank
    6. End-to-end met Playwright
    7. Testen in GitHub Actions
    De opdracht

    Neem de reserveringsmodule van een bestaand oefenproject voor een tennisclub en voorzie ze van een testsuite met unit-, integratie- en minstens drie end-to-endtests die in GitHub Actions draaien. Een Meester breekt bewust twee dingen in de code en jouw tests moeten beide fouten vangen.

  2. Leesbare code en code review

    25 studie-uren

    Je leert code schrijven voor de volgende lezer, en de code van anderen beoordelen op een manier die helpt in plaats van kwetst.

    • ESLint
    • Prettier
    • Ruff
    • GitHub
    • Vitest
    Lessen, opdracht en wat je daarna kunt
    Wat je daarna kunt
    • Goede namen kiezen en functies klein en eenduidig houden
    • Code herschrijven (refactoren) zonder het gedrag te veranderen
    • Linters en formatters instellen zodat stijl geen discussie meer is
    • Een code review geven die concreet, vriendelijk en onderbouwd is
    • Feedback op je eigen pull request verwerken zonder het persoonlijk te nemen
    Lessen
    1. Code wordt vaker gelezen dan geschreven
    2. Namen, functies en commentaar dat iets toevoegt
    3. Refactoren in kleine stappen
    4. ESLint, Prettier en Ruff
    5. Wat je zoekt in een review
    6. Feedback geven en krijgen
    7. Documentatie: README, beslissingen en changelog
    De opdracht

    Refactor een rommelig script van 300 regels dat de uurroosters van een kinderopvang berekent, met tests vooraf zodat het gedrag gelijk blijft, en review daarna de pull request van een mede-Compagnon met minstens vijf onderbouwde opmerkingen. Een Meester beoordeelt zowel je refactor als de toon en inhoud van je review.

  3. Debuggen en performantie

    30 studie-uren

    Je leert systematisch fouten opsporen in plaats van te gokken, en meten voor je iets sneller probeert te maken.

    • Chrome DevTools
    • Node.js inspector
    • Python debugger
    • git bisect
    • Visual Studio Code
    Lessen, opdracht en wat je daarna kunt
    Wat je daarna kunt
    • Een fout reproduceren en terugbrengen tot een minimaal voorbeeld
    • De debugger gebruiken in de browser, in Node.js en in Python
    • Logs lezen en zinvolle logging toevoegen
    • Een traag stuk code meten met een profiler en gericht verbeteren
    • Uitleggen wat de complexiteit van een algoritme betekent in de praktijk
    Lessen
    1. De wetenschappelijke methode voor bugs
    2. Breakpoints en stap-voor-stap uitvoeren
    3. Logging die je later echt helpt
    4. git bisect: wanneer is het misgegaan
    5. Datastructuren kiezen: lijst, map, set, wachtrij
    6. Complexiteit zonder formules: waarom O(n²) pijn doet
    7. Profilen en meten voor je optimaliseert
    De opdracht

    Je krijgt een oefenapplicatie voor een fietsenwinkel met drie verborgen bugs en één trage zoekfunctie. Lever per bug een korte analyse (oorzaak, reproductie, fix, test) en maak de zoekfunctie meetbaar sneller met een voor- en nameting. Een Meester controleert dat elke fix een test heeft en dat je meting klopt.

  4. Programmeren met AI-assistenten

    15 studie-uren

    Je leert AI-assistenten zoals Claude Code inzetten als snelle collega, en hun werk even kritisch nakijken als dat van een mens. Het ambacht AI gaat hier dieper op in.

    • Claude Code
    • Git
    • Vitest
    • Visual Studio Code
    Lessen, opdracht en wat je daarna kunt
    Wat je daarna kunt
    • Een AI-assistent een duidelijke opdracht geven met context en grenzen
    • Gegenereerde code lezen, testen en waar nodig weigeren
    • Een project voorzien van instructies (zoals CLAUDE.md) die de assistent stuurt
    • Herkennen wanneer je het zelf sneller of veiliger doet
    Lessen
    1. Wat een AI-assistent wel en niet weet over jouw project
    2. Goede opdrachten: doel, context, grenzen
    3. Projectinstructies en conventies vastleggen
    4. Tests als vangnet voor gegenereerde code
    5. Veiligheid: geheimen, licenties en klantdata
    6. Wanneer je beter zelf typt
    De opdracht

    Bouw met Claude Code een kleine uitbreiding (bijvoorbeeld export naar CSV) in een bestaand oefenproject, en houd een logboek bij van je opdrachten, wat je aanvaardde, wat je weigerde en waarom. Een Meester leest het logboek en de pull request en moet elke regel code kunnen laten uitleggen door jou.

Meester

Wat een Meester zelfstandig moet kunnen, als voorbereiding op de meesterproef.

2 modules · 70 u

  1. Software-architectuur

    40 studie-uren

    Je leert een systeem opdelen in onderdelen met duidelijke grenzen, keuzes vastleggen en een project zo opzetten dat het jaren meegaat.

    • C4-model
    • Mermaid
    • Markdown
    • Git
    Lessen, opdracht en wat je daarna kunt
    Wat je daarna kunt
    • Een systeem opdelen in modules met heldere verantwoordelijkheden
    • Architectuurbeslissingen vastleggen in korte beslissingsdocumenten (ADR's)
    • Kiezen tussen monoliet, modulaire monoliet en losse services, met argumenten
    • Een bestaande codebase stapsgewijs moderniseren zonder stilstand
    • Een architectuur uitleggen aan een klant zonder vakjargon
    Lessen
    1. Wat architectuur is, en wat niet
    2. Grenzen, afhankelijkheden en lagen
    3. Monoliet of services: de eerlijke afweging
    4. Beslissingen vastleggen in ADR's
    5. Legacy code stap voor stap vernieuwen
    6. Diagrammen die iets uitleggen (C4)
    7. Architectuur en de kosten op lange termijn
    De opdracht

    Analyseer een bestaande open-sourceapplicatie of een echt klantproject en lever een architectuurdossier: een C4-diagram van de huidige toestand, drie ADR's voor de belangrijkste verbeteringen en een stappenplan om ze door te voeren. Neal bespreekt het dossier met je alsof hij de klant is.

  2. Een team en een codebase leiden

    30 studie-uren

    Je leert de kwaliteit van een codebase bewaken over mensen heen: afspraken, automatisering, onboarding en het begeleiden van Leerlingen en Compagnons.

    • GitHub Actions
    • Changesets
    • Markdown
    • GitHub
    Lessen, opdracht en wat je daarna kunt
    Wat je daarna kunt
    • Een werkwijze opzetten met branches, reviews, CI en releases
    • Een nieuwe ontwikkelaar binnen een week productief maken
    • Technische schuld zichtbaar maken en plannen
    • Een Leerling of Compagnon begeleiden met gerichte feedback
    Lessen
    1. Afspraken die je automatiseert in plaats van afdwingt
    2. Releases, versienummers en changelogs
    3. Onboarding: van eerste dag tot eerste pull request
    4. Technische schuld meten en plannen
    5. Mentorschap in het gilde
    6. Moeilijke gesprekken over code
    De opdracht

    Zet voor een echt project (van een klant of open source) een volledige werkwijze op: bijdragegids, CI met tests en linting, release-proces en een onboardingdocument, en begeleid één Compagnon bij een eerste bijdrage. Neal controleert de werkwijze en vraagt de Compagnon hoe de begeleiding verliep.

De Meesterproef

Zo word je Meester in dit ambacht

Je bouwt of vernieuwt grondig een stuk software dat echt gebruikt wordt, voor een klant of als substantiële bijdrage aan een open-sourceproject. Je levert werkende code met tests en CI, een architectuurdossier met ADR's en een overdrachtsdocument. Neal leest de code, laat je keuzes verdedigen en controleert dat een andere ontwikkelaar het werk kan overnemen.

Echt werk, beoordeeld door Neal. Je bent Meester per ambacht, niet in heel het vak tegelijk.

Voor klanten

Wat je hiermee voor klanten kunt doen

Wat een klant van je kan vragen zodra je dit ambacht beheerst, en vanaf welke rang. De duur is indicatief.

  • Vanaf Meester

    Code-audit

    U hebt software laten bouwen en wil weten of ze gezond is: is ze onderhoudbaar, veilig genoeg en klaar voor de toekomst?

    Wat je oplevert

    • Rapport met de belangrijkste risico's, in gewone taal
    • Lijst met concrete verbeteringen, gerangschikt naar belang
    • Inschatting van de inspanning per verbetering
    • Bespreking van een uur met uw team of leverancier
    Duur
    3 tot 5 dagen
    Voor wie
    Kmo's die software van een vorige leverancier of freelancer erfden
  • Vanaf Compagnon

    Tests en automatische controle

    Elke aanpassing aan uw software wordt voortaan automatisch getest, zodat er minder breekt bij een update.

    Wat je oplevert

    • Testsuite voor de belangrijkste functies
    • Automatische controle bij elke wijziging (CI)
    • Korte handleiding om zelf tests toe te voegen
    Duur
    1 tot 2 weken
    Voor wie
    Bedrijven met een eigen applicatie zonder of met weinig tests
  • Vanaf Compagnon

    Automatisering van repetitief werk

    Taken die iemand elke week met de hand doet (lijsten overtypen, bestanden hernoemen, rapporten samenstellen) worden een script dat het voor u doet.

    Wat je oplevert

    • Werkend script of kleine tool
    • Installatie op uw computer of server
    • Handleiding van één pagina
    • Een maand nazorg voor kleine aanpassingen
    Duur
    2 tot 5 dagen
    Voor wie
    Kleine zaken en vzw's met veel manueel administratief werk
  • Vanaf Meester

    Oude software stap voor stap vernieuwen

    Uw bestaande applicatie wordt vernieuwd zonder dat ze een dag stilligt, in kleine stappen die u kunt volgen.

    Wat je oplevert

    • Analyse van de huidige toestand
    • Stappenplan met prioriteiten
    • Uitvoering van de eerste fases
    • Documentatie voor wie na ons komt
    Duur
    4 tot 12 weken
    Voor wie
    Bedrijven die afhangen van een verouderde interne toepassing
  • Vanaf Meester

    Begeleiding van uw ontwikkelteam

    Een Meester kijkt mee met uw ontwikkelaars, geeft reviews en helpt goede gewoontes invoeren rond Git, testen en AI-assistenten.

    Wat je oplevert

    • Wekelijkse reviewsessies
    • Afsprakendocument voor het team
    • Werkwijze voor veilig gebruik van AI-assistenten
    • Eindverslag met aanbevelingen
    Duur
    1 tot 3 maanden, een halve dag per week
    Voor wie
    Kleine ontwikkelteams en starters met een eerste developer in dienst

Werk

Beroepen op de Belgische markt

Zo heten de jobs waar dit ambacht naartoe leidt. Een opleiding is geen jobgarantie: je portfolio en je werk maken het verschil.

  • Software developer
  • Full-stack developer
  • Back-end developer
  • Python developer
  • TypeScript developer
  • Test automation engineer
  • Software architect
  • Tech lead

Certificaten

Certificaten waar de modules op voorbereiden

Echte certificaten, uitgereikt door de uitgever zelf. Wij reiken ze niet uit: het examen leg je af bij de uitgever. Kijk de actuele inhoud en prijs altijd bij de uitgever na.

  • GitHub Foundations

    UitgeverGitHub

    Basis van Git en GitHub; sluit aan bij de module Git en GitHub.

  • GitHub Actions

    UitgeverGitHub

    Automatisering en CI op GitHub; sluit aan bij de module Testen.

  • PCEP – Certified Entry-Level Python Programmer

    UitgeverOpenEDG Python Institute

    Instapcertificaat Python; sluit aan bij de module Python.

  • PCAP – Certified Associate Python Programmer

    UitgeverOpenEDG Python Institute

    Het niveau daarboven, voor wie Python verder uitdiept.

  • ISTQB Certified Tester Foundation Level

    UitgeverISTQB (in België en Nederland via BNTQB)

    Algemene testkennis; sluit aan bij de module Testen.

Leesgemak

Maak de site makkelijker om te lezen. Je keuze blijft bewaard op dit toestel.

Tekstgrootte

Gebruik je liever de instellingen van je toestel (zoom, schermlezer, donkere modus)? Die werken hier ook gewoon.