Welkom bij CodeKlets aflevering zes. Deze aflevering gaat weer heel leuk worden en ook spannend,
want normaal gesproken doen we het in real life, maar dat gaat dit keer niet. De belangrijkste
reden is natuurlijk dat we een enorme lockdown hebben, maar tegelijkertijd komt het ook een
beetje goed uit, want deze gast is ook niet heel vaak in Nederland. Daar kom ik zo wel
op. Maar goed, vooral door die lockdown kunnen we niet bij elkaar zitten. Het zou een beetje
raar zijn als we nu met elkaar in één hokje gaan zitten en een podcast opnemen, maar dat
zul je bij alle podcasts van de laatste tijd wat horen hebben gekregen, want dan gaan
we niet al te veel bij stilstaan. We moeten gewoon met corona dealen en that's it. We
zijn vandaag met vier hosts, Pauline, Bernard, Johnny en ik. Hoe gaat het met jullie? Dat is
eigenlijk wel een goede vraag. Hoe gaat het in deze coronatijd? Johnny, bij jou? Ja,
ik moet zeggen, het was heel even een beetje wennen in het begin. Zeker thuis werken zorgde
er wel voor dat ik heel veel afleidingen had. Ik ben dat zeker niet gewend. Ik deed dat
af en toe één keertje per week. Maar dus het huis is echt spik en span. Dat is dan wel
weer fijn van alle tijd thuis. Maar ik moet zeggen, de laatste paar weken gaat het wel
steeds beter. Het wendt en verder alles gezond. Dus mag niet klaar. Ja, dat is wel
belangrijk. Dat is sowieso het belangrijkste. Pauline, bij jou? Ja, voor mij is het eigenlijk
alleen maar beter. Het is een soort, ja, ik moet nog wel werken natuurlijk. Het is
nog een soort vervoegde zwangerschapsverlof. En wat ik heel fijn aan vind, is dat ik natuurlijk
eerder voelde ik me een soort van verplicht om allerlei sociale dingen te doen die
vooral met waar dan vooral alcohol bij hoorde. Maar ja, dan forceerde ik mezelf, mezelf maar
een beetje om een uur erheen te gaan. En zo van jezus, ik moet er gewoon minimaal
een uur blijven, weet je wel. Dus dat is ook zo leuk. En nu kan ik gewoon schuldloos,
schuldgevoelloos kan gewoon thuisblijven. Ik vind het heerlijk. Ja, ideaal. Maar qua
zwangerschap, de controles enzo, hoe gaat dat? Nou, dat is eigenlijk voor mij een beetje hetzelfde.
Mijn vriend kan niet meer mee. Maar ja, dus ik moet wel alles, niet de bevalling of zo,
daar kan hij nog wel bij. Maar controles enzo niet, maar dat is niet zo'n groot issue. En voor
de rest, ja, als je iets eerder in de zwangerschap bent, dan doen ze ongeveer
drie kwart of zo van controles nu telefonisch. Maar omdat ik nu in de laatste trimester zit,
moet ik alles nog persoonlijk. Maar het gaat allemaal wel voorspoedig. Ja, precies. Het is
sowieso spannend. En dan dit erbij is natuurlijk wel, ja. Nou, we hebben wel ook een woning
gekocht nu. Dat is heel raar. Ja, wij ook. We hadden echt twee weken voordat een soort
lockdown was. Hadden we getekend voor een nieuw huis. En toen achteraf hadden ze zoiets
van crap. Dat is misschien echt niet de beste timing. Maar goed. Ja, volgende week getekend.
De vorige week getekend. En deze gaat nu de verkoop in. En ja, tot nu toe is er nog
weinig verschil. Maar dat komt allemaal nog wel. Maar hopelijk zijn we dat allemaal net voor.
Het is Amsterdam. Ja, de huizenmarkt in Amsterdam is echt, echt bananas. Ik zag straks een huis staan.
Een hoekhuis. Op zich leuk. Twee miljoen. Twee miljoen. Ja, dat moet wel een Zuid zijn.
Ja, dat was een oud Zuid inderdaad. Ja, we zien oud Zuid is echt, oud Zuid is echt gewoon.
Mensen betalen daar letterlijk alleen om bij oud geld te zetten. De huizen zijn totaal
niet interessant. Locatie is niet interessant. Dat is het. Domme investering.
Nee. Ja, goed. Misschien. Ze zullen het waarschijnlijk terug kunnen verdienen.
Maar ik vond het opvallend. Voor twee miljoen kun je heel mooi wonen ergens anders.
Ja, maar oud Zuid is ook een plek die niet meer gaat omhoog. Dus ik snap het sowieso niet.
Want dat is oud geld. Maar goed, development. Ja, precies. Dan maken we een makelaars podcast.
Ja, met mij gaat het op zich best verder goed. Ik heb eventjes in het ziekenhuis gelegen.
Dat is weer goed gekomen. Maar het blijft spannend. Ik heb een transportatie in Niro ooit ontvangen.
En daar moet je allerlei medicijnen voor slikken. En dan ja, dat maakt deze situatie iets
spannender dan voor anderen. Dus ik moet goed opletten. En dus dat maakt het dan wel wat
ingewikkelder dan bij de rest. Maar de rest gaat het dan wel. Nice. Oké. Maar we hebben ook een
gast gelukkig. En die hebben we eerder proberen uit te nodigen. Nou, die hebben we eerder
uitgenodigd. Maar helaas door zijn omstandigheden is dat niet gelukt. Want hij woont niet in
Nederland. Hij woont in Canada. Dus dat is een stukje uit de buurt. En als hij dan in Nederland
is, is het natuurlijk niet zo makkelijk om dan een geheelsagenda rondom CodeKlets te plannen.
Wat hij wel zou moeten doen natuurlijk. Ik bedoel, dat is natuurlijk de belangrijkste
podcast van Nederland. Dat is wel waar. Maar ja, de gast is Bart Water. En welkom Bart.
Goeiemorgen.
Oh ja, enorm tijdsverschil ja. Voor jou is het nu hoe laat?
Het is nu bijna negen uur sochtends.
Negen uur sochtends ja. Hier is het bijna drie uur. Dus dat scheelt wel ja.
Arme Bart, moet je helemaal vroeg opstaan voor ons?
Nou, ik heb mijn eerste kopje koffie op, dus komt goed.
Nou, jij liever dan ik.
Ben je een ochtendmens of een avondmens?
Ja, ik ben gewoon oud aan het worden en ik zit vast in mijn ritme.
En ben erachter gekomen dat ik niet zo goed ben in uitslapen.
Dus ik word gewoon uit mezelf.
Nou, in plaats van zeven uur word ik half acht wakker en heb ik uitgeslapen.
Cool. Lucky. Lucky. Uitslapen ken ik niet.
Bij mij is het. Je mag blij zijn als je langer dan zeven uur tot na zeven uur
sochtends nog in je bed mag liggen.
Dus dat is een uitdaging.
En dan moet je ook nog blij zijn dat er geen van je koters hier
is. Nog een keer wakker maken.
Dat gebeurt nog wel. Maar goed, daar gaat het nu niet over hebben.
Bart, jij werkt voor Shopify.
Ja, dat klopt.
En die zullen meer mensen kennen.
Dus zeker als je iets met e-commerce hebt gedaan.
Het lijkt het zou gek zijn als je niet weet of wie of wat Shopify is.
Maar dat komen we straks wel even op hoe we daar.
En ik heb geen bio trouwens.
Normaal sproken laten we altijd een bio.
Gaan we lezen we voor dit keer niet.
Dus we gaan je gewoon een aantal vragen stellen en dan gaan we op die
manier even erachter komen wat jij allemaal doet in het dagelijks leven.
Ja, even kijken.
Nou wil mijn laptop gewoon die vertikt het om te scrollen.
Goh echt.
Ik geef er echt zijn kaster de schuld.
Er gebeuren rare dingen mee, geloof ik.
Ja, volgens mij neemt hij alles over.
Toch maar zoemen.
De vorige keer zoen.
Anyway, ja, we laten us beginnen bij hoe je wat ik neem aan dat je
software ontwikkelaar bent.
Dat is natuurlijk de belangrijkste vraag, want anders is het wel een
heel rare rare start.
Nee, dat klopt.
Ik klopt nog steeds wel koden.
En maar hoe ben je zo?
Ja, hoe ben je er in gerold?
Ben je gewoon van jongs af aan?
Ben ik veel vanaf je acht of zo beginnen met software ontwikkeling of
op latere leeftijd?
Ik heb eigenlijk vanaf heel vroeg af aan altijd wel iets van
affiniteit met met computers gehad.
Dat was op de basisschool al zelfs is dat ik er af en toe al
bij gehaald werd als de leraar die dan een beetje handig was met
IT, maar dan weer niet achterkwam hoe dat dan moest.
Nou, dan wist ik dat wel.
Dus ik was op een gegeven moment al een soort van
systeembeheerder op de basisschool, als het ware.
En ook lopen, ja, een beetje lopen klooien, weet je wel.
Ik had op een gegeven moment wel zo'n aardrijkskunde oefen
programma.
Nou, daar was dan, had ik er achter gekomen.
Oh, dat slaat dan ergens de highscores op in een bestandje.
Nou, en dan open je dat bestandje in een klatblok.
Nou, dan komt er allemaal prut uit.
Maar nou, een beetje verder uitzoeken en rondvragen.
Ik had een oom die die IT manager was bij een grote
automatiseerder.
Nou, hoe werkt dat dan?
Nou, op een gegeven moment dan een ander programma waarmee die
die, ja, karakterbrei dan wel goed geïnterpreteerd kon worden.
En toen had ik opeens superkrachten, want ik kon
mezelf een highscore geven van 100.000 punten, terwijl je nog
niet eens op de 100 punten kwam als je normaal heel goed was
in aardrijkskunde.
Dus ik had dan de verantwoordelijkheid om na
na les tijd om dan alle computers netjes af te sluiten.
En nou, toen had ik even mezelf zeg maar de topografie god
gemaakt met 100.000 punten.
En daar maakte je vrienden mee.
Nou, ja, nou, iedereen wilde weten hoe je dat deed, want
je wilde een grote highscore hebben, natuurlijk.
Dus ja, dat iets met computers, dat was vanaf jongs
af aan wel duidelijk.
En toen het was een beetje in de tijd dat Dragon Ball Z en
Pokemon op tv kwamen.
Nou, oké, Dragon Ball Z website gemaakt met Frontpage 2000.
Oh, ja, maar dat is precies wat ik ook heb gedaan toen.
Dat is denk ik precies dezelfde tijd.
Ja, ja, ja, 100.000 Dragon Ball Z websites geweest zijn in die tijd.
Dat kan gewoon niet anders.
Iedereen deed dat.
Het was echt met al die kindjes die op zes waren met
met html en met Dragon Ball Z.
Die gingen gewoon Dragon Ball Z website maken, natuurlijk.
Ja, dus ja, gehoost op Geocities,
FTP en dan had ik op een gegeven moment nog via via een maatje en die zat
dan in het een beetje in het schimmigere wereldje met de FXP en dan.
Nou, ja, toen had ik natuurlijk de nieuwste computerspelletjes voor Nop.
Nou, daar nog allemaal een beetje mee rondgeklooid.
Maar dat was toen nog niet echt super die hard programmeren.
Dat was meer een beetje scripten en op op MIRC.
Nou, ja, eigenlijk is het echt het echt developen.
Developen is eigenlijk met mijn studie echt pas begonnen.
En ik heb ook heel lang aan de Haagsel school informatica gestudeerd en ook heel
lang wel een beetje met een gevoel rondgelopen met van nou ja, weet niet of dit het nou
echt het gaat zijn en eigenlijk na het afstuderen aan het werk gegaan en nou ja,
daar zijn op een gegeven moment een paar dingen echt een soort van gaan klikken.
Ik denk, oh ja, nee, dit, dit wil ik wel.
Ja, ja, na school kwam je erachter van, oké, dit is wel ja, wat ik wil.
Ja, ja, ja, dat vond je, vond je het ook zo'n groot verschil.
Zeg maar, kijk, de dingen die ik op school leerde, dacht oké, die hoor ik niet
gelukkig van als ik dit iedere dag moet doen.
En toen ik ging werken, dacht ik, oké, nou, dit is op zich relaxed.
Er is best wel een, althans het was HBO, zeg maar.
Dus in universiteit zal het misschien ook weer anders kunnen zijn, dat weet ik niet.
Maar dat vond ik best wel een verschil.
Maar wat was dat bij jullie dan?
Welke dingen waren dat?
Ja, je had het discreete wiskundhoud, dat soort, weet je, theoretische vakken.
Dat was vooral in het begin, je denkt van, oké, ja, moet dit nou?
Maar ja, dat is allemaal een soort van, in het curriculum, zeg maar, wat wij hadden,
was een soort, omdat het een, ja, er werd toen vooral de gedachte was dat
dat soort ontwikkeling heel erg dicht tegen wiskundhoud zat.
Ja, bij mij was het een heel ander soort curriculum, maar dus meer, had je dan,
hadden jullie dan meer het gevoel dat je niet echt iets aan het maken was,
maar gewoon echt hogere wiskunde, alleen maar een beetje theoretisch?
Ja, dat was vooral in het begin.
Kijk, later krijg je natuurlijk, ja, opdrachten en dus dan was het wel wat anders.
Dan denk ik, ja, dat was, dat kan wel in het begin iemand afschrikken,
dus zo ervaarde ik het.
Maar goed, dat zou zeker tegen aankijken.
Dat was bij ons ook zo.
Toen ik ging studeren, was de studie, heten toen technische wiskunde en informatica,
dus het was 50-50.
Nou ja, ja.
En Bart?
Ja, HBO Informatica is dan wel veel meer op echt, ja, software development,
software engineering in de praktijk toegespitst.
Eigenlijk achteraf vind ik het bijna jammer dat de hoeveelheid wiskunde in de opleiding
eigenlijk aan de vrij lichte kant was.
Ik denk dat het meest theoretische waar ik mee in aanraking ben gekomen,
dat was pathfinding in een van de eerste blokken,
omdat je dan een spelletje ging maken met java en later in de opleiding
databases en een theorie over consistency and durability en zo.
Databases waren echt, daten modelleren was echt mijn favoriete vak.
Het was de enige, ja, dat was zo leuk, normaliseren en zo van databases.
Ja, dat was misschien wel leuk, maar wij kregen toen, voor mij was,
het was, ja, het ligt ook heel vaak aan wat Valera het uitlegt hoor,
dat moet ik wel erbij zeggen, alleen, goed, hoe heet die gast nou,
CJ Date was een soort van database god van heel post geleden.
Maar dat was echt in het begin van SQL, er werd uitgelegd waarom SQL en zo.
En ik zat echt van oké, big freaking deal, maar dit land bij mij nog niet.
En pas later, zeg maar, had ik zoiets van, oh ja, dit is wel logisch.
Ja, dat normaliseren slaat wel eens op.
Dus het maakt ook echt uit hoe het gebracht wordt met je notebook.
SQL zelf vond ik ook niet zo interessant.
Ik vond vooral het te modelleren van de database zelf, vond ik veel leuker.
Maar Bart, wat jij zegt van dat wiskundige vond je eigenlijk te licht bij jullie,
maar wat zijn dan, dus een beetje andersom, maar wat waren dan de dingen die bij jou met werken
opeens wel klikten?
Nou, waar ik ook een beetje mee worstelde was in die tijd.
Nou, je denkt dat je PHP, we kregen vooral een Java les.
Dat was Java 5 nog, ook al was Java 6 al een tijd uit, want het onderwijs loopt
daar dan toch een beetje achteraan voordat het lesmateriaal en de boeken en dat soort
dingen up to date zijn. En hebben we ergens ook nog een verloren kwartaal even dan
architectuur.net gehad en wat mij toen wel aansprak, omdat dan dat blok tot net werd dan
door een docent vanuit het bedrijfsleven gegeven.
Dus dat was dan wel meteen met de nieuwste versie en Java 5 in die tijd, waar ik een
beetje mee worstelde, was toen een enorme hoeveelheid ceremonie voor dat ik überhaupt
iets werkend kreeg. Was heel veel dingen van, nou import, weet je, 16 regels aan
aan imports, allemaal dit, allemaal dat. En we moesten elke keer weer een beetje opnieuw
dat wiel uitvinden om met de database aan te praten. En dan kan op een gegeven
moment, net zoals iedereen anders, een soort van foldertje met utility, PAP-faaltjes
voor mijn persoonlijke projecten die steeds maar weer hergebruikt en een beetje
uitbreiden. En toen ik eenmaal aan de slag ging bij mijn eerste werkgever,
daar begonnen we toen met Ruby on Rails. En dat was opeens een complete kant-en-klaar pakket
waar gewoon al dingen om op een bepaalde conventie gingen en je dus niet zozeer met
die ceremonie bezig was, maar meteen aan de slag kon met echt dingen bouwen,
waarvoor je eigenlijk überhaupt begonnen bent. En dat was een van die dingen dat ik dik
klikte van, hè, waarom hebben ze dat nou nooit voor Java gemaakt, of aan me uitgelegd,
of voor PHP bleek er toen ook wel Rails clones te zijn. Maar dat maakte opeens de hele
boel, dat klikte in mijn hoofd. Ik denk van, dit had het eigenlijk al moeten zijn en dit voelt
instinctief goed. Ik kon het alleen nog niet uitleggen omdat ik het nog niet eerder had
gezien. Maar dit was wel waar ik naar op zoek was. En toen, ja, we gingen ook echt producten
bouwen met echte gebruikers, dus dan zien het ook echt gebruikt worden. Je ziet dingen
verkeerd gaan op een manier die je nog niet had voorspeld, want gebruikers doen toch altijd
dingen weer net even anders zodra je het aan zich heeft. En opeens waren dat allemaal van
die dingen dat ik denk, ja, dat krijg je niet echt in die HBO of universiteiten projectwerk
bubbel. Weet je, alle problemen die je op je pad krijgt, dat zijn dan van die
gemaakt problemen die je docent dan naar je toe gooit terwijl die in de rol van de
kruikerkruid. Dan krijg je van die absurde eisen dat je echt al denkt van nou ja, donderop
weet je wel, het staat helemaal nergens op. Ik had het op een gegeven moment ook op de HBO springen als
een hondje. Je merkt op een gegeven moment heel erg dat een docent zoiets heeft van oké,
ik moet deze mensen een probleem voorleggen en dat probleem wat er dan verzonnen wordt,
dat ja, dan zit je echt zo van ja, maar dat gaat nooit gebeuren in de echte wereld.
Waarom moet ik dit nu oppakken in hemelsnaam? Een beetje dat soort dingen. En dat was voor
mij inderdaad na de studie, toen ik echt aan het werk ging, de grootste switch. Dat ik echt
zoiets had van oh, hier zijn allemaal mensen die ook gelijk gestemd zijn, die willen ook een
mooi product maken en geen medestudenten waarmee je de hele tijd loopt te bellen om half tien
ochtends van hey gast, kom je nog vandaag? Weet je wel? Een beetje, het is gewoon een hele
andere vibe en dat was wel echt heel gaaf. Ja, en dan is het elf uur ochtends dan bellen
hem, waar die is voor de afspraken naar jouw man, Bernard Walker, gister uitgegaan, zit nu te
blowen. Ik kan niet zeggen dat ik die jongen ook nooit geweest ben, uiteraard, maar goed,
ja. Nee, ik was dus er eentje die heel slecht was met groepsprojecten. Ik was die persoon,
ik was niet de persoon die zei van ik ben nu aan het blowen hoor, maar ik was wel,
als ik het over had kunnen doen, maar die zelfverzonnen problemen, wij hadden wel echt,
echt soort van tussen aanhalingstekens, klanten dan voor voor projecten. Dat was dan,
dat werd dan ook helemaal zo gepresenteerd van ja, dit is een echte klant en dit gaat ook
echt bla bla bla, dit gaat ook echt gemaakt worden en echt gebruikt worden. Maar alsnog was
het altijd zo half-assed, want niemand in the right mind, als ze echt iets nodig hebben,
gaat bij een hoge school aankloppen en zegt van hey, kunnen jullie studentjes iets voorstellen
en iets voor mij bouwen? Weet je al, dan weet je al gewoon dat het echt een soort van bijdik
wat toch nooit serieus genomen wordt. Dus het was altijd, ja het werd ook altijd helemaal
niet logisch en gewoon een half afgemaakt en ja, ik was ook niet zo van het schoolwerk,
pas met echtwerken, serieus, hoef ik het serieus te nemen ook. En het proces eromheen ook,
want Agile was toen nog een soort van vies woord, weet je, we kregen vooral, het was Rup en
kleine Prins 2, allemaal boekjes, processen en eindeloze documenten opleveren. Echt vreselijk.
En een diagramma tekenen. Ja. Maar ook de planningsfase. Ja, vreselijk was dat. De
planningsfase, de ontwerpfase, de implementatie. Het is al heel erg waterval, maar dat, ja,
liep ze zo mee achter. Ja, dat is echt, volgens mij is dat manier van les geven en
dat is ook, Veliene had het er volgens mij ook over, met Neus op tafel, over hoe leren
mensen programmeren en dat het eigenlijk best wel moeilijk is, want je krijgt natuurlijk,
er gaat iets mis en dan krijg je allerlei rare foutmeldingen en sommige mensen haken
dan gewoon meteen af, terwijl ze misschien best wel geschikt zijn om te programmeren.
Dus dat leren van programmeren en het moet, net als dit wat je op de hoogschool en universiteit
krijgt in het begin, dat zijn echt dingen waar je denkt van, oké, dit schrikt me gewoon af,
ik heb hier gewoon helemaal geen zin in, dit slaat echt nergens op. Dus volgens mij,
het opleiden en voorbereiden op het werk wat wij tenminste denk ik de meeste van ons doen,
ja dat matcht gewoon niet. Ik vind dat wel een heel goed punt van die foutmelding ook hoor,
want wat ik ook heel vaak merk als ik bijvoorbeeld met een junior aan het perren ben ofzo,
weet je wel, als we dan iets fout gaan, dan komen ze meteen bij je aan van wat gaat
hier fout en eigenlijk hoef je bijna altijd alleen maar te zeggen van lees wat de CLI output
is of lees wat. En dan hebben ze het nog niet gelezen omdat het gewoon te overwhelming is ofzo,
dat het allemaal tekst is. Terwijl als ze daadwerkelijk gewoon lezen wat de output is,
dan weten ze meestal gewoon wat aan de hand is. Ja dat ook, maar het is voor een leek,
is het best wel, ja, het schrikt gewoon af. Oké, nou is alles kapot. Het moet
zo gewoon verteld worden. Ja precies, nou goed ook, maar goed als de Verlinden zeg maar,
die daar ook van aankomt van ja er zijn wel programmeertalen waar ze aan werken,
waar die meldingen wat vriendelijker zijn zeg maar, zodat er in theorie dus meer
mensen aan kunnen haken die programmeren. Ja en het is natuurlijk zo dat die foutmeldingen,
die hebben het eigenlijk, die foutmeldingen hebben het nooit mis. Het is nooit zo dat die
foutmeldingen, je ziet een foutmelding op de scherm verschijning, ja dat kan niet,
maar het klopt altijd. Je moet het beter maar goed lezen. Maar ja, je kan het natuurlijk wel
altijd vriendelijker maken, want we hebben natuurlijk ook allemaal wel een keertje gehad
dat er staat error en dan een errorcode en verder niks. En ook nergens waar je dan die
errorcode kan opzoeken of wat dan ook. Ja je moet blij zijn dat je nu Google hebt,
van vroeger had je gewoon, dat was het zeg maar, dat je in ieder geval een vage hexcode en
dat was de error en succes. Wat ik ook heel chill vind is dat er dan staat, oops,
something went wrong. Ja bedankt voor deze leuke speelse tekst waar ik echt geen flik aan
heb. Ja dat weet ik wel, dat zou ik schrijven. Ja dat is ook wel een goede. Je hebt ook zo'n
meme toch, dat mensen werden op een gegeven moment een beetje gek van al die browsers en zo,
die allemaal zo, we did a oopsie whoopsie en dat soort dingen. Wij software ontwikkelaars zijn
super serieus, altijd. Eigenlijk moet je dan de error message gamification op toepassen ofzo,
als je een kindvriendelijke programmeertal aan het ontwikkelen bent. Dus elke keer als je
een error hebt dan krijg je eerst een spelletje en dan pas de stacktrade. Ja dan ga je wel error's.
Ik weet niet of je dan minder bugs gaat creëren of meer of meer fouten, dat wordt wel.
Of meer of minder frustratie. Ja maar goed op school, wat voor taal heb je,
wat voor ontwikkeltaal heb je geraakt en welke vond je leuker dan de andere?
Nou het was voornamelijk Java.Net. Dat was denk ik Java 5.Net 4 uit mijn hoofd.
En waar ik wel gecharmeerd van was die two-way data binding wat je daarin had.
En dat was toen in Java moest je dan al je hele UI en de state management
moest je hem allemaal met de hand aan elkaar knopen. Dat was wederom heel veel van die
ceremonie waar ik denk, waarom ben ik dit allemaal aan het doen? Dit voelt gewoon alsof
dit makkelijker moet kunnen. En een paar kleine website's in PHP en dat was dan gewoon snel
en makkelijk en eigenlijk om terug te komen op die vorige discussie ook. Zeker in die
tijd viel er heel veel PHP aan te merken qua taal en weet je dat dingen niet altijd
logisch of in elkaar zaten. Was het toen al OOP? Dat was PHP 4, dus de eerste verschijnselen van
4 of 5. 5 was volgens mij voor het eerst. Maar wat PHP wel heel goed voor elkaar heeft was die
instantaan feedback cycle. Geen compilen, geen niks. Je verandert je safe, je F5 en je ziet het.
Zelfs in productie als het moest, want weet je wel, Ferzie Beer was in die tijd, weet je,
Git was er nog niet of net aan. We kregen toen nog Subversion. Nou, dat was ook niet echt een
pretje, dus dat deed je toen niet echt. Dus weet je, je maakte gewoon een, je FTP'd je PHP
servertje in, je copieerde de fout die je aan ging passen voor het geval dat het echt
fout ging en dan ging je er gewoon een beetje in rommelen en je F5'd en je zag meteen het
en dat was wel gewoon een beetje waar ik toch wel naar zocht, gewoon van geen gedoe,
het moet gewoon werken, ik moet gewoon snel zien wat het doet, want dan ben ik gewoon bezig met
wat ik leuk vind, iets maken voor iets of iemand en niet een hele berg code of andere onzin,
zoals ik het toen vooral ervaarde, om iemand anders vooral te plezen, maar wat dus niet
leidde direct tot iets maken. Maar ben je dan, want dit gevoel snap ik,
maar het begint een beetje de kant op te gaan van ik hou ook niet van testschrijven en ik
hou ook niet van CI en dat soort dingen. Nou in die zin, in die tijd was het wel van,
we kregen wel wat over unit testen, maar u zag in die tijd, de waarde was ik een
veel van de dingen die ik schreef waren vrij klein, vrij simpel en moet ook denk ik,
als ik zo even terugkijk en John ben benieuwd of jij dat kan beamen,
ik vond dat de toegevoegde van waarde van testen niet echt goed werd uitgelegd op die
opleiding. Ook dat was pas een dingetje dat eigenlijk op mijn eerste stage een beetje
begon te klikken waar ik gewoon, ja weet je, er was een team van nou wat was het,
team developers ofzo, pasten niet meer met elkaar in een kamer. Mensen werkte echt op
verschillende onderdelen die wel van elkaar afhankelijk waren. De business cases die gesupport
moesten worden waren ook complexer en ja weet je, dan opeens testen en ook de
waarop die testen werden geschreven. Meer met een voorbeeld cucumber specs, echt met een focus op
de use case. Denk oh wacht ja dat is wel logisch en ja met CI en ja dat was toen nog een beetje
nieuwig in plaats van dat er werd niet een dagelijkse, een nachtelijkse beeld gedraaid
maar er werd continu op pull requests werden er beelds gedraaid en als daar master werd
gemurtsd werd er weer een beeld gedraaid, continu. Ja wacht, ook van die dingen die toen
pas een beetje begonnen te klikken vanuit de theorie toen ik het in de praktijk zag.
Ja, ja we kregen een we kregen een boek J-unit testing geloof ik op daagsel gescholden bij en ja
dat ging echt alleen over over de unit tests en er werd, ja ik kan beamen inderdaad wat je
zei, er werd heel weinig uitgelegd over het soort grotere plaatje. Waarom is testen nuttig?
Waarom moet je testen? Op welke plek in de volledige development cycle is testen handig en
wanneer komt het ook echt van pas en ja het werd alleen uitgelegd als ja hier heb je code en
je moet zeker weten dat het werkt. Punt. En veel plezier ermee, succes, ga het maar maken en ja
daar word je er ook niet heel erg warm van inderdaad. Dat voelt alleen al heel snel als
overhead. En de unit testjes waren dan ook wel een beetje van de kwaliteit zoals hoe
sommige beginnende developers dan hun code commentariseren op de manier met van ja
nou code is 1 en 1 plus 2 en hier berekenen we wat de waarde is van tweebe weet je al dat het
was en het was niet op van nou ja weet je je wil eigenlijk het gedrag testen er gaan dingen in
er komen dingen uit maar de interne implementatie daar bemoei je dan niet mee maar je gaat erom
dat het gedrag van dit stuk code aan de buitenkant goed is. Nou allemaal van dat soort
dingen die gaande weg ja weet je er werden heel veel dingen zegt van ja dit moet je doen
maar dan was ik weer zo vervelend met ja maar om dan waarom moet dat zo dit voelt een beetje
raar dit die antwoorden bleven dan een beetje uit tot tot op de werkvloer later ja daar bleed ik
dan ook wel en daar kwamen die twijfels dus vandaan met van nou ben ik nou zo'n gekke
hankie dat ik steeds zo'n gevoel heb van nou dit dit dit vind ik vreemd of dit voelt niet
juist je hebt in het onderwijs denk ik ook best wel weinig mensen die dat goed kunnen
We hebben een aantal mensen die ons hebben gegeven om ons te uitleggen. Ze hebben stof. Ze weten dat ze die moeten uitleggen.
Net zoals dat boek waar je het over hebt. We leggen uit wat unit testing is en hoe het moet.
Maar echt die opinionated dingen waar je het over hebt. Waarom is dit zo? Wat zijn de consequenties als je het niet doet?
Dat zijn dingen die je echt alleen maar op conferenties en zo tegenkomt van mensen die daadwerkelijk met het werken bezig zijn.
En dan zijn er nog heel veel verdeelde meningen en weet ik het allemaal. Die mensen krijg je gewoon niet in het onderwijs.
Dus dat ga je nooit goed krijgen, denk ik.
Bart, mag ik dan vragen hoe dat was toen je bij Shopify terechtkwam?
Kwam je toen in een hele nieuwe omgeving waar dat ook werd gebruikt en kende je dat?
Ja, nou even kijken. Na mijn opleiding ben ik bij Digidentity in Den Haag begonnen.
En daar werkte we dan aan een single sign-on service voor de Britse overheid.
En dat is waar ze waren ook. Ze zijn ook een certificaatautoriteit.
Dat is natuurlijk security, staat daar heel hoog in het vaandel.
Dingen moeten gewoon getest worden, punt.
Weet je al, regelmatige security pen testen, maar ook unit testen.
Weet je ook allemaal code-kwaliteits-tools, code-coverage-tools.
Dat stond daar heel hoog in het vaandel.
Dus daar heb ik een hoop van dat soort dingen geleerd, maar dat ook inderdaad in de praktijk het klikte.
Wat vooral voor mij het verschil was...
Even kijken, daarna heb ik ongeveer anderhalf jaar lang freelance gewerkt.
Maar wat voor mij echt nieuw was toen ik naar Shopify ging, was de gigantische schaal.
Ik ging van apps met een paar honderden tot duizenden gebruikers...
naar honderdduizenden merchants die dan elk nog eens een keer misschien wel eend tot honderdduizenden klanten hebben.
En ja, software at scale heb ik daar wel echt geleerd, zou ik zeggen.
Heb je daar dan ook veel meer DevOps die dingen geleerd?
Want dan moet je eigenlijk ook breder gaan denken.
Eigenlijk minder juist.
Want als je op een gegeven moment een bedrijf hebt dat zo groot is, heb je meer specialisatie.
Dus we hebben een team dat dus...
We draaien tegenwoordig op Google Cloud, maar daarvoor op Bare Metal.
En er is gewoon een team dat ervoor zorgt dat de nitty-gritty van deployments...
en meer of minder servers, dat is gewoon al weggeabstrayerd.
We hebben eigenlijk een soort van interne cloud-infrastructuur.
En dan kan ik gewoon zeggen, over deze applicatie, die draait nu op vijf replica's...
maak er maar even tien van, want ik verwacht de topdrukte.
Oh, maar daar heb je dus wel controle over.
Want wat ik me dan afvraag, in zo'n grote organisatie...
en die stokkelen daar nog weleens mee met hoe het werk van de teams is verdeeld...
en die bouwen het context en zo.
Dat je dan als team bijvoorbeeld moet kunnen beslissen van...
hey, ik wil hier een microservice van maken.
Ik wil daar de infrastructuur voor hebben.
En hoe organiseren jullie dan dat dat kan gebeuren?
Moet je dan eerst naar dat andere team toe om dat aan te vragen...
en dan weer wachten tot zij tijd hebben en dat soort dingen?
Het is Shopify, wat dat betreft, best wel georganiseerde chaos.
En daar moet je wel een beetje mee om kunnen gaan.
We hebben bijvoorbeeld een aantal teams, Developer Acceleration...
die dus de developer tooling bouwt, zoals een shared CI-infrastructure...
en een cloud-infrastructure-team...
die eigenlijk dus een soort van internet-platform-as-a-service-achtige dingen aan kan bieden.
En stel je voor dat wij besluiten...
geloof dat ik nog niet gezegd heb dat ik op payments werk...
maar ja, ik verzorg dus betaaldingen bij Shopify.
Stel dat wij zeggen, we hebben een nieuwe applicatie nodig...
omdat we iets nieuws gaan bouwen...
en dat gaan we niet in de grote monolithische Shopify-app bouwen...
maar dat gaat in een losse app, want om reden A, B en C.
Nou, dat documenteren we dan in een zogenaamde tech-design.
Dat is één GitHub-repo en daar worden al jarenlang...
alle tech-designs daarin als issue geopend.
En dan is het van, wat ga je bouwen?
Waarom ga je dit bouwen?
Welke designkeuzes heb je gemaakt?
Wat waren daarin de afwegingen?
En wie zijn de stakeholders die jij moet betrekken bij je tech-design-review?
Nou ja, goed, payments gerelateerd.
Ik wil waarschijnlijk wel iemand van security erbij hebben...
voor een extra paar ogen.
Ik wil waarschijnlijk, nou, als ik dingen moet scalen...
Nou, we hebben al bestaande, natuurlijk die bestaande interne paas oplossing.
Maar als ik echt hele rare dingen wil, buiten wat ze standaard aanbieden...
dan kan ik er ook iemand van hun bij trekken...
om te kijken van, nou, hoe feasible is dat?
En dan, ja, die tech...
Iedereen kan er ook gewoon een commentaar geven op je tech-design-review.
Mochten mensen iets voorbij zien komen dat ze denken, dat raakt mij ook.
Nou, dan kunnen ze gewoon een mening daarbij geven.
En, nou, daarna gaan we het gewoon bouwen.
Mits je, zeg maar, binnen in je afdeling de leads...
en dat soort dingen daar goedkeuring voor hebben gegeven...
dat je het project doorgaan kan vinden.
Maar verder is daar niet echt een onwijze strakke procedure voor...
behalve een aantal vuistregels...
die ook de interne bedrijfscultuur ondersteunen.
We hebben interne default to open internally.
Dus ja, alle tech-designs zijn daarom over het hele bedrijf heen gewoon openbaar.
Dat is wel cool. Ik was gemute.
En kan je nog een paar vuistregels noemen?
Dat vind ik wel leuk om te horen.
Ja, een andere waar ze ook heel erg mee bezig zijn is Build for the Long Term.
De CEO zegt vaak van, we willen dat dit een bedrijf is dat 100 jaar oud wordt.
Dus...
Toby.
Ja, Toby inderdaad.
Dus weet je, maak beslissingen die in de lange termijn goed zijn voor het bedrijf...
en niet alleen maar voor de korte termijn winst.
Get shit done.
Dat is heel kort samengevat met van...
ja, weet je, niet te veel ouwehoeren vergaderen of dat soort dingen.
Uiteindelijk moeten er gewoon dingen opgeleverd worden.
En dat is natuurlijk dan wel een beetje een afweging tussen die twee.
Want get shit done, tuurlijk.
Maar dan niet op een manier dat je er over een jaar al spijt van krijgt...
dat je het net zo hebt gedaan.
Ja, dat is een balans die er heel veel niet helemaal goed krijgt, natuurlijk.
En dan kan de ene kant naar de andere vuistreigelregel wijzen...
en dan kun je nergens.
Ja, maar oké.
Maar het is wel goed dat de CEO in ieder geval zegt van...
doe het voor de lange termijn.
Dan krijg je daar een soort van rust, zeg maar.
Ja, en er zijn ook zeker gewoon...
Kijk, de main Shopify applicatie...
dus als je een Shopify winkel bezoekt...
de Storefront, maar ook de Merchant Admin...
en wat interne beheersdingen voor medewerkers...
dat is één grote Ruby on Wheels applicatie die al...
Nou, het is begonnen in 2006, dus...
al 14 jaar wordt doorontwikkeld.
Er zit legacy code in, er zitten dingen die niet zo mooi zijn...
dingen zijn die haastig zijn gebouwd...
omdat er dan soms wel eens externe deadlines zijn...
waarin get shit done dan toch de prioriteit krijgt...
over build for the long term.
En soms zie je opeens een stuk code dat je denkt...
en dan kijk je git blame.
Oké, ja, dit is in 2010 geschreven.
Oké, ja, als het al sinds 2010 draait...
ja, oké, misschien, ja, is dat dan inderdaad...
aan de andere kant, als het op tien jaar zo draait...
heeft die code op zich ook wel prima gedaan, weet je wel.
Dan blijven we niet hoor.
Dat vind ik ook altijd zo mooi als mensen bugs gaan reporten...
dat het dan, oh god, ik heb een bug ontdekt...
en dat het dan als heel kritisch wordt ervaren...
dat die bug al in productie is en heel vaak is het dan...
dat het gewoon al letterlijk jaren erin zit.
En dan denk ik ook van, ja, je kunt wel doen alsof het heel ernstig is...
maar blijkbaar is het niemand jaren opgevallen, dus...
Ja, klopt. Ja, dat heb ik ook heel vaak.
Ik ben sowieso, ik noem dat een beetje de Regen-aapak...
Ronald Reagan, dat is schijnbaar een verhaal.
Wat er gebeurde, hij lag hier te slapen, zeg maar...
en dan werd er gebeld door een of andere, weet ik veel...
dan nam Nancy Regen de telefoon op...
en dan, ook al was hij iets aan het doen of hij was wel beschikbaar...
dan zei ze altijd van, nee, hij is aan het slapen.
En dan, ja, maar het is wel belangrijk, maar hij slaapt nu...
dus ik kan hem echt niet wakker maken.
Dan wachten ze even, dus drie, vier uur verder...
en dan was hij echt wat geslapen, was hij wakker geworden...
en daarna was het probleem weg.
De urgentie is er dus gewoon niet altijd.
En dat merken we bij software developer ook heel vaak...
met dit soort bugs of un-bugs, oh nee, paniek, dat kan niet...
want alles stort in en het zit er al tien jaar in of vijf jaar in.
Dan denk je, ja, oké, dat kan nooit urgent zijn.
Weet je, tenzij het een security bug is of zo.
Maar, dus die paniek vind ik altijd wel interessant.
Ja, ja, wat ik zo opvallend vind, is als je nieuwe feature release...
dat er dan ook bestaande bugs in andere features tevoorschijn komen...
alsof mensen dat met een verse blik de software bekijken...
dan kan je in één keer allemaal dingen zien die er al jaren in zit...
maar nooit iets opgevallen.
Dan moet je dus oppassen dat degene die die feature introduceert...
niet in één keer voorquest van 300 changed files...
want ik zag dit ook en dat ook en dat ook, weet je wel.
Ja, dat klopt.
Zeker met een product dat zo oud is...
we hebben het verhaal gehad dat Toby ooit op een vlucht...
van naar Silicon Valley geloof ik, om dan geld op te halen...
heeft hij de templating-taal Liquid ontwikkeld op die vlucht.
En natuurlijk gaandeweg hebben mensen heel veel thema's gebouwd voor Shopify...
maar dat is een beetje natuurlijk ook gebouwd op een manier met van...
oh dit is een goed idee, dat is een goed idee, dat is een goed idee...
maar dan kijk je er nu op terug en dan denk je wauw...
er zitten best wel wat rare dingen in Liquid.
Maar ja, die zijn nu vet moeilijk om daar nog ooit uit te halen...
want als je die bug nu fixt...
of die rare quirk in het gedrag nu fixt...
ja dan breek je opeens een stukje custom-functionaliteit op iemand op z'n webshop...
en dat is natuurlijk ook not done.
Dus soms zijn bugs dan opeens ook features.
Ja, dat komt.
Dan zie je ook WordPress.
Nou tegenwoordig is dat wel iets anders geloof ik, maar...
Ja ik weet niet, ik heb al heel lang geen WordPress meer meegekregen...
maar Windows is ook zo een beetje...
het is ook echt een hack op hack en het is ook precies wat jij zegt...
het enorme ecosysteem ontstaat er rond Windows...
en als jij dan denkt, oké ik ga het fixen...
maar dat betekent wel dat als het ecosysteem er omheen heeft gewerkt...
dat ze daarna dus weer een keer alles moeten fixen.
Ja, daar word je ook niet al te blij van.
Dus dat is best wel lastig.
Ja, ik had nog een vraag aan Bart over wat hij net zei bij de tech-design...
dat je dan soms iemand erbij moest halen van security-afdeling.
Dat is blijkbaar iets wat apart zit.
Nou, er wordt sowieso van elke developer wel verwacht...
dat ze hun ogen open houden om geen fouten te maken.
En we hebben ook security, we hebben ook code scanning tools...
linters die dingen proberen te vangen op een geautomatiseerde manier.
Maar als het gaat om een compleet nieuwe applicatie...
en zeker omdat ik natuurlijk in de financiële hoek zit...
komt er dan vaak legal en security dan toch al snel om de hoek kijken...
vanwege een stukje regulering.
Dan kan het nooit kwaad om iemand van het application security team...
als gewoon expert erbij te halen.
Stel je voor dat je zegt van...
in verband met GDPR moeten we de data versleutelen.
Nou, dat kan je wel zo in de tech-design neerzetten...
maar dan gaat er geheid iemand op een gegeven moment vragen...
ja, en hoe dan? Welke algoritmes? Hoe ga je dit doen? Hoe ga je dat doen?
Dan kom je natuurlijk al wel op een stukje technische materie terecht...
dat jij zo zegt van...
nou, ik doe AES 128 CBC.
En dan zou die security expert kunnen zeggen met van...
ja, maar wacht even, je gaat dit verzenden over het internet...
en je doet verder geen integriteitscheck.
Ben jij AES CBC zonder dat je er ook nog een verificatiestap overheen doet...
is kwetsbaar voor bepaalde aanvallen...
en dus niet zo vaak als je denkt.
Nou ja, dat is dan wel weer zo diep op bepaalde materie in...
dat kan je dan weer niet van elke developer verwachten...
dat ze dat zo even op kunnen hoesten.
Dat snap ik al.
Ja, een aantal dingen kun je wel automatiseren...
een aantal dingen juist niet.
En je moet volgens mij ook...
ik weet niet hoe dat bij jullie is, maar...
security-specialisten moeten ook met een half been...
ook een gevoel hebben voor wat er aan de donkere kant gebeurt.
Dus dat is ook nog wel...
dat je dat bij moet houden...
en dat kun je van een algemeen ontwikkelaar...
denk ik niet verwachten.
Dat is mijn mening.
Zeker niet, ook als je natuurlijk de aantallen hebt...
die ze bij Shopify hebben.
Want ik weet niet, Bart, hoeveel developers er nu...
in diezelfde applicatie werken...
dat zijn er geen tientallen, dat gaat meer in de honderden.
Ja, wat is het, geloof ik...
ik moet even nadenken wat het officiële nummer is...
dat ik mag vertellen, maar dat was geloof ik...
400 ontwikkelaars in één applicatie.
Ja, dat is even...
Ja, dat vraagt wel een hele andere maatregelen dan...
Ja, heel veel dingen automatiseren inderdaad.
En ook, we leunen heel erg vaak op dingen...
ook deprecaten in onze eigen codebase...
met van, oké, we maken nu een lijst van alle 100 plekken...
waar deze deprecated code call wordt gemaakt...
en als je dan dat op een nieuwe plek introduceert...
dan veelt CI, met van, hé...
en dan krijg je een melding met van, hé...
we proberen dat compleet te deprecaten...
en om, zeg maar, dit niet verder te laten verspreiden...
zetten we dit, hebben we dit geblacklist...
of een geshitlist noemen we het...
en voeg geen nieuwe dingen aan de shitlist toe, AUB.
Mocht je er echt niet omheen kunnen werken...
dan ga ik proberen een oplossing te vinden.
Als het echt niet anders kan, oké...
voeg dan maar toe op de shitlist...
maar op die manier, dat is de enige manier...
om in zo'n grote codebase met zoveel mensen...
slecht gedrag eruit te slopen...
of deprecated gedrag.
Ja, oké, cool.
Ja, dat vind ik wel...
ik vind het sowieso interessant, zeg maar.
Ja, de bedrijfscultuur, zeg maar...
bij de Shopify, dat is een beetje een georganiseerde chaos.
Ieder bedrijf heeft natuurlijk zijn eigen cultuur...
ja, dat ontstaat niet zomaar...
dat is door jullie CEO...
de aantal mensen die er werken.
Dus dat vind ik wel interessant.
Maar hoe was het, zeg maar, om als Nederlander...
daar binnen te komen?
Heb je daar nog wel wat typisch Nederlandse...
ja, conflictjes wil ik niet zeggen, maar ja...
Nou, ik heb weleens dingen vrij direct geroepen...
in een meeting en dat mensen nog wel even zoiets hebben van...
oh, zo, dat is vrij recht voor z'n raap.
Dat is denk ik meer een verschil tussen Nederland en Canada...
wat dat betreft.
Canadezen zijn altijd heel beleefd in zichzelf uiten.
Zoals ook door South Park wel beroemd en berucht is gemaakt.
Maar er zit wel een kern van waarheid in.
Het zijn alleen niet pratende halve hoofdjes...
zoals South Park's uitbeeld.
Hoe heet die type hoofdjes?
Ik ben ze vergeten.
Terrence en Philip.
Ja, Terrence en Philip, precies.
Ze hadden toch wel een baby of zo?
Ja, die hadden ook een baby, ja.
Dat was ook een babytje.
Die had heel schattige geluidjes, maakte hij altijd.
Die schetenlaten, dat was het toch?
Ja, dat, ja.
Dat was niet de baby, volgens mij.
Nee, de baby niet.
Ja, wel cool.
Ja, had ik nog meer vragen over...
Hebben jullie misschien nog vragen?
Ja, wel een beetje over de stek eigenlijk.
Ja, we gaan maar los.
Ja, nou ja, wat hebben jullie allemaal in de stek zitten?
Vooral na aanleiding van je opleiding.
Ja, eens even kijken.
We hebben de meeste applicaties zijn Rails.
Laten we daar maar gewoon even mee beginnen.
De database of choice is MySQL.
Ja, want daar zijn ze ooit gewoon tig jaar geleden mee begonnen
en daar expertise in opgebouwd.
Het werkt gewoon.
Het werkt, ja.
Ik denk op een gegeven moment,
weet je, een ding als een LHM om online schema migrations te doen,
dan denk je in het begin met van wauw, dat is een vieze grote hack.
Maar toen ging ik erover nadenken, ik denk van ja,
sommige dingen wil je met Postgres ook wel op een bepaalde manier doen
die niet standaard is zodra je helemaal op deze grote werkt.
Dat hoort er gewoon denk ik een beetje bij met die schaal.
Redis, populair voor job queue.
Memcached voor caching.
Of als je een simpele app hebt, dan gebruik je Redis voor allebei.
Even kijken, dan hebben we met name dan voor de grote,
de main monolith, want die is denk ik wel het interessantste,
hebben we Zookeeper voor wat coördinatie over shards heen.
En de routing gebeurt met Nginx, met een aantal custom Lua modules in OpenResty.
Dus je moet het eigenlijk even heel simpel zien dat een shop,
die heeft een ID, de shop ID, die staat op een bepaalde shard.
En we kunnen ook shops heen en weer moveen,
als dat nodig is voor wat een reden dan ook.
Nou, er is dan wat custom MySQL toekeling voor,
om ervoor te zorgen dat de state van de shop van de eerste shard
en op de tweede shard voor 99.9% over is gecopieerd.
En dan is er een cut-off moment, waarin dan ook op de routing laag
wordt gezegd van nou, shop 1, 2, 3 draait nu op shard 2.
En dan wordt die laatste data gebackfilled.
En dan op shard 2 wordt er dan een dingetje geflipt met van oké,
deze shop mag nu op deze shard ook echt rights acties doen
en niet alleen maar leesacties.
En we hebben ook her en der nog wat Go services eromheen
om bepaalde dingen te doen waar de concurrency en de latency
belangrijker zijn dan Ruby schrijven.
Dus dat is een beetje de trade-off.
De meeste dingen schrijven we gewoon in Ruby en Rails,
omdat daar werkt gewoon bijna iedereen in het bedrijf al mee.
Dus dat maakt het makkelijk om mensen een en weer te switchen.
En Go is toch een beetje de default taal
om dingen op schaal en concurrency mee te doen.
En daarna is het zo van,
nou, kunnen we dit echt niet op een andere manier doen?
En dan komt bijvoorbeeld de Nginx en de Lua uit.
Maar ja, de hoeveelheid mensen die Lua bij ons kunnen schrijven versus Ruby,
dat zijn wel een paar orders van grote verschil.
Ja, dat geloof ik al, ja.
En van oudsher is natuurlijk Ruby en Rails die zijn,
worden een beetje bestempeld als niet de meest snelle applicaties.
Hoe werkt dat bij jullie?
Want ja, jullie hebben wel zoveel gebruikers.
Het is één grote applicatie.
Hebben jullie, ervaren jullie dat ook? Of is daar...
Ja en nee, zou ik zeggen.
Nee, omdat we, nou, weet je,
toch wel dingen hebben geleerd die,
om Ruby en Rails te schalen tot wat het nu is.
Ik bedoel, het is natuurlijk een beetje een meme die door Twitter in het leven is geroepen.
Twitter was ook ooit in Rails geschreven.
En toen was het in de tijd dat je heel vaak te veel Rails zag.
En toen zijn ze, hebben ze eigenlijk Twitter herschreven in geloof ik Java.
Maar wat ze er dan niet zo heel erg bij vertellen is
dat ze ook meteen de complete architectuur hebben omgegooid.
Ja.
Dus, maar dan is het wel heel vaak van ja, kijk, zie je, Rails was traag.
Java is snel, kijk maar naar Twitter.
Ja, als ze, zeg maar, niet van taal waren gewisseld,
maar gewoon ook hun architectuur hadden verbeterd,
dan waren ze misschien wel op rails gebleven.
Dit is een beetje hetzelfde verhaal als met PHP.
Dat is ook, nou, er zijn natuurlijk redenen waarom mensen bepaalde dingen vinden.
Maar met PHP is het ook tot op zekere hoogte zo
dat het gewoon een heel groot verschil maakt in hoe je het schrijft.
Ja, absoluut.
En kijk maar naar Facebook.
Weet je wel dat Facebook is op een gegeven moment ook zo groot geworden
dat zij op een gegeven moment PHP als taal helemaal naar hun eigen hand zijn gaan zetten.
Wij hebben ook mensen die actief bijdragen aan Ruby zelf
om dingen proberen te vinden om het sneller te maken of geheugen gebruik terug te dringen
of wat dan ook.
En dat gaat dan echt diep op zee in met van nou ja,
hoe groot moet deze zee struct zijn om dit Ruby objecten te representeren?
En als we daar nou 16 bytes vanaf kunnen schaven,
dan op een rails app met honderdduizenden objecten
is dat opeens weer een paar nb minder.
Maar dat is het echt echt.
Zolang je het niet hebt over echt die low level performance optimalisaties,
moet je gewoon je bot touwen.
Ja, niemand heeft het daarover, toch?
Zo van oh ja, maar het is een langzame taal.
Ja, ga je toch lekker machine code schrijven?
Ik denk dat er weinig problemen zijn waar mensen echt
echt dat soort harde letentie eisen hebben.
Misschien als je nou weet ik veel wat een Zendcaster clone zou bouwen of zo.
Precies.
Een goeie.
Maar e-commerce.
Een heel goeie.
Ja, maar e-commerce is op de schaal van 100,
een paar honderd milliseconden, weet je wel.
En tuurlijk onder load is het heel fijn als je daar 10, 20, 30 milliseconden vanaf kan schaven.
Maar over het algemeen is het snel genoeg.
Neem jullie nog speciale maatregelen als het Black Friday wordt,
of zouden we dingen uitzetten of juist niet?
Nou, juist geen dingen uitzetten.
Zetten we liever een paar dingen bij.
Ja, precies.
Ja, nee, we hebben in de aanloop naar Black Friday
is altijd onze traditioneel piekmoment.
Want Noord-Amerika is natuurlijk wel nog steeds onze kernmarkt.
En in de loop naar Black Friday toe
gaan we gamedays houden.
Dus we doen loadtests op onze productie-infrastructuur continu.
We hebben een loadtesting tool die echte check-outs doet op een productieshop.
En die draait standaard elke week,
om er gewoon voor te zorgen dat we zeker weten dat er geen regressies zijn.
Maar naarmate Black Friday binnenkomt, dan voeren we die nog eens een keer op.
Dan gaan we twee keer zo zware loadtests als dat we normaal wekelijks doen
tot wel vijf keer.
We testen noodscenario's, wat als een datacenter helemaal stuk slaat.
En dan gaan we ook gewoon echt live-shops compleet migreren naar een ander datacenter.
Gewoon om te kijken, werkt alle tooling nog?
Zijn alle draaiboeken nog up-to-date?
Zijn mensen er bekend mee?
Zodat ze weten in een stressvolle situatie dat ook goed te doen.
En natuurlijk gewoon opschalen.
Meer VM's, meer geheugen, meer alles.
En natuurlijk in de weken wordt ook gewoon ierteam gevraagd.
Ga nou geen grote features nog lopen, shippen in twee weken voor Black Friday.
Dat bedoel ik met dingen niet doen.
Ja, weet je al, A, om merchants' workflow niet opeens om te gooien op het laatste moment.
Maar natuurlijk ook voor systeemstabiliteit.
En dan echt in de week naar Black Friday toe.
Dan moet je toestemming krijgen van het hoofd van jouw debattement.
Dus dat is dan best wel iemand hoog in de boom.
Die moet gewoon echt zeggen, die moet goedkeuring geven met van oké, deze fix moet echt ge-shipped worden.
En anders als je niet goedkeuring krijgt, dan wacht je maar.
Dat is wel een goeie wat je nou zegt.
Want meestal hebben mensen het over van ja, je moet niet grote dingen shippen,
omdat dan introduceren je bugs en bla, bla, bla.
Maar het is natuurlijk dat als je zo'n sterke seasonality hebt,
zoals Black Friday met de Shopify,
dat je natuurlijk ook gewoon heel veel gebruikers hebt die bepaalde dingen gewend zijn
en die voor zichzelf bepaalde ritmes en rituelen en systemen hebben opgezet,
wat voor hen handig is.
En dat als je dat opeens gaat veranderen,
dat dan natuurlijk een hele systeem gewoon mentaal niet meer klopt.
En dat is, om nog even terug te komen op die kernwaardevraag van jou Bernard,
één daarvan is ook be merchant obsessed.
Weet je wel, dat zijn onze klanten.
Zij vertrouwen ons met hun business toe.
Dus wat je ook doet, het moet altijd voor ten eerste voor de merchant goed zijn
en daarna pas voor Shopify.
Doe iets goed zodat we meer merchants krijgen
en dan de tweede prioriteit is,
dan kijken we ook nog eens een keer van hoe kunnen we daar centje aan verdienen
zodat we dat geld dan weer terug kunnen voeren
om meer mensen aan te nemen, om meer mooie dingen voor merchants te maken
die dan weer in grotere talen naar ons toe komen
en dan heb je zo'n mooi cirkeltje.
Het oer-Hollandse klantenskoning verhaal eigenlijk.
En is het dan ook in het belang van merchants
dat jullie heel veel eindgebruikers trekken?
Eindgebruikers als in meer merchants of meer klanten voor merchants?
Klanten.
Ja, een hot topic in e-commerce is conversion.
Hoeveel mensen die op jouw website komen
gaan ook daadwerkelijk over tot een productje in de wincommand.
Nou, dat is al een begin, want dat lijkt op een koopintentie,
maar dan die koopintentie zou het liefst ook natuurlijk zien omvormen
in een daadwerkelijke verkoop.
En daar houden we heel erg goed in de gaten
We zijn altijd, is er een experiment of iets bezig met
hoe kunnen we die conversie verbeteren?
En een van die grootste conversieverbeteraars
die in de afgelopen jaren wel in de opkomst zijn
is de zogenaamde accelerated checkouts.
Dan moet je denken aan Apple Pay en Google Pay,
maar we hebben ook zelf ShopPay.
En dat werkt dus dan, dan slaan wij jouw creditcard op
en dat is dus dan niet afhankelijk van je merk Telefoon
of de fabrikant van die Telefoon een deal geeft met jouw bank
om je creditcard in je telefoon op te slaan.
Ja, oké, dat is goed.
Jij, ter eerste bij het bedrijf waar ik voor werk heb,
dat is ook een e-commerce product.
En daar is het altijd wel van, ja, nou,
misschien een bruggetje naar het voordere onderwerp is privacy.
Nou goed, er zijn een aantal dingetjes die we doen,
dus AB testen en tracken van bepaald gedrag
en dan kijken of je daar meer conversie door kunt halen.
Alleen tegelijkertijd heb ik wel zoiets,
en zeker bijvoorbeeld met AB testen.
In Nederland, de schaal, ik heb altijd moeite met de schaal.
Ik denk dat er heel veel shops in Nederland zijn
die gewoon te weinig schaal hebben
om daar zinnig iets over te kunnen zeggen.
En hoe effectief is het dan nog?
Nou goed, dan kun je statistisch allerlei modelen tegen haar gooien
om daar wel iets over te kunnen zeggen,
van ja, pas bij 100.000 bezoeken,
dan pas heeft het zin om een conclusie te trekken bij een AB test.
Maar ook het tracken zeg maar,
dat is wel een soort van spanningveld met privacy.
Dat is altijd wel een ding.
En zeker de laatste tijd hier met corona,
die corona hebben,
zijn mensen toch bewust met privacy bezig.
Ik vind het wel grappig dat je dat nu zegt,
want ik kreeg laatst,
van tijd tot tijd heb je van die Facebook berichten,
die je klasgenoten van je middelbare school of je tante deelt,
van ja, kijk dit en dat,
en dan zul je zien dat ze alles bijhouden.
Nou was er van de week weer een bericht,
want Facebook heeft een redelijk nieuwe feature gereleased,
dat je kunt kijken welke externe partijen data doorsturen naar Facebook,
om targeted ads te doen en dat soort dingen.
En dat kun je nu dus inzien.
Dus je kunt zeggen van,
hey, ik wil kijken wat er met mijn Facebook wordt gecheckt,
en bij wie, en dan kun je die historie wisselen,
of je kunt het zelfs uitzetten.
Maar ja, nu wordt er dus een bericht verspreid van,
ja, sinds begin april zijn ze alles aan het bijhouden,
zet het nu stop.
En dan denk ik ook zo van, ja, maar jongens,
dit gebeurt al jaren bij iedereen.
Het enige verschil is dat je het nu daadwerkelijk kan inzien,
maar ze snappen niet dat dat gewoon bij iedereen gebeurt,
weet je wel?
Dan denk ik echt even van,
hé, hoe kun je dit nou nog steeds niet weten?
Hoe denk je dat je die advertenties krijgt?
Ja, dat is best wel bijzonder, ja.
Maar doen jullie daar iets mee, zeg maar, bij Shopify, zeg maar?
Dat is ook een soort van, ja, dat spanningveld van, ja,
hoe ver kun je gaan?
Je kunt, kijk, technisch gezien en misschien academisch zelf,
zou je kunnen zeggen, nou, ik wil alle data verzamelen,
want dan kan ik gewoon heel gaave modellen maken
en allerlei patroon herkennen.
Maar ja, hoe ver, ja, wat nog ethisch verantwoordt,
even heel populair gezegd.
Hebben jullie het daar wel eens over, of is dat...?
Nee, dat is zeker een ding.
Kijk, met name de GDPR, daar denk ik iedereen wel echt op scherp mee gezet.
Want toen was er opeens, ja, in een groot deel van de wereld
opeens een noodzaak om echt dingen te doen.
En mensen kunnen bijvoorbeeld apps op een store installeren.
Dus ja, die kunnen ook data vergaren.
En hoe ga je daar dan mee om?
Nou ja, wij hebben voor onszelf maatregelen genomen.
Als je bijvoorbeeld in ons data warehouse gaat over al die,
waar alle data in komt, omdat we natuurlijk tientallen van die charts hebben.
Ja, als je soms data wilt queryen of gedragen of patronen wilt zien
over all of Shopify, kan dat niet meer.
Dan moet dat in dat data warehouse.
En dan komt ook weer tooling om de hoek zitten.
Als ik dus een nieuwe tabel maak,
dan gaat dat met een zogenaamde active record migration
voor de mensen die reels hebben gedaan.
En dan hebben wij tooling die dus dan al automatisch dat detecteert met van,
hey, je maakt nu een nieuwe tabel aan met een migratie.
Wordt er automatisch iemand van het privacy team gepinkt.
En die hebben dan een apart repo waarin zij dan bijhouden met van,
welke tabellen zitten er in, welke applicaties
en welke van die colommen daarvan bevatten personal identifiable information.
En daarin hebben zij dan weer automatische regels met van,
nou, dit is een geboortedatum, dit is een telefoonnummer, dit is een dat.
Met van, dat wordt dan al gescrubd voordat het überhaupt de data warehouse in gaat.
Zodat ik dus niet, zeg maar, alle telefoonnummers van iedereen
die ooit een Shopify-order heeft geplaatst kan opstofzuigen.
En dan ook voor onze partners die die apps bouwen.
Nou, hebben we gezegd van, hey, we hebben nu een privacy webhook die jij moet verwerken.
Want voor dat jij je app op Shopify mag publiceren, is daar wel een overeenkomst.
En dan van, nou ja, wij stellen dus op die manier jou op de hoogte
dat iemand een verwijderverzoek heeft ingediend.
En zodra wij die webhook aan jou sturen, dan ben jij dus nu ook
GDPR technisch verantwoordelijk voor dat correct afhandelen.
Dus daar proberen we zeker wel ethisch mee om te gaan.
En vaak voor de dingen die wij testen, hebben we ook mensen hun individuele telefoonnummers helemaal niet nodig.
Want wij gaan niet de klanten van onze merchants benaderen.
Dat is eventueel aan de merchant zelf om daar contact mee te zoeken.
Maar ja, dan moet de klant ook wel op tijdens het afrekenen een vinkje hebben gezet met van
ik ga akkoord met dat ik benaderd word voor marketing technische doelwiden.
Nou, heeft de merchant, mag dat e-mailadres sowieso wel verzamelen,
omdat als er iets mis is met die order, moet de merchant wel contact moeten kunnen opnemen.
Maar ja, dan moet de merchant zelf natuurlijk ook wel daar verantwoord mee omgaan
en dat de vet uit hun CSW exportje de wens respecteren.
Als mensen hebben gezegd nee, ik wil geen marketing ontvangen.
Daar kunnen wij natuurlijk ook niet alles mee doen.
En u had het net over bijvoorbeeld shoppay, wat jullie ook hebben.
Daarbij slaan jullie creditcardgegevens op. Hoe gaan jullie daarmee te werken?
Is dat hetzelfde als bij de banken?
Hebben jullie daar een service voor of hoe werkt dat?
Wij hebben onze eigen PCI-compliant infrastructuur.
Want wij hebben niet alleen Shopify payments,
ons eigen betaalproduct voor merchants, maar heel veel andere creditcard gateways
waarin mensen hun creditcardgegevens invoeren op de checkout.
De verwerking daarvan gebeurt helemaal in onze PCI-infrastructuur
zodat de hoofd Shopify-app dus buiten PCI's koop blijft.
Want als je ooit met PCI-compliant-apps hebt gewerkt,
dan komt er een berg extra papierwerk bij kijken
met welke data je wanneer mag opslaan, wie mag de code wijzigen,
wie mag de code deployen, dat nog niet dezelfde personen zijn, etc.
En de main Shopify-app kan gewoon iedereen deployen
en die wordt continu ge-deployed.
Als je al die eisen van PCI er bovenop zou leggen,
dan zouden we lang niet zo snel kunnen shippen als dat we nu doen.
Maar ja, om terug te komen op de Shopee-vraag,
die creditcard-gegevens, als mensen hebben aangegeven,
ja, ik wil graag dat Shopee mijn creditcard onthoudt
om de volgende keer mijn betaal- en adresgegevens voorin te vullen,
dan kan dat op die manier, die slaan we daarin op.
En daar worden we ook jaarlijks op geaddit,
dat dat allemaal netjes volgens de regels van de betaalindustrie gaat.
Oké.
En hoe gaan jullie daarbij om met verschillen tussen Europa en Noord-Amerika?
Zijn die er?
Nee, want de PCI-council is eigenlijk gewoon een Visa-mastercard
en alle andere creditcard-bedrijven.
Dat is een industrie-consorcium.
En die zelf reguleert zich op die manier.
Dus wereldwijd is daar, in ieder geval voor dit specifieke stukje,
zit daar niet echt verschil in.
Een creditcard opslaan is gewoon een gevoelig gegeven
en dat is wereldwijd wel hetzelfde.
Als je kijkt naar bijvoorbeeld betaalverwerking met echt passen in een winkel,
dan zie je wel dat bijvoorbeeld Visa in Noord-Amerika en Visa in Europa
soms dan andere eisen opleggen aan de certificering van hardware.
Oké. Nou, we zijn best wel een eindje op weg.
En we willen nog een onderwerp aakaarten.
Dat ging over privacy en security.
Dat sluit wel een beetje aan over wat we over gehad hebben.
Security en privacy.
Ik ben aan het echoen.
Ik zie het al.
Je staat zeker niet op mute in Skype.
Ja, ik had Skype afgesloten.
Ik weet niet eens waarom er in Windows een pop-up schermpje kwam.
Je klonk een beetje als God in ieder geval.
Oh, dat ga ik weer aanzetten.
Maar het volgende onderwerp waar we aan wilden snijden
is eigenlijk security en privacy en software ontwikkeling.
Nou, dat heb je al een aantal dingetjes besproken, zeg maar,
hoe het bij Shopify er aan toe gaat.
Maar tegelijkertijd is in de actualiteit, zeg maar,
rondom corona, of niet covid-19,
zijn er in Nederland natuurlijk heel veel discussies geweest
rond een corona-app.
En vooral rondom of er een technische oplossing mogelijk is,
die kan helpen bij het beter in kaart brengen
waar corona zich verspreidt.
Als je dat zo zegt, denk je, dat is een nobel streven,
want wij als mensheid willen graag dat we overleven
en misschien kan techniek daarbij helpen.
Nou, mijn eigen gut feeling, los van...
Ik ben er altijd van, in principe kun je overal
een technische oplossing voor maken,
maar is het wel wenselijk?
Want er komen wat sociaal aspecten bij, privacy,
kan het technisch überhaupt?
Dus er is best wel wat mits en maren.
Wat ik bijzonder vond, is dat er eigenlijk
een soort van het idee ergens vandaan kwam,
in Nederland in ieder geval, in buitenland misschien ook,
dat er in een redelijk korte tijd
een app ontwikkeld kan worden.
Hebben jullie allemaal software ontwikkelingen gedaan?
Dat doen jullie ook nog.
En in mijn ogen snap je wel dat je niet in een paar weken tijd
even zo'n app kunt in elkaar draaien.
Ja, 4 mei of zo, geloof ik, zeiden ze,
dat het in de strijgers moet staan.
Ja, dat.
Ik krijg vooral heel erg het gevoel dat de beleidsmakers
die dit soort dingen moeten gaan aansturen,
zo heel snel, dat die niet bequam genoeg zijn
om bepaalde dingen te bepalen.
Bijvoorbeeld dat dat dan...
Nou, even een stapje terug nog.
Volgens mij Bernard en misschien jij ook, Bart.
Er is vaak een soort van, ja,
een heel stuk geschreven over waar je aan moet voldoen.
Er zijn best veel mensen, zeg maar, bij betrokken.
Dus, volgens mij Bits of Freedom.
En een hele zwik aan, ja, hoogleraren.
Gewoon echt allerlei species.
Die zijn echt wel geraadpleegd in dit verhaal.
Dus dat vond ik op zich positief.
Alleen toen daarna het proces was van,
hey, dan moeten allerlei bedrijven die komen dan met een soort van
een oplossing die open source aan moeten zijn.
En die mogen ze dan gaan presenteren.
En dat vond ik echt, ja, dat was gewoon
een soort van muppetje.
Ja, dat vond ik ook een heel raar proces.
Dat was echt raar.
Maar was het nou ook in Hackathon?
Zijn er ook echt al dingen gemaakt?
Of was het alleen maar een week lang pitchen?
Want dat heb ik niet helemaal goed meegekregen hier.
Volgens mij was het echt gewoon pitchen.
Nou, er zijn ook dingen gemaakt.
Want daar was dat lek uitgekomen.
Weet je wel, dat is een of andere,
een van die applicaties.
Ja, daar zaten allerlei e-mail adressen in.
Of een telefoonnummers volgens mij.
E-mail adressen.
Ja, ja.
Misschien weet jij er meer van, Bernard.
Nou ja, wat er is gebeurd, er is een inschrijving geweest.
Dat was een hele haastige.
Je moest voor dinsdagochtend
tien uur iets in hebben gevuld.
Daar hebben 600 partijen op gereageerd.
Toen is er binnen 24 uur een selectie gemaakt
van zeven partijen.
Uit die 600.
Ook heel snel.
Waarbij niet alles goed is door kunnen gelezen worden.
En er veel discussie was over die
zeven overblijfers.
Sommige mensen wilden dat niet.
Hele goede partijen zijn afgevallen.
En die zeven partijen mochten in het eerste weekend
meedoen aan de Appleton.
Waarin ze 48 uur hadden om iets te laten zien.
En daarbij keek heel
IT Nederland toe.
Wat ze aan het maken waren.
Naar de code en wat er op
zondagmiddag was.
En dat was droef.
Er zaten veel security legs
in de code.
Wat schrijf je in de eerste 48 uur
van je app?
Er was
een app die in de stijger stond.
Waarschijnlijk was er wel
bestaande code waar ze mee
verder konden. Daar kwam dat
lek ook uit. Het was gewoon e-mail adressen
uit een vorige appje van klanten.
Die hadden ze gewoon gekopieerd in het
in de Git gezet en dat kon iedereen lezen.
Dus dat was niet zo netjes.
In Git ook echt nog?
Ja, volgens mij wel. Iedereen kon die source ook bekijken.
En daar stonden e-mail adressen.
Ja, dat ging er inderdaad omdat er een soort database
meegecommit was naar de Git.
Nou, dat is al een heel
goede start.
Ja, maar goed.
Dat is allemaal heel gehaast gegaan.
Dat gaat dus ook niet iets worden.
Die documenten waar Saber het
net over had, die
zijn allemaal geschreven volgens mij met
in het achterhoofd van premissen van
er kan een technisch oplossing gemaakt
worden. Hoe maak je die?
En weet je, daarbij is de vraag
of de adaptatie wordt gehaald
of het überhaupt
gaat kunnen werken in een
land als Nederland. Die vraag
is daarbij overgeslagen.
Dat kan je doen. Maar die documenten
gingen ervan uit van we moeten iets
maken wat
Nederland wat aan heeft. Hoe
doe je dat technisch gezien?
En ik ben benieuwd naar Bart dat
jij daarvan hebt gelezen, want
Ik heb me vooral verdiept in die
Apple en Google
documentatie van dat framework
dat zij hebben voorgesteld.
Ik heb daarvan
met Nerds op tafel Slack
mijn
versie van de analyse opgedumpt.
Dat leek me
wel een goede
afweging tussen
wat die app moet doen en toch
een stukje privacy waarborgen.
Als ik het even uit mijn hoofd herhaal,
er wordt een unieke per device key
gegeneerd.
Daarvan wordt dan een
dagelijkse key
afgeleid. En van die
dagelijkse key wordt dan weer
een 15-minuten key
afgeleid.
Die dan ook een 15-minuten
wisselt.
En het idee is dat
die afgeleide
15-minuten key die wordt dan
over Bluetooth uitgestraald.
En op een gegeven moment
dan loop je met elkaar rond.
Jouw device slaat
dan die keys op. Die
15-minuten rollende keys die dan gezien zijn.
En als jij dan
als er op een gegeven moment
iemand dan zegt
van ja, ik ben nu ziek.
Dan worden die dagelijkse
keys van de afgelopen
vier tot zeven dagen
op een server gezet.
En daarvan
kunnen vervolgens dan andere devices
die kunnen dan met die dagelijkse
keys, kunnen zij dezelfde stap herhalen
om tot dezelfde 15-minuten
keys te komen.
Want jouw device weet van oh, ik zag op
tijds moment 120
zag ik een key. Oh, en ik heb nu
een zwiknieuwe dagelijkse keys gekregen.
Nou, dan doe ik
dagelijkse key van een zieke persoon door het
zelfde algoritme heen plus tijds moment 120.
Is dat
dan dezelfde key die ik toen ook heb gezien
over Bluetooth?
Zo ja, dan ben ik dus in Bluetooth
contact geweest met iemand die ziek is geweest.
Zo niet.
Ga dan maar verder. En op die manier
is er dus geen centrale server in het spel.
Gebeurt er matching dus lokaal
en omdat er dus die
2-staps raket is met
dagelijkse keys en 15 minuten
rollende keys.
Op die manier dan de privacy
waarborgen dat jij dus niet
te trekken, dat je dus niet zo snel
te trekken bent
door bijvoorbeeld je buurman met van oh,
wie is dat nou?
Maar dat het dan ook uiteindelijk
maximaal terug te herleiden is tot
dagen en nooit jouw unieke
device key, want die verlaat nooit
de geheimde, de secure chip
waar jouw Apple of Google Pay ook in
zouden staan. Ja, precies, ja.
Als je ooit het Google
Authenticator algoritme hebt
bestudeerd, TOTP,
daar deed het me een beetje aan denken
met die, met name
die dagelijkse key tot
15 minuten key, want
Google Authenticator genereert met
tijdsblokjes van 30 seconden ook steeds
nieuwe keys van een shared secret.
Ja.
Ja, ja, klopt. Ja, cool.
Ja, dat, wat opviel
zeg maar, bij het initiatief dat in
Nederland gedaan werd, dat er nog geen
Apple en Google, zeg maar, het initiatief van
Apple en Google niet benoemd is
tot nu toe, volgens mij nog niet.
Ja, bij die
zweefpartijen was er geloof ik een die
daarmee wilde gaan werken,
maar die oplossing is er nog niet, dus
dat gaat sowieso niet snel kunnen.
Nee, ik vraag me sowieso
wat. Kijk, het begin, want dat is
volgens mij die
pep-pt, zeg maar, dat is
die Pan-European
Privacy Persistence
Proximity Tracing,
heel mooi,
maar daar gaan ze ook gewoon van uit, van Bluetooth,
terwijl juist dat
Bluetooth-verhaal, daar heb ik ook al een beetje
naar het hoofd in, want ja, hoe
betrouwbaar is het?
Want ja,
stelden ze het,
scant iemand je buurman, zeg maar, als die zeg maar aan de andere kant
van de muur zit,
of scant die app je buurman,
ja, hoe kun je dat
uitfilteren? Dat vind ik ook nog wel een ding.
En ook wie heeft constant zijn Bluetooth
aanstaan, vraag ik me ook een beetje af.
Ja, best veel mensen
volgens mij wel.
Je weet nu zelf hoe goed Bluetooth
is als je dat aan hebt, een
Bluetooth-speaker.
Bij iOS kan het niet
voortdurend aanstaan op de achtergrond nog, maar dat
zou Apple
en Google wel zo
gaan regelen,
denk ik.
Ja, nee, dat gaat Apple... Kijk, Apple kan dat natuurlijk wel
doen. Je hebt volgens mij die low-energy
Bluetooth, zeg maar,
want dat is natuurlijk altijd de ding
van als je meeltijd echt de volledige
stack, zeg maar, aan hebt staan,
die batterij is gewoon redelijk snel leeg.
Dat moet je niet willen. Low-energy
ook, dat zijn die eye beacons
waar Microsoft of Apple
heel tijd terug mee kwam.
Die zijn daarop gebaseerd en die
broadcasten ook de hele tijd gewoon
een token. En op die
manier kun je ook dan, als je er drie hebt, dan kun
je, zeg maar, hoe heet dat,
zo, drie groepen.
Precies dat woord
zag ik. Ik wilde het in
het Nederlands en het Engels uit, maar dat ging niet.
En dan kun je redelijk vast
goed, en dan kun je bepalen waar iemand is.
Binnen een gebouw
bijvoorbeeld, dat was de theorie, maar daar hoor je ook
niet heel veel meer van. En
toevallig, ja,
een artikel bij Tweaker, zeg maar, dat de uitvinder
van Bluetooth, ja, dat wil niet zeggen dat hij dan
de hele waarheid in pacht heeft, maar ik denk
dat hij wel iets ergens verstand
heeft van Bluetooth. Die zegt ook van ja,
dat hele
Bluetooth is gewoon niet naukeur
genoeg om te gebruiken überhaupt in een
Corona app. En dan kan
tenzij er andere
technologie naast Bluetooth gebruikt
worden. Maar opzich, je hoeft toch ook niet
helemaal precies de pinpointer
waar iemand precies is geweest,
zolang je maar die proximity kan
hebben. Ja, maar die is ook
al niet naukeurig.
Dat is het hele ding ook volgens mij.
En plus, ja,
stel dat er tien personen
tussen staan, ja, dan
dat signaal neemt af, zeg maar.
Dus dan denkt hij, als er niks
tussen staat in bijvoorbeeld de line of sight,
er zit niks tussen, dan meet je
Bluetooth proximity anders
dan dat er, zeg maar, vier, vijf personen
tussen staan. Als jij
en Johnny staat ertussen, dan krijg
ik het virus ook niet, maar dan maak je Johnny
zien. Nee, ja, dat is waar.
Dat het Bluetooth signaal dan ook niet door Johnny op
mijn telefoon heen komt is ook wel goed dan, toch?
Ja, dat is waar.
Ik denk wel dat je moet afvragen
tot op welke hoogte je die
naukeurigheid moet hebben
of wilt hebben, of dat het gewoon meer gaat
om een general van
moet we nou letterlijk elke case
coveren of willen we gewoon
een veel beter beeld krijgen
van wat de situatie is. En ik denk dat
dit concept
klinkt daar wel heel interessant voor.
Ook al krijg je misschien niet dat perfecte
naukeurigheid. Overheid ook
een beetje pitcht. Zij willen eigenlijk
met de app het werk van de GGD doen.
Dus de GGD doet normaal gesproken
het in kaart brengen van
het ziektebeeld. Met wie ben jij in aanraking
geweest? Wat is de mogelijke
bron van jouw besmetting?
En dat willen ze met deze app bereiken.
Dat is eigenlijk het enige wat ik heb gehoord
waarvoor ze die app willen. Maar
ik heb die voorstellen niet gelezen
en ook niet van de zeven bedrijven die uiteindelijk over zijn
gebleven. Maar ik heb het idee dat die
veel meer al willen doen
dan alleen dat.
Als je het echt alleen terugbrengt
naar deze basis,
of bluetooth daar dan een geschikte
medium voor is, daar kun je zeker
over discussiëren. Maar
de basis van het kunnen traceren
van mensen die
mogelijker wijs in aanraking zijn geweest
met iemand die ziek is,
dat lijkt me op zich een nobel streven.
En ik denk dat dat ook best in een korte tijdspan
aanhaalbaar is, mits bluetooth
daar dan een geschikt medium
voor bevonden wordt.
Ik vraag me ook af
als je die discussie hebt gewoon van
is bluetooth een geschikt medium
vooral omdat het misschien niet zo
super reliable is. Als je er van
uit gaat dat nu de GGD
dat allemaal handmatig doet
en gewoon letterlijk naar mensen toe gaat
en ze gaat interviewen om te vragen waar ze allemaal
zijn geweest. Dus het doel
moet natuurlijk ook gewoon zijn van
het is een
hele grote verbetering en het is
allemaal geautomatiseerd.
En dat je dan niet alles mee pakt,
nou dat betekent niet dat je niet alsnog
duizend procent nauwkeuriger
bent dan en
effectiever bent dan dat iemand gewoon
persoonlijk mensen gaat interviewen
bijvoorbeeld. Ja hoe
nauwkeurig is dat ook? Het normale
onderzoek van de GGD, hoe nauwkeurig kunnen we dat
al bestempelen? Want ja, iemand die weet niet
meer waar die precies is geweest.
Nee, de éénste. Kijk, dus dat is natuurlijk
dat heb je, stel dat we
privacy helemaal vergeten zeg maar. Dus dat
ja, los van hoe private kun je het maken
en wat is wensen.
Dan is het precies wat jij zegt hoor.
Ja, hoe het nu gebeurt
is dan ga je gewoon, je krijgt gewoon een interview van
waar ben je geweest en wie heb je gesproken
en dan ga je heit.
Want dat is natuurlijk ook gebeurd toen het hier
in Brabant uitbrak met Carnaval. Ja, wie heb je
gesproken? Ja, leuk.
Ga met Carnaval uitzoeken wie je allemaal gezien hebt.
Ja, dat
gaat gewoon niet goed. Dat is gewoon nauwkeurig.
En zo'n app zou dan
met Bluetooth en misschien zelfs ook
wat jij zegt Pauline, als het niet zo nauwkeurig
is, al veel beter dan wat mensen zelf
kunnen vasthillen. Zeker als je
bij feestjes bent geweest.
Hoe kun jij überhaupt weten
wie je allemaal gezien hebt? Het ene of het
andere denk ik ook niet uit te sluiten, toch?
Ik bedoel,
zo'n contactapp,
ik weet, wat is trouwens de
nauwkeurigheid? Zou het te veel
mensen registreren of te weinig mensen
registreren?
Dat is een hele
goede. Te weinig lijkt me. Ik denk dat het
veel gevaarlijker is. Nou ja, het gevaarlijker
is te veel. Maar ik denk dat het
te weinig zou. Want
als je dat signaal, als je die
proximity hebt, dan ben je sowieso al
in de buurt. Je gaat niet die
proximity vastleggen
als je niet in de buurt bent. Het enige wat je
kan hebben is dat je gewoon mensen mist.
Ja, maar
even, nou ga ik even
totaal, want ik ben niet een Bluetooth
goer, maar het gebeurt wel.
Ik stel dat ik aan deze kant van, in mijn huis,
hier zit, aan deze kant van
die pik ik gewoon op. Dat gebeurt
gewoon. Dus dat
sommige Bluetooth device zijn gewoon sterker, die
zenden sterker zijn signaal uit dan de andere.
En dat kan
misschien ook met telefoon zo zijn. Dat weet ik
niet eens. Misschien is een telefoon sowieso
een beperkt signaal en misschien de hele discussie
slaat er nergens op.
dat is ook een van de dingen die die Bluetooth
uitvindragen is van ja,
met de huidige specs
en implementaties, is het
niet nauwkeurig genoeg, zeg maar. Je kunt met
obstakels en zendkracht
van een device en een aantal andere
variabelen, is dat zeg maar nu
nog niet te bepalen hoe
ver iets of iemand met
een Bluetooth device is. Daar zijn ze wel mee
bezig. Daar komt wel een spec, zeg maar,
binnen Bluetooth waardoor ze wel
op een meten nauwkeurig kunnen bepalen
hoe dichtbij een ander
device is. Maar op dit moment niet. Dus
dat is even technisch, maar precies wat jullie
zeggen. Misschien is het goed genoeg,
voor jou. Ja, wat ik een beetje mis
in deze discussie is van
het wordt een beetje
tenminste, dat krijg ik mee
op afstand correct me if I'm wrong
is met van deze app moet
of de hele tracing
problematiek in een keer oplossen
of helemaal niet.
En waar ik een beetje dan denk
van, maar wat is
de middenweg?
Ik weet bijvoorbeeld hier, toen het net
begon uit te breken, hebben er een aantal mensen hier
de metro genomen. En de metro hier
in Montreal is een van de
de drukste openbare vervoersystemen
in Noord-Amerika.
Dus het was meteen van, als jij
op die lijn, op dat
tijdstip, van die tijdstip
in de metro hebt gezeten, neem dan alsjeblieft
contact op, want er was een zieke persoon.
Maar ja, weet je,
mensen checken dat misschien niet
of die weten in exacte
tijden niet meer dat ze er waren. En dan denk
ik wel van, nou dan zou misschien een geautomatiseerde
oplossing een
het handmatige werk
met dat onderzoek.
Om misschien nog net even een paar extra cases
te pakken die anders misschien
onder de radar
door zouden vliegen. En dan heb je misschien
net, net zoals die
31ste patiënt in Korea was
geloof ik. Nou ja, als je dan misschien
net die 31ste patiënt dan
toch wel te pakken kan krijgen, en
dat die dus niet een compleet nieuwe cluster aan
besmettingen veroorzaakt,
is het misschien toch nog effectief, ondanks
de technologische beperkingen.
Dan heb je het alleen nog over de maatschappelijke
wensbaarheid van het geel.
Maar met dat met dat metroverhaal heb je
precies hetzelfde probleem als we net
zeiden van die, van
dat je misschien iemand die aan de andere kant
van de straat loopt oppikt ofzo, met
het metrobericht, als je zegt van ja
was je op die lijn
om die tijd, ja misschien zat ik wel
een heel andere wagon weet je wel, er zitten
honderden mensen op één metro
en daar heb je het
ook niet.
Dus ik denk ook niet dat het
het hoeft niet slechter
te zijn dan wat je nu hebt. Het is
heel makkelijk beter te doen zeg maar met
de technische middelen. Dus dat is wel zo.
Ook al is het niet meteen perfect.
Klopt ja, alleen wat er dan tegelijk meteen
in en dat vind ik
daarom ik ben geen, ik heb al een mening
over privacy en een mening over technologie
bla bla bla, maar ik weet niet genoeg
dat we vanuit de privacy hoek
zoals mensen, nou noem even bits of freedom
of andere die ze zeggen
ja nee, maar dit kan niet privacy, eng, eng, eng
aan de andere kant, je moet echt een afweging, je
kunt niet, er is geen samenleving
die perfect
alles, dat je perfect
houdt aan privacy en dat is ook niet de eentje waar
alles openbaar is, dat is het niet.
Dus er zit altijd ergens in de midden een balans
en dat is bij dit ook zeg maar.
Dus ja, misschien
is dat ook wat jij bedoelde Bart, van ja
je hoeft niet de hele app in een keer af te schieten
of het ontwerp
maar wat zijn hun concerns
precies met dit voorstel dan, want
wat ik van Bart uitleggen
net heb begrepen met
weet je, die
identifiers worden gegeneerd
zonder server, dat wordt gewoon lokaal
gedaan, het wordt via bluetooth
wordt die proximity vastgelegd, de rest
wordt gewoon niet gepersist, nergens
weet je wel, dan vraag ik me toch af van
wat zijn dan precies de privacy concerns
van zo'n voorstel?
Dit is zeg maar de Google
Apple initiatief
volgens mij van die PEP, PT
heb je de mogelijkheid om een centrale database
te hebben en een decentrale database
je wilt het liefst
een decentrale database, maar blijkbaar gaat
het dataverkeer omhoog, want je moet meer data uitwisselen
en
kijk
de discussie is
redelijk complex, want een aantal
mensen hebben een wantrouwen richting de overheid
dat noemen we
team Snowden
ja, wacht even, ze gaan veel meer opslagen
en ze gaan er dingen mee doen
die de functie
gaat veranderen. Fair enough, dat snap ik
maar in dit geval is dat niet
eens mogelijk toch, als je het op deze manier aanvalt?
Als ik, Bart,
dus met de Google Apple
implementatie, ja dan is dat, denk ik,
niet mogelijk, want die werkt tegen centraal.
Je hebt daar natuurlijk wel
de keys van mensen die
besmet zijn, die worden verspreid van
uit de centraal punt. Die keys
kan je opvangen en
noteren en vergelijken met welke keys
je vrienden hebben gekregen.
En op die manier kan je misschien bedenken
wie dan diegene persoon was die
besmet is geweest.
Stel je was op een feest ofzo?
Ja, ja, precies.
Dus er zijn allerlei scenarios te bedenken. Je kan
met een hele meute door de stad gaan
en kijken welke besmette keys
drie dagen later krijgt en dan terug gaan
beredeneren wie er dan
ziek was. Ja, dat wil je misschien niet.
Maar weten gebruikers überhaupt hun
eigen keys van een bepaald moment?
Want volgens mij
is dat toch niet? Volgens mij is het zo.
Je krijgt wel keys van besmettingen
door. Ja, maar niet je eigen
keys. Dus die kun je niet vergelijken met die van
je vrienden bijvoorbeeld. Die krijgen
diezelfde keys door natuurlijk.
Dezelfde mensen zijn besmet. Ja, oké.
Maar die API is... Ja, goed.
En gaat jouw appje af, dan heb je hem gezien.
En gaat het appje van je vriend af,
heeft ook gezien. Ja, oké.
Dus dan kan je terug gaan delineeren.
En dan is er één persoon op het feestje die
niet die key heeft binnengekregen of iets
dagelijks. Ja, oké.
Je kan...
Goed, dat is...
Ik weet niet hoe erg dat is, want als
je helemaal niet op privacy
let, ja, dan kan je gewoon alle
mobile provider data gaan
gebruiken. Dan hebben die bloed dat helemaal niet nodig.
Want die data is er ook.
Maar daar wordt angstvallig van weggebleven.
En ja, dat snap ik wel. Maar die data
is er.
En überhaupt,
het is volgens mij
allemaal opt-in ook nog.
Dus op het moment dat jij
besluit om mee te gaan doen
met dat programma, ja, dan heb ik
ook wel zoiets van ja, dan moet je ook wel bereid
zijn om even te gaan kijken van welk stukje
privacy geef ik dan op?
En heb ik daar dan zin in?
En ja, dan kun je die afweging
zelf maken. Het is natuurlijk ook niet zo dat als dit
uitgerold wordt dat ineens iedereen in Nederland
zijn bluetooth keys worden
gescand en opgeslagen.
Dus ik vind het een lastige discussie,
zeker vanuit
alle hoeken.
Persoonlijk heb ik wel zoiets van als ik voor zo'n werk
dit design heb bestudeerd en eroverna
heb gedacht, denk ik wel van nou, dit lijkt
in ieder geval een oprechte effort te zijn
gemaakt om niet de
eindeloos data te gaan graaien.
En dan als je dan dit
afzet bijvoorbeeld met het
data graaien van wat bijvoorbeeld een Facebook
doet en waar mensen dan ook vrijwillig
nog eens een keer allerlei apps aankoppelen
voor Candy Crush, Cambridge Analytica
en god mal weten wat, dan denk
ik wel met van nou,
daar hebben mensen kennelijk geen probleem
mee, maar waar dan zeg
maar hier een afweging geprobeerd
te maken tussen privacy en
nut voor de samenleving
liggen mensen dan
weer, ja,
op een achterste benenval.
Komt echt door de overheid,
door dat
wantrouwen in de overheid. Maar
inderdaad, het is eigenlijk heel krom als je
bedenkt dat zo'n Candy Crush
die zit daarachter, die
zijn echt niet meer betrouwbaar.
Maar goed, dan gaan
we ook weer de kant op
van hoeveel
hoe ziek veel QAnon
berichten en zo, er worden gedeeld
in conspiracy theories en zo,
dat ik echt denk van jezus,
het wordt zo mainstream
dat wantrouwen en
tot zo'n belachelijk niveau
ook getrilled, dat ik echt denk van
Kijk, wat jullie
ook zeggen volgens mij, de overheid hoe ze het nu doen,
dat heeft niet geholpen. Dus er ontstaat
juist wantrouwen
door de aanpak die ze nu hebben
genomen. Dat is best wel lastig, want
ze zeggen ook van ja, we willen eigenlijk kijken of
wat is het, 60 procent of zo?
60, ja.
Dat gaat zo nooit meer lukken.
Ook al was het gelukt, wat ik niet denk.
Het gaat echt niet meer. Nu nog
60 procent van de Nederlanders.
Dus niet eens van mensen met een mobieltje.
Die gaan het echt nooit meer aanzetten.
Dat is een beetje het lastige.
Dus in die zin, het is los van
technisch en privacy-technisch.
Ik denk ook, even mijn gut feeling
nogmaals, het is niet heel erg goed onderbouwd,
ik denk van oké, dit valt wel mee.
En ik denk zeker dat Apple en Google
van hierin zeggen van ja, maar Google alles graaien
en Apple denkt van ja, luister,
het is heel makkelijk
te herleiden, waar het al vandaan komt
en waar het fout gaat.
Dit hebben ze niet geheim ergens ontwikkeld
en alle andere APIs die ze op de achtergrond
hebben die gebruikt worden.
En heten maar van yes, dat elke security
researcher hier
met een vergrootglas overheen gaat
zodra het uitkomt.
Dus in die zin, we zijn nu
zeker met z'n allebei, terwijl juist met Facebook
allerlei dingen gebeuren
en zeker ook de privacy
deskundigen
hebben zeker vragen
en zijn heel
niet positief over Facebook, dat is zeker zo.
Maar de grootste groep mensen is die van ja,
I don't care.
Ja, dat bericht wat ik net deelde
van dat er nu juist een feature
is om het transparanter te maken
en dat mensen nu in een keer gaan stijgen.
Van oh, ze checken alles.
Ja, dit wisten we al.
Maar jullie vonden het niet erg.
Dus dat is
in één kant best wel jammer dat het
komen veroorzaken
dat die app, zeg maar, nooit
van de grond af komt.
Concluderen we dan dus eigenlijk dat het gewoon
nooit goed kan gaan nu, meer?
Ik denk niet dat het... Nee.
Ik denk dat als het
als hetgene wat Apple en Google nu maken
als dat goed klaar is, dan zijn we klaar
voor de volgende pandemie.
Ja, hoezo?
Ja, dat kan geen kwaad.
Dat is wel waar, ja.
Dat is waar.
Ik vroeg hem ook af hoeveel spin heeft het nu nog?
Dat ben ik wel benieuwd hoe jullie
erover denken, want stap 1 van Apple
en Google is een framework in het OS aanbieden.
En dan zeker met Apple
om de standaardbeperkingen
van energiebesparing in iOS
heen te werken. En een toegang tot
bepaalde diepere dingen van Bluetooth.
Maar stap 2 was
dat ze echt de app
functionaliteit bovenop dat framework
ook meeleveren in het OS.
Nu zou bijvoorbeeld een van de
Appathon ontwikkelaars, dus dan op dat
framework kunnen bouwen en dan
dagelijks alle key,
tracing key uitwisselingen dan nog in
Nederlands beheer kunnen houden. Maar zodalig
zou dat dan allemaal via Apple of
Google kunnen gaan lopen, moeten gaan lopen.
Ik weet niet precies wat hun plan daar is.
Maar dan zou ik nog eigenlijk
liever nog een Appathon ronde 2 hebben,
dat het dan in ieder geval in nog een
lokaler beheer wordt gehouden
dan dat je wederom weer dat stukje
nog naar een Amerikaans techbedrijf
toe hoeft plaats te hebben.
Dat had ik nog niet eens over nagedacht.
Misschien hadden we dit gewoon al moeten
doen voor dit hele gebeuren,
want ze wisten best wel dat er ooit een
pandemie aan ging komen en dan gaan ze nu...
Ze zijn gewoon te laat.
Ze zijn er gewoon te laat mee.
Maar waarom zou je dit in elk land doen?
En niet gewoon in Europa?
Ja, dat snap ik ook niet
helemaal, maar zijn ook al die partijen
die hebben gepitcht, moeten die
per se van Nederlandse bodem zijn?
Dat snap ik ook niet helemaal.
Dat niet per se volgens mij.
Dat voelt wel goed voor de gekkies.
Ja, maar goed,
bij Duitsland hebben we een initiatie
waarschijnlijk België.
Dus er zijn een aantal initiatieven in Europa
en die zijn allemaal op landniveau
en niet per se Europees.
Ja, terwijl dat slaat nergens op
als je het hebt over een pandemie.
Nee, oké, maar die PEP, die PEP-PT,
die is echt wel Europees.
Dat initiatief alleen,
ik heb nog niet overal gehoord
dat wij in Nederland deze
implementatie of ontwerp
dat we die overnemen.
Dat zou best wel kunnen.
Ik denk wel dat het juist logisch is
vanuit een pandemie.
Want iedereen is bang.
En Lizardbrain zegt dit is eng en dan heb ik liever mijn stan
dan die vreemde Duitser of
die rare Amerikaan.
Maar wat ik wel gewoon heel erg apart vind
is dat we gewoon met z'n allen al wisten
al gaat het om influenza
het komt er een keer aan
en al die overheden
wisten dat al lang
en vervolgens gaan ze nu
pas denken over een manier
om dat efficiënter in kaart te brengen
als het gebeurt.
Tegen de tijd dat er echt iets
nuttigs is gebouwd, hebben we dat
vastzijn waarschijnlijk al want dan zijn we een jaar verder.
Dat heb je niet in mij
in de steiger staan.
Het moet gebouwd worden, het moet getest worden
Als je blij bent
augustus als je
een versie hebt
dan is het dan nog nodig of niet
dat is gewoon
niet realistisch, ze hadden het ervan tevoren moeten doen
alleen ik geloof er niks van
dat ze dan in Europa de hand op elkaar
kregen want niemand
geloofde dat dit zo naar ons kon komen
in het begin
toen we nog hoorden, wat was het, in december, begin januari
dat het in China was, werd er gewoon hier in Europa
heel luchtig over gedaan
ver van ons bedjo, daar gaat
echt niks gebeuren
dat komt denk ik ook door
SARS die tijd
en MERS volgens mij
dat er hier ook
vragen werden gesteld
bij mijn huisarts werden er vragen gesteld
ben je in de afgelopen twee weken in contact geweest met
dromedaris?
waar slaat dit nou voor op?
nu snap ik het
het zijn gekke tijden
een vriendin van mij
die was in februari in Singapore op vakantie
en daar was het al inderdaad
van overal checkpoints
met hittemetingen
en als je er iets te warm uit zag
dan was het meteen
waar ben je geweest, met wie ben je in contact geweest, dit en dat
en overal
die hebben de les al geleerd
inderdaad met een SARS en een MERS
die hittemetingen, die vond ik zo slim
want het is zo'n kost-efficiënte
manier om iedereen een soort van bazaal
te screenen
ik vond het zo'n
geniaal idee
volgens mij
wordt het op Schiphol nog steeds niet gedaan
iedereen kan gewoon binnenkomen
ben je in contact geweest, nee
heb je een hoesje, nee, oké
het was ook mensen die uit Amerika terugkwamen
die moesten beloven dat ze dan
twee weken lang thuis
zouden blijven
dat is echt wel goed, dat is weer Nederland
kom op, laten we dat niet naïef doen
gewoon opsluiten, ik wil niet
dat mensen opgesloten worden, maar
zorg dat ze dan in quarantaine komen
20 tellen die hitte laser erop
dan heb je toch
je hebt mooie blauwe ogen
daar wil ik je best op geloven, maar
toch even mee tevrienden
dat zou je ook zeggen, ja
dat vond ik ook zo vreemd
nu had Rutte
natuurlijk heel erg gepraise
ik snap echt een aantal dingen
ik ben geen Rutte fan ofzo
een aantal dingen snap ik echt wel
ik vind nog steeds dat wij
2-3 weken te laat hebben geacteerd
maar dat is mijn mening
en deze hele IT
shitfest, je ziet het gewoon aankomen
als je de gemiddelde software ontwikkelaar
vraagt dan weet je gewoon, ja
dit gaat gewoon mis
ook met die e-mail adres of telefoonnummers
die in die github staan
iedereen zal zeggen, wat een sukkel is die ontwikkelaar
maar die staat natuurlijk onder zware druk
je moet dat ding morgen neerzetten
dan ben je up, git push klaar
en oh shit
telefoon of weet ik veel hoeveel duizend man
nee maar sorry
nee sorry, ik ga
geen slack geven voor dat man
nee maar ik wilde het zeggen, je moet gewoon
je mag echt
klantgegevens
in je persoonlijke ontwikkeloomgeving
is vraag om het probleem
dat is het zeker
alleen hij heeft het
in een bepaalde context
is het gebeurd
het is misschien overmoedig geweest
weet ik veel
hij wordt nu helemaal
het is een eikel
zeker heeft hij een fout gemaakt
maar ik zou nu zeker niet in zijn schoenen willen staan
ik denk niet dat dat helemaal
maar ook al het feit dat
je zegt het was nog van een oude app
dus een deel van een andere app
dat betekent dus dat
hij je daar ook al een keer had meegecommit
zonder al die druk
dus dat is gewoon gelul
Wouter Dijks, Kishen Simbhoedatpanday, Pauline Vos, Wouter Dijks, Bernard Kroes, Johnny Dongelmans.
Wouter Dijks, Kishen Simbhoedatpanday.
Ja, te beginnen met de Lead Dev, want dat is echt een van mijn favoriete conferenties.
Sowieso is het gewoon echt een hele goede conferentie die je focust op lead devs.
Maar er is heel veel over hoe je een bepaald team opbouwt.
Maar ze hebben ook wat meer technische dingen.
Het is in ieder geval echt heel goede kwaliteit.
Het is een single track conferentie.
De talks zijn supergoede kwaliteit.
Die is al wel geweest, maar je kunt alles nog nakijken.
Dus die hebben we sowieso.
Was die betaald of niet?
Want er zijn een aantal...
Sommigen zijn het alsnog betaald, maar dan veel goedkoper.
Ja, nee, deze was gratis.
Normaal is die vrij prijzig.
Maar nu was het gratis.
Verder hebben we Go Remote Fest.
Die ken ik zelf niet, maar een vriend van een collega van mij die organiseert die.
Dat is een Go Lang festival conferentie.
Die is ook gratis.
Binnenkort heb je Dutch PHP, die normaal altijd in juni in de rij is.
Dat is nu omgevormd tot een gratis single track ding.
Ga je spreken?
Nee, ik ga niet spreken, maar er zijn wel een paar bekende Nederlandse PHP gezichten.
Ik geloof dat er in totaal is van vijf of zes sprekers zijn.
Daar heb je nog een PHP-conferentie.
Dat is PHP Russia.
Die wordt ook gratis en online.
En Nicolas Grecos van Symphony.
Dat is een van de main gasten van Symphony.
Die spreek daar onder andere.
Verder, ik raad hem maar door als er iemand iets heeft.
Oké.
Lerken EU's ga je gratis hebben.
EuroPython heb je ook.
Even kijken.
Er is er dus eentje die ik heb doorgekregen waar wel een entry fee voor is om de productiekosten te coveren.
Nou weet ik niet of je dan alsnog sponsors erbij hebt.
Maar ik neem aan dat die 30 euro echt gewoon voor de productie is.
En dat die sponsors dan komen tegevallen.
En dat is React Finland.
Maar dat runnt niet als een een-daagse conferentie.
Maar als een soort van web-serie.
Oké.
Ja, cool.
Want volgens mij was een week geleden was React Amsterdam.
Was ook.
Dat ben ik twee keer eerder geweest.
Ik ben toen afgehakt want de eerste keer vond ik echt goed.
De tweede keer was wat minder.
Maar goed, dat is maar wat mij aanspreekt.
Maar de line-up vond ik wat minder.
Heel positief.
Er komen echt superveel mensen op af.
De eerste keer dat ik er kwam dacht ik van wow, hoe kun je zo veel React developers bij elkaar komen?
Maar best wel heel veel internationale mensen komen er op af.
En die is al geweest.
En die kun je volgens mij weer terugkijken.
React Amsterdam.
Dus dat is best wel.
Maar het is ook weer zo'n lightweight.
Dus er zijn, weet ik, normaal gesproken 20 sprekers ofzo.
Zoiets.
En dan, ja, de nieuwwaardheid is een stuk minder.
Dus dat is dan wel weer.
Ja, ik vind het ook een beetje meh eigenlijk hoor.
Die online conferenties tenminste.
Op de manier waarop het nu vaak wordt voor.
Het is natuurlijk allemaal in prompt toe.
Ja, klopt.
Maar toch, ik vind het hele single track en dan vijf talks verhaal,
vind ik een beetje.
Ik vind het eigenlijk nog meer.
Ja, als je zelf een beetje in het conferentie circuit zit,
dan wordt het al heel snel.
Vooral een pvp-wereld.
Ik weet niet of dat met andere conferenties ook zo is hoor.
Maar heel erg buddy-buddy en een klein groepje sprekers die elkaar heel erg kent.
En dan is het nog meer van, oh, we hebben vijf sprekers nodig voor de online versie.
En uiteindelijk zijn het vaak degenen die gewoon het graagste hun eigen stemmen horen.
Maar hoe zit het bij Ruby?
Hebben jullie nog conferenties die jullie kennen die gratis zijn of niet gratis, maar virtueel?
RailsConf komt eraan, mei vijf.
En die zou in Portland zijn, Oregon.
Maar dat is natuurlijk ook afgezegd en die hebben nu een deel van hun sprekers
die de presentaties op laten nemen.
En die worden live gezet op 5 mei.
Dat is RailsConf, ja.
U begon eerst met mei vijf en daardoor vroeg ik me eigenlijk meteen af hoe lang je al in Canada zit.
Zo, ja.
Oeps, betrapt.
Op mei vijf.
Op mei vijf, ja.
Scherp.
En ja, ik wilde, lead dev wil ik ook graag onderstrepen.
Ik ben vorig jaar nog naar de versie in Austin geweest.
En ik ben zelf namelijk, nou, ik ben nu al een tijdje een senior developer
en ik ben nu in, ja, management een beetje mijn grote teen aan het steken.
Ik heb nu twee direct reports en we hebben het al over een derde persoon aan gaan nemen op mijn team.
Dus ja, weet je, zoals de saying goes, van een senior developer naar een junior manager.
Zeker wel even wennen af en toe.
En nou, de lead dev vond ik daarom heel interessant.
En ik zou ook dan daar een paar boekjes aan vast willen plakken
die ik tot nu toe vrij nuttig vond.
De eerste is The Manager's Path van Camille Fournier.
Dus eigenlijk een vrij gloopbalen over, ja, Johnny heeft hem daar al inderdaad vast,
want ik heb hem hem ook aangeraden.
Oh, dan zet jij hem maar in de show notes, want dan ga ik hem niet in Google.
Ik denk dat dat sowieso is voor iedereen waar je ook bent op je carrièrepad,
ook al ben je, zeg maar, net begonnen als developer,
dat dat er gewoon een goede is, want dat geeft je een veel beter beeld van
wat je baas nou doet en je baasbaas en de baas van je baas van je baas.
En dan snap je een beetje beter waar alle onderdeeltjes in de organisatie
je nou een beetje mee bezig zijn.
Ook zou ik graag willen aanraden Resilient Management van Lara Hogan.
En nou is Lara Hogan ook een van de organisators van de LeadDev.
Dus mocht je nog eens een keer naar de LeadDev conferentie zelf gaan,
heb je goede kans dat je een handtekening van haar kan krijgen in je boek.
Resilient Management van Lara Hogan.
En dat is zeker, moet ik zeggen, dat beetje beginnende onderwerpen
zoals nou omgaan met verschillende persoonlijkheden.
Wat is jouw stijl van leiderschap?
Dat soort dingen vond ik een goede primer.
En waar het eigenlijk nu een beetje up next voor mij is,
maar die ook heel erg hoog werd aangeraden was
An Elegant Puzzle, Systems of Engineering Management door Will Larsen.
En Will Larsen, dat is iemand die bij Stripe, als ik het goed heb,
ja, bij Stripe heeft gewerkt en het boek is ook uitgegeven door Stripe Press.
En die heeft al aardig wat jarenervaring.
En dit is ook een veel dikker boek.
Maar dan heb ik gezegd, daar ben ik net in begonnen.
Dus hij werd goed aangeraden, maar ik heb mezelf nog niet uit.
Dus ik kan nog niet helemaal zelf zeggen wat ik ervan vind.
Goede tips, goede tips.
Ja, zeker.
Ja, ik kan inderdaad die, ja, ik liet hem dus net al zien.
Dat heeft niet zoveel nut in een podcast,
maar inderdaad de Manager's Path was echt een enorme eye-opener.
Dat is een enorm leuk boek om doorheen te bladeren.
En ook om, als je hem gelezen hebt en ja,
om je manager misschien soms een beetje uit te dagen.
Dus dat je gewoon iets kan zeggen van hey, manager, ik heb dit boek gelezen.
Daar worden een aantal dingen ingegeven.
Dat lijkt mij wel wat.
Kunnen we daar misschien samen wat over gaan gaan sparen?
Dus ook inderdaad niet alleen voor managers,
maar ook voor developers zelf, junior, middier, senior.
Ik denk dat het een hele hoop handige dingen is.
Dat is wel leuk.
Ja, dat is zeker een goed punt,
want je bent zelf ook wel verantwoordelijk wat je uit je carrière haalt.
En als je een goede lead hebt, daagt die jou uit.
Maar dat kan ook zeker andersom werken.
Als jij merkt van nou, ik krijg te weinig feedback.
Ik weet nou niet of ik nou wel de juiste kant op aan het groeien ben.
Ja, precies.
Dat is iets wat ik zelf,
nou, ik denk eigenlijk pas bij Shopify echt ben gaan leren om dat te gaan doen.
En achteraf denk ik wel van nou,
als ik dat nou al drie jaar eerder in mijn carrière had gedaan,
waren er zeker misschien wel een paar dingen anders gegaan,
sneller geleerd of misschien wat pijnlijke blunders bespaard.
Ja, dat spelspelen of ja, hoe zeg je dat?
Ja, nou ja, wel.
Dat leren wij volgens mij en dat wordt minder.
En volgens mij ook in Amerika heb ik dat meer op beeld van
Amerika. In Amerika wordt echt gezegd van ja,
I report to, ik rapporteer aan.
Dus een soort van jouw jarchie, zeg maar,
ontleen je aan, zeg maar ja,
waar je dan staat in de jarchie.
Dus dat is wel handig om dan te weten,
hoe moet ik nu binnen de organisatie,
zeg maar, bewegen?
Oké.
Hebben anderen nog boekentips?
Toevallig.
Ben je klaar?
Want ik weet niet zeker of je...
Nou, ik heb hier nog heel veel meer boeken,
want Shopify heeft een boekenbar en daar kun je gewoon boeken uit.
Ja, dat is echt nice.
Als je hem leuk vindt, mag je hem houden.
En als je hem stom vindt, zet je hem terug.
Maar ik heb, nou,
als mijn internet nu zou uitvallen,
dan heb ik de komende maanden nog wel aan leesvoer gelopen.
Ja, ik moet weer leren lezen.
Ik heb een boek besteld.
Ik heb, ja, bij chips.
Maar ja, dat zijn van die boeken die dan nog geschreven worden.
Die kun je al kopen vroegtijdig en dan heb je hem heel snel
en wat goedkoper.
Maar het gaat over microservices in .net,
maar dat is meer een praktijkding.
Nou, dit zal ik wel toevoegen.
En ik had nog een microservices fysiek boek.
Dat is echt voor mij best uniek
van de laatste,
sinds het laatste jaar, vier jaar.
Ik lees pijnig, maar ik dacht, nou,
laat ik maar weer eens proberen.
Want vorige keer had ik die discussie erover van, ja,
leesboeken.
En ik lees eigenlijk nooit meer boeken,
want ik heb de rust er niet meer voor,
maar ik ga het weer proberen op te pakken.
Dus bedankt voor de tips.
In ieder geval voor mezelf dan.
Ja.
Bernard, wat heb jij je boekentips?
Ja, ik had ook de RailsConf
gevonden.
Die zal ik niet tippen.
Ik heb
wel een nieuwsbrief die ik
volg. Dat is van een schrijver.
Die heet Robin Sloan en die is pas begonnen
om een spel te maken.
En daar schrijft hij
wekelijks over wat die week heeft gedaan.
Dus die zal ik even doorpiepen.
Dat is Paralls of the Overworld.
Game Development Diary.
Dus die ga ik in de show notes toevoegen.
Waar wordt die in gemaakt?
Neo Cap.
Dat heeft hij gemaakt. Even kijken.
Nee, dat is een spelletje.
Even kijken waar hij het mee schrijft.
Oh, ik dacht dat het Paralls of the Blablabla
dat was de titel van het spel.
Zo heet het spel, ja.
Maar hij heeft een ander spel geschreven.
Hier staat de link.
Hij is bezig met kaarten ontwikkelen
en met geluidjes en vondjes nog.
En dat wordt steeds uitgebreid elke week.
Het is best leuk om te volgen.
Dat is wel grappig, want ik zit nu op twee slacks.
Onder de slack van CodeKlets
en hiervan met Nus Op Tafel.
Bij Bachter is er zit ik op Nus Op Tafel.
En die man, dat is een schrijver
die veel bekende boeken geschreven.
En hij doet dus ook aan games.
Dus hij heeft leuk om te lezen.
Ja, oké.
Goede tip.
Ja, we wilden nog andere dingen bespreken.
Want we zitten al best wel aan de tijd.
Dus die heb ik toch weer bijna twee uur.
Ik wilde het op anderhalf uur houden,
maar dat lukt dus niet.
Maar het is CodeKlets, toch?
En niet een codepraatje.
Nee, daarom.
Dat is volgens mij wel lekker weggekletst.
Ja, daarom. Nee, dat weet ik.
Ik vind het heel leuk.
Ik ben volgens mij...
Ja, ik wil niet op het Trump-level zeggen
dat ik narcisme heb.
Maar ik vind het gek genoeg heel leuk
om mijn eigen podcast terug te luisteren.
Dus als ik wap zit, blijf ik gewoon luisteren.
Ik weet niet of dat iets ziekelijk is.
Maar ja, ik vind het leuk om te horen.
Dus dat zal...
Ja, ik weet niet.
Ik weet niet waar dat ligt.
Dus vandaar. Dus het is niet gek.
Twee uur lang kan ik gewoon luisteren.
Ik weet ook wel dat een aantal mensen zegt
dat een uur of een half uur is genoeg.
Maar ja, dan kun je eigenlijk niet
lang genoeg over een onderwerp
doorpraten.
Ja, dat is narcisme.
Ik denk dat ik dan president van Nederland
minister-president wil worden.
En dan mogen jullie allemaal gloor gaan drinken.
Even kijken.
Ja, ik heb verder niks.
Geen ander onderwerp die ik eventueel
nog wil bespreken.
Tenzij jullie nog je dingen hebben.
Nee, geen onderwerp.
Maar ik heb nog wel een klein tipje.
Een heel klein, grappig tipje
voor als je zavons verveelt.
CodeBullet op YouTube.
Dat is een gozer
volgens mij uit Australië of iets dergelijks.
En die lost alle problemen
van de wereld op in games met AI.
Een van de
meest grappige filmpjes is AI
Learns to Walk.
Dus aan de hand van
Watooling heeft die
een AI geschreven die
vervolgens met natuurlijke selectie
eigenlijk gaat proberen te lopen.
Zijn commentaar daarbij is
vrij hilarisch met een hoop selfspot.
Dat bezorgt me elke keer toch weer
een heel harde bulder
lach achter mijn eigen computer.
CodeBullet op YouTube.
Cool, dat gaan we ook in de show nog zo nemen.
Nou goed, ik ga
hem afronden.
Ja, ga
vooral, als je dit leuk vond,
gaan we ons abonneren sowieso.
Als je dat dan nog iets hebt gedaan.
Ga naar codeklets.nl
daar kun je sowieso alle informatie zien
hoe je kunt abonneren.
In je favoriete podcast applicatie kun je
gewoon bezoeken op CodeKlets en dan staan we
meestal, maar eigenlijk in alle
belangrijke apps staan we gewoon in.
Je kunt ons volgen via Twitter,
apps uit je CodeKlets en Instagram.
Ik denk dat ik daar nog wat
een foto plaats van hoe
je hier aan het podcasten bent.
Dat is op zich best een bijzondere
manier.
En ja, vertel het door.
Geef even door aan je
vriendjes en vriendinnetjes.
En kom bij ons slacken.
En dat kun je op via codeklets.nl doen.
En dat was hem.
Dankjewel weer. Dankjewel Bart.
Ik wens je heel veel succes
bij Shopify. Ik hoop dat we je
nog ooit een keer in het echt
mogen ontmoeten.
Ja, wanneer dat zal zijn, dat is een beetje moeilijk te voorspellen
met dit hele dingetje.
Maar het lijkt me wel leuk.
Ja.
Ja, cool.
Nou, later.
Oké, later.
Hoi hoi.