Zorg dat je kunt programmeren, zo leren we onze kinderen. Dus besloot ik (44) het zelf ook te gaan leren. Lange avonden en weekenden zat ik gebogen over mijn laptop. Mijn man werd op het schoolplein IT-weduwnaar genoemd. Soms was ik de wanhoop nabij. Toch zou ik het iedereen aanraden.

Het begon met een ongemakkelijk gevoel. Met het gevoel in een boemeltreintje te zitten, terwijl drommen mensen buiten in een intercity links en recht langs me heen raasden. Zij zaten in de hoogste digitale versnelling en ik bleef achter.

Nu schrijf ik voor Het FD over de digitale transformatie waarin we wereldwijd zitten. Ik word elke dag geconfronteerd met nieuwe ontwikkelingen in kunstmatige intelligentie, big data en nieuwe businessmodellen. En regelmatig spreek ik mensen met een bijna intimiderende slimheid en digitale kennis. Daaruit kan dit boemeltreingevoel voortkomen: wie niet weet wat hij mist, zal immers ook geen achterstand ervaren.

Maar ik weet ook dat ik niet de enige ben die deze onrust ervaart. Van de Nederlandse werkenden denkt 67% dat automatisering het komende decennium gevolgen heeft voor het werk dat ze doen. Daartussen zitten mensen die hetzelfde ervaren als ik. Die zich ook niet stoïcijns willen neerleggen bij een achterstand, en die op zoek gaan naar een nieuwe of bredere invulling van hun werk, ook wel 'job crafting' genoemd.

Cursisten programmeren met JQuery Foto's: Titus Knegtel

Naar de schoolbanken dus, zei Apple-oprichter Steve Jobs jaren geleden al. ‘Iedereen moet leren programmeren. Daarmee leer je een andere denkwijze, die je alleen verstaat als je hem leert.’ Een Cruijffiaanse redenering die vooral door programmeurs als logisch wordt ervaren, begreep ik van de discussies hierover op het internet. Ik moest het zelf ervaren. Zoveel was me duidelijk.

'Het was alsof ik elke les mijn eerste rijles had. Tijd om op adem te komen had ik niet'

Hoewel ik erop vertrouwde dat dit mijn werk zou verrijken, de media volstaan van termen als een leven lang leren, was er veel scepsis over mijn keuze. ‘Programmeren? Dat is toch iets voor jonkies?’, werd mij iets te vaak gevraagd. Ook snapte niet altijd iedereen wat programmeren met de journalistiek te maken had. En een enkeling vroeg zich af waarom ik hier überhaupt mijn tijd in stak. Daar zijn toch andere mensen voor? Inhoudelijk meer kennis opdoen of nieuwe genres leren schrijven, dat sloot goed aan bij mijn werk, programmeren niet.

Dat terwijl de media midden in een transitie van papier naar digitaal zit. We hebben al veel gedaan om die transitie vorm te geven, maar de mogelijkheden om nog meer onderscheidend te zijn is volgens mij nog lang niet uitgeput. Met codekennis is een prototype zo gemaakt en kan snel en gemakkelijker worden getest. Bovendien wil ik graag dezelfde taal spreken als al die mensen die ik dagelijks spreek. Dat kan ook mijn artikelen ten goede komen. Hoe meer ik erover nadacht, hoe meer ik vond dat ik dit ook moest leren.

1. Bedenk eerst welke taal je wilt leren. De lijst met programmeertalen is eindeloos. Dus vraag jezelf af waarvoor je het wilt gebruiken. Vraag collega-programmeurs wat zij adviseren en kijk wat daarover wordt gezegd op het internet. Niets is vervelender dan een oude taal te leren die al is ingehaald door een gebruiksvriendelijke nieuwe taal.

2. Heb je al enige voorkennis, dan kun je voor zelfstudie kiezen. Bijna elke programmeertaal is te leren via het internet. Er zijn gratis cursussen te volgen via codeAcademy of w3Schools. Heb je vragen, dan stel je die in de groep of community. Stackoverflow is een website waar de meeste programmeurs hun vragen stellen en anderen helpen.

3. Ben je nieuw in deze wereld en vermoed je iets meer hulp nodig te hebben, dan kun je de schoolbanken in. Je hebt cursussen van een dag, 16 weken tot enkele maanden of een jaar. Voor wie werkloos is heeft het UWV scholingsvouchers waarmee een deel van de cursus wordt vergoed.

Mijn hoofdredacteur juichte de keuze wel toe, en de enige vraag die restte was waar te beginnen? De lijst met programmeertalen is eindeloos. En er komen er steeds weer meer bij. Ik besloot voor de taal te gaan waarmee ik op de redactie kon experimenteren, verhalen op een andere manier kon vertellen, in beeld en met animaties. Tijdens mijn zomervakantie had ik via codeAcademy al wat basisprincipes html geleerd, dus ik wist enigszins wat me te wachten stond toen ik me opgaf voor een cursus webdevelopment bij de New York Code + Design Academy (nycda) in Amsterdam.

De belofte van de coördinator van de zestien weken durende opleiding van twee avonden per week was dat het ‘zo’n vier uur’ huiswerk per week zou kosten. Enige voorkennis was niet nodig. Iedereen kon leren programmeren. Met mijn ervaring uit de zomer waande ik me dus goed voorbereid. Dat gevoel was na het eerste uur van de cursus voorbij.

Vier talen in vier weken joeg leraar Nick Dowse (24), een hippe snel pratende jongeman uit Nieuw Zeeland die overdag als softwareontwikkelaar bij een Amsterdamse start-up werkt, er doorheen. Html, CSS, Javascript, JQuery, net als ik dacht te weten waarover het ging, gooide Nick er weer een compleet nieuwe taal in. En die moest ik voor de volgende les – drie dagen later – wel onder de knie hebben, want dan kwam hij weer met iets nieuws. Dit alles boven op onbegrijpelijke huiswerkopdrachten.

‘Komt vanzelf goed,’ zei medecursist Marjolijn (30), die de cursus met haar Phyton programmeerervaring bij de Bloemenveiling een stuk makkelijker af ging, en mij letterlijk met mijn handen in het haar zag zitten. Ik had regelmatig geen idee waar ik moest beginnen bij een opdracht. Dit had ik tijdens mijn studie nooit. ‘Ik heb zo vaak zo’n cyclus doorgemaakt', zei Marjolijn. 'Dit hoort bij het leren van een nieuwe programmeertaal. Op een gegeven moment begrijp je het. Wacht maar af', zei ze.

Leraar Nick: 'Software is eating the world. Het infiltreert in elke sector en zet elke sector ondersteboven. Met programmeerkennis ben je in staat die software te begrijpen. Dan heb je de kans de software te veranderen, te verbeteren en op jouw terrein een richting op te duwen die jij wilt. Software verandert je sector met of zonder jou. Als je daar invloed op wilt uitoefenen, dan is het goed te leren programmeren. Managers die niets van code afweten kunnen volgens mij niet de 'beste' beslissingen maken voor hun digitale strategie. Maar als ze zich weten te omringen met mensen die de technische kennis wel hebben die zij missen, dan denk ik dat ze nog steeds 'goed' geïnformeerde beslissingen kunnen nemen.'

Maar die talen waren niet het enige. Alles kwam tegelijk. Ik moest ook leren met de terminal om te gaan, zeg maar dat groene scherm waar normaal alleen de IT’er ‘iets mee kan. Ik moest leren via Github samen aan een project te werken, hoe je een website responsive voor mobiel en tablet kon maken met Bootstrap en @media. En dan die Javascript functions, foor loops, if/else statements, het duizelde en het was alsof ik elke les mijn eerste rijles had. Tijd om op adem te komen had ik niet.

Leraar Nick Dowse, een hippe snel pratende jongeman uit Nieuw Zeeland

Maar iedereen kan leren programmeren, dus ik ook. Bovendien moest er minimaal een acht per opdracht worden gehaald, anders geen diploma. Verslappen was er niet bij. Naast de twee avonden les per week, zat ik elke avond en in het weekend achter mijn laptop. En als ik Nick een vraag stelde, dan gaf hij nooit een antwoord, maar een weblink naar het mogelijke antwoord. Dan kostte het me weer een uur voordat ik de oplossing uit die link, die weer doorverwees naar een andere link, had gevonden.

'Wie zijn huiswerk niet op tijd af had, kreeg minpunten'

Na vier weken programmeren werd mijn man op het schoolplein IT-weduwnaar genoemd. Mijn kinderen vonden mijn huiswerk maar 'stom' en meer mensen om me heen vroegen zich af waarmee ik bezig was. ‘Wat doe jij jezelf aan?,’ kreeg ik te horen. En weer die vraag: ‘Waarom zou jij programmeren? Er zijn zoveel jongens en meisjes die dit al goed kunnen. Het leuke aan technologie is dat het je leven gemakkelijker maakt, niet moeilijker. Of wil je soms webdeveloper worden? Je hebt toch al een baan?’

Opdrachten tijdens de les

Nee, antwoordde ik steevast. Ik had niet de ambitie webdeveloper te worden. Ik wilde leren programmeren, zodat ik de taal spreek van de mensen die de vernieuwing doorvoeren. Wat zou het gaaf zijn als ik door te experimenteren mee kon werken aan nieuwe ontwikkelingen, gewoon in mijn vak. Bovendien zou ik dan echt begrijpen wat mijn gesprekspartners bedoelden. Via Slack, het chatkanaal dat de nycda gebruikt, was ik al in contact gekomen met programmeurs van over de hele wereld. Hoe waardevol was dat?

‘Ik ken veel IT-weduwes’, zei leraar Nick lachend toen ik hem over de opmerking van het schoolplein vertelde. Veel medecursisten beaamden dat alleen maar. Ook zij bleken lange avonden en weekenden over hun laptop gebogen te zitten, terwijl hun partner alleen op stap ging. Op een gegeven moment lukte het sommigen niet meer hun huiswerk op tijd af te krijgen, wat direct door Nick werd afgestraft met minpunten. Deze aanpak deed me denken aan the-winner-takes-it-all-mentaliteit in Silicon Valley. Een beetje minder goed wordt afgestraft.

Het kwam goed, zoals Marjolijn had voorspeld. Mijn cijfers groeiden van een 8,5 naar een 9 en zelfs 10’en. Het leek erop dat ik de taal begon te begrijpen, en heel belangrijk, de manier van werken. Door de aanpak van Nick realiseerde ik me hoe belangrijk de opensourcegedachte is bij het programmeren, waarbij je vrije toegang krijgt tot softwareoplossingen. Natuurlijk had ik daar al vaker over gehoord en geschreven, maar nu ervoer ik hoe dit werkte. Hierdoor was ik in staat ingewikkelde opdrachten toch goed te maken.

'Het gaat om kleine blokken oplossingen die je op elkaar stapelt tot een groot blok code'

Het idee van open source is dat iedereen zijn code op het web plaatst. De kunst is te weten hoe je daarmee om moet gaan. Wie de code van een ander kan interpreteren en in zijn eigen code weet te gebruiken, kan daaraan plezier beleven. Deze manier van werken is even wennen voor iemand die werkt in een omgeving waar plagiaat een doodzone is. Stukken tekst in een eigen verhaal zetten, dat doe je niet. Daarom probeerde ik in het begin waarschijnlijk elke opdracht zelf van begin tot eind op te lossen, maar dat is helemaal niet nodig. Kort gezegd: Wie goed kan zoeken op Google, komt er ook.

‘Programmeren is stap voor stap de oplossing zoeken’, leerde Nick me. Het gaat om kleine blokken oplossingen die je op elkaar stapelt tot een groot blokcode die precies doet wat jij wilt. Op Github bijvoorbeeld plaatst iedereen zijn werk. Dus zoek je iets specifieks wat iemand eerder heeft gebouwd, dan vind je dat daar of je vindt een onderdeel van je antwoord. Verder zijn er programmeurs die handleidingen bouwen om bijvoorbeeld met CSS te animeren of om je pagina’s responsive te maken, zoals Bootstrap. En dan zijn er vele vraagbaken op het web zoals Stackoverflow, waar in de afgelopen jaren vrijwel alle vragen wel zijn gesteld.

Nick: ‘Programmeren is stap voor stap de oplossing zoeken’

Dit zelf op zoek gaan naar de oplossing past in de huidige tijd. Nieuwe digitale bedrijven werken ook zo. Neem Spotify. Heb je een probleem, ben je gehackt, dan kun je niemand bellen. Je kunt je vraag digitaal in ‘the community’ stellen en daaruit moet het antwoord komen. Maar stel je je vraag niet goed, dan krijg je ook geen antwoord. Zo werkt het ook bij programmeren.

Er lukte steeds meer, en ik kreeg er schik in. Ik zag wat er allemaal mogelijk was en probeerde steeds meer uit, ook als het niet bij de huiswerkopdracht hoorde. Als ik iets wilde bereiken, dan werkte ik daar net zo lang aan totdat het me lukte. Dan ging het om ogenschijnlijk kleine dingen als een tekst die niet van boven, maar van rechts de pagina in stroomde. Ik vond rechts mooier, dus daar werkte ik aan, ook als het weer uren kostte.

Als een kind zo blij stuurde ik Marjolijn op een vrijdagavond een bericht toen ik mijn pagina responsive had gemaakt. ‘Je klinkt echt als een nerd,’ stuurde ze me terug. Een nerd zal ik niet snel worden, hoewel het wel verslavend is. Ik zie nu wat er mogelijk is op het web en kan daarmee zo veel als ik wil experimenteren. Ik kan prototypes maken, testen met kleine ideetjes die ik heb en hopelijk komen daar weer nieuwe grotere ideeën uit. Dat geeft een goed gevoel.

De cursus is nog niet voorbij. Ik heb nog vier weken te gaan. Maar mijn programmeeravontuur eindigt niet over vier weken. Dat weet ik zeker. Dit was slechts een begin.