WEBVTT

1
00:00:13.800 --> 00:00:17.360
Nou, welkom allemaal weer bij een nieuwe aflevering van CodeKlets.

2
00:00:18.260 --> 00:00:24.400
We zitten alweer in aflevering 13, Lucky 13, en dit keer in real life.

3
00:00:24.820 --> 00:00:31.020
Dat is toch wel bijzonder en vandaag ook bij Southwest Test Services in Rotterdam.

4
00:00:32.120 --> 00:00:37.320
En ik ben vandaag jullie host Kishen, maar gelukkig hoef ik deze aflevering niet alleen

5
00:00:37.320 --> 00:00:37.660
te doen.

6
00:00:38.320 --> 00:00:45.720
Ik heb twee hele leuke gasten uitgenodigd, Robert van Lochem en Jamie Krane, de amazing

7
00:00:45.720 --> 00:00:47.380
duo in mobile development.

8
00:00:48.160 --> 00:00:50.440
Maar wel op anderhalve meter afstand van elkaar.

9
00:00:51.620 --> 00:00:53.140
Ja, ja, ja, zeker absoluut.

10
00:00:53.300 --> 00:00:57.280
Ja, dat moet niet te zeggen inderdaad, we zijn wel heel voorzichtig in deze ruimte.

11
00:00:57.520 --> 00:00:58.280
Precies, precies.

12
00:00:58.500 --> 00:00:59.240
Ja, je weet maar nooit.

13
00:01:00.360 --> 00:01:04.020
Dus we hebben al in Niels nog niet de corona-app gecheckt, hè?

14
00:01:04.580 --> 00:01:05.740
Nee, dat hebben we niet gedaan.

15
00:01:06.440 --> 00:01:06.700
Nee, nee.

16
00:01:06.700 --> 00:01:08.780
Nee, goed geluk heb ik ook niet zo'n scannen.

17
00:01:08.960 --> 00:01:11.560
Dus wat dat betreft vertrouw ik jullie wel.

18
00:01:12.660 --> 00:01:13.320
Wij jullie ook.

19
00:01:13.660 --> 00:01:14.860
Ja, oké, mooi, mooi, mooi.

20
00:01:15.340 --> 00:01:18.880
Ja, zoals je hoort, ja, ik ben helaas vandaag in mijn uppie.

21
00:01:19.420 --> 00:01:24.700
Was de bedoeling dat ik met Bernard samen zou gaan opnemen voor CodeKlets.

22
00:01:25.120 --> 00:01:30.260
Maar ja, helaas, hij vertelde me gisteren dat hij een niet zo'n mooie stem heeft

23
00:01:30.260 --> 00:01:30.880
op dit moment.

24
00:01:32.560 --> 00:01:35.100
Dus helaas, ja, dat zou niet ten goede zijn van de opname.

25
00:01:35.100 --> 00:01:37.640
Dus doe ik het vandaag even alleen.

26
00:01:38.980 --> 00:01:46.180
En ja, ik ben natuurlijk hartstikke blij dat Robert en Jamie vandaag ons gaan verblijden

27
00:01:46.180 --> 00:01:48.560
met het onderwerp mobile development.

28
00:01:50.100 --> 00:01:54.060
Ik zal Robert even kort even aankondigen.

29
00:01:54.700 --> 00:01:59.400
Nou, Robert van Lochem, die programmeert al sinds zijn dertiende in Turbo Pascal.

30
00:02:00.240 --> 00:02:03.920
Ik hoop dat hij daar iets meer over mag vertellen, want ik ben het allemaal weer

31
00:02:03.920 --> 00:02:09.360
begrepen. Pointers en dat soort dingen en vroeger mouse drivers gemaakt en zo voor de pc.

32
00:02:09.740 --> 00:02:13.900
Oh, nice. Nou, toch wel nieuwsgierig, maar goed, dat komen we straks op terug.

33
00:02:15.140 --> 00:02:21.620
En na tien jaar backend ontwikkeling in Java en wat Scarlet hebben gedaan, is hij in 2010 gaan

34
00:02:21.620 --> 00:02:30.080
beginnen met ontwikkeling in Objective-C, IOS apps voor NS bouwen en een klein beetje ProRail.

35
00:02:30.500 --> 00:02:32.880
Ja, want dat hoort bij elkaar, toch? Of ook weer niet, he?

36
00:02:32.880 --> 00:02:35.460
Ja, een beetje logistiek. Logistiek, precies, ja.

37
00:02:36.360 --> 00:02:42.520
En nu zit hij voornamelijk in Kotlin en Swift in de front-end en ook in de backend.

38
00:02:42.900 --> 00:02:45.740
En ook in de backend en ook nog steeds een beetje Java.

39
00:02:46.300 --> 00:02:50.380
Ondertussen naast NS en ProRail ook Eneco en ANWB.

40
00:02:50.500 --> 00:02:56.020
Dus het zijn vooral de grote, bekende Nederlandse mooie merken waar we gewoon

41
00:02:56.020 --> 00:02:58.180
hele coole dingen voor doen. Nice.

42
00:02:58.360 --> 00:03:00.480
Ja, daar gaan we vast wel meer over willen.

43
00:03:00.940 --> 00:03:02.560
Daar willen we echt van alles over weten.

44
00:03:02.560 --> 00:03:05.640
Dus er komen vast wel wat vragen richting jullie daarover.

45
00:03:07.100 --> 00:03:09.400
Even kijken. Nou, en we hebben ook nog een tweede gast, natuurlijk,

46
00:03:09.440 --> 00:03:11.240
wat ik al zei, Jamie Kranen.

47
00:03:12.120 --> 00:03:15.580
En nou is het altijd bij mij de vraag, spreek ik het nou crane uit

48
00:03:15.580 --> 00:03:17.400
of is het nou kranen? Het is kranen.

49
00:03:17.440 --> 00:03:18.980
Je spreekt het goed uit. Oké.

50
00:03:19.000 --> 00:03:22.520
Maar je bent eigenlijk een producer in disguise, he?

51
00:03:22.940 --> 00:03:23.680
Ja, klopt.

52
00:03:23.780 --> 00:03:26.320
Ik heb in het verleden heel veel dance music gemaakt.

53
00:03:27.740 --> 00:03:30.380
Helaas ontbreekt me de tijd tegenwoordig aan,

54
00:03:30.380 --> 00:03:32.680
maar het is nog steeds een hobby van mij.

55
00:03:33.020 --> 00:03:35.660
Ja, cool, want volgens mij is dan jouw artiestennaam ook crane.

56
00:03:35.940 --> 00:03:36.960
Maar dan Jamie Crane dan?

57
00:03:37.280 --> 00:03:38.700
Ja, klopt, klopt.

58
00:03:38.800 --> 00:03:40.900
Dus dat is mij altijd blijven hangen.

59
00:03:40.980 --> 00:03:42.180
Ook in de tijd dat we samenwerken.

60
00:03:42.220 --> 00:03:45.760
We hebben in het verleden ook heel veel LP's op plaat uitgebracht.

61
00:03:46.200 --> 00:03:48.520
Die waarvan een aantal je nog op YouTube kan vinden.

62
00:03:49.180 --> 00:03:51.280
Dus dat is wel super super gaaf. Super gaaf.

63
00:03:51.940 --> 00:03:54.720
Ja, maar goed, ja, Jamie heeft inderdaad ook nog een andere hobby.

64
00:03:55.480 --> 00:03:58.880
Dat is een full stack software ontwikkelaar

65
00:03:58.880 --> 00:04:01.860
met een passie voor Kotlin en Kotlin Multiplatform.

66
00:04:02.480 --> 00:04:06.080
En hij heeft onder andere aan de wieg gestaan bij de NS

67
00:04:06.600 --> 00:04:12.220
rondom de reisplanner Android app en de Kotlin Multiplatform app van Enneco.

68
00:04:13.120 --> 00:04:18.040
Dus ja, wat Robert zegt, genoeg interessante, leuke bedrijven

69
00:04:18.040 --> 00:04:18.920
waar jullie gewerkt hebben.

70
00:04:19.420 --> 00:04:21.540
En we zijn natuurlijk super nieuwsgierig naar jullie ervaring.

71
00:04:21.860 --> 00:04:25.000
Ja, het leuke is dat we eigenlijk al die dingen die Robert ook heeft gezegd,

72
00:04:25.100 --> 00:04:26.780
dat we dat samen hebben gedaan.

73
00:04:27.760 --> 00:04:29.160
Al acht jaar lang.

74
00:04:29.260 --> 00:04:33.640
Dus we werken al acht jaar lang in iOS en Android developers samen en back-end natuurlijk.

75
00:04:33.720 --> 00:04:34.800
En back-end, ja, volgens mij.

76
00:04:35.280 --> 00:04:36.640
Ja, dat is ook precies waar.

77
00:04:36.800 --> 00:04:39.520
Ja, dat is ook de reden waarom ik jullie de amazing duo in mobile

78
00:04:39.520 --> 00:04:43.400
development heb genoemd, want dat viel me een beetje op in jullie.

79
00:04:43.400 --> 00:04:47.140
Ja, op LinkedIn te kijken van goh, hey, die zitten toch wel vaak samen.

80
00:04:47.220 --> 00:04:48.060
Dus dat is wel leuk, hè?

81
00:04:48.280 --> 00:04:50.480
Maar we wonen niet samen. Nee, dat niet.

82
00:04:50.900 --> 00:04:52.260
Nee, zo ver is het nog niet.

83
00:04:52.260 --> 00:04:54.700
Nog. Oeh, nog niet.

84
00:04:55.280 --> 00:04:56.860
Ja, dit kan nog komen, natuurlijk.

85
00:04:57.820 --> 00:05:01.880
Oké, nou goed, vlucht naar de volgende VR-plak, dat is goed, ja.

86
00:05:02.960 --> 00:05:07.160
Nou ja, zoals jullie, ja, misschien ook wij de vorige afleveringen wel schoot hebben, is

87
00:05:07.800 --> 00:05:12.040
ja, we zijn altijd nieuwsgierig naar onze gasten en de eerste ervaringen

88
00:05:12.040 --> 00:05:14.820
met de computer of coding in general.

89
00:05:16.560 --> 00:05:19.920
Dus laten we eens even beginnen bij Jamie misschien.

90
00:05:21.260 --> 00:05:23.420
Wat was jouw eerste programmeer ervaring?

91
00:05:23.900 --> 00:05:25.100
En kun je daar iets meer over vertellen?

92
00:05:25.820 --> 00:05:27.820
Ja, daar kan ik zeker wel wat meer over vertellen.

93
00:05:27.900 --> 00:05:30.460
Dat begon eigenlijk al op jonge leeftijd.

94
00:05:31.200 --> 00:05:36.000
Ja, de jeugd tegenwoordig groeit op met mobiele telefoons en allerlei digitale apparaten.

95
00:05:36.060 --> 00:05:37.300
Dat was toen totaal nog niet.

96
00:05:38.120 --> 00:05:42.720
Dus mijn eerste pc ervaring, zo gezegd, was toen ik een jaar of 12 was.

97
00:05:43.680 --> 00:05:48.940
We hadden toen een pc thuis met basic erop.

98
00:05:48.940 --> 00:05:50.900
En dat was ook mijn eerste programmeer ervaring.

99
00:05:51.060 --> 00:05:56.520
En het eerste wat je doet is text adventures gaan maken van ga naar links en wat zie je dan?

100
00:05:57.140 --> 00:06:01.680
En dan koop je boeken en dan ga je games maken door die boeken die code uit die boeken te schrijven.

101
00:06:01.740 --> 00:06:03.980
En op een gegeven moment leer je en leer je.

102
00:06:04.180 --> 00:06:06.560
En dan vind je dat toch heel leuk om te doen.

103
00:06:06.780 --> 00:06:09.860
En zo is dat een beetje ontstaan en dat is er altijd ingebleven.

104
00:06:10.700 --> 00:06:13.620
En vanuit die hoek ben ik er ook ingerold, zeg maar.

105
00:06:13.780 --> 00:06:16.280
Oké, dus dat was eigenlijk game development, als ik het goed begrijp.

106
00:06:16.280 --> 00:06:19.460
Ja, in het begin echt game development en daarna.

107
00:06:19.800 --> 00:06:21.280
Ja, dan werd het serieuzer.

108
00:06:21.300 --> 00:06:25.520
Opleiding gedaan natuurlijk aan de HTS in Den Bosch toen nog.

109
00:06:27.320 --> 00:06:28.680
Ja, en zo is dat ontstaan.

110
00:06:28.840 --> 00:06:31.260
Maar echt op jonge leeftijd al mee bezig geweest.

111
00:06:31.620 --> 00:06:36.560
Ja, en kan je nog iets herinneren, weet je, gewoon een heel belangrijk leermoment vanuit jou.

112
00:06:37.040 --> 00:06:40.360
Weet je altijd experimenteren met programmeren en coderen?

113
00:06:40.740 --> 00:06:44.280
Wat je misschien nu nog steeds in je DNA, zeg maar, zit.

114
00:06:44.280 --> 00:06:45.820
Ja, goede vraag.

115
00:06:47.560 --> 00:06:50.260
Het is uiteindelijk altijd een beetje puzzelen coderen.

116
00:06:50.820 --> 00:06:54.900
Je maakt iets, maar je loopt toch soms wel eens tegen problemen aan,

117
00:06:54.960 --> 00:06:57.180
waarbij je oplossingen moet zoeken in creatieve hoeken.

118
00:06:57.420 --> 00:06:58.860
En dat was toen al en dat is nog steeds.

119
00:06:59.000 --> 00:07:00.280
En dat vind ik het leuke eraan.

120
00:07:00.300 --> 00:07:02.500
Echt een uitdaging en uiteindelijk weer voldoening.

121
00:07:03.020 --> 00:07:06.540
Als je datgene hebt gemaakt, wat je voor ogen had, dat het ook echt zo werkt.

122
00:07:06.760 --> 00:07:09.580
En zeker nu als miljoenen mensen van je product gebruikmaken.

123
00:07:09.780 --> 00:07:10.840
Dat is super gaaf.

124
00:07:11.500 --> 00:07:13.740
Ja, en ja, misschien zei je het in het begin ook al,

125
00:07:13.740 --> 00:07:18.300
maar even voor mij welke ontwikkeltaal was dat ook weer waar je het over had net?

126
00:07:18.680 --> 00:07:20.380
Vroeger bedoel je? Ja, in Basic.

127
00:07:20.840 --> 00:07:21.860
In Basic was het, oh ja.

128
00:07:22.320 --> 00:07:24.880
Pascal, wat Robert nu ook heeft gedaan.

129
00:07:25.980 --> 00:07:29.980
Een Delphi visual designer had je destijds om Windows applicaties te maken,

130
00:07:30.100 --> 00:07:31.400
maar daar is het een beetje mee begonnen.

131
00:07:32.140 --> 00:07:34.060
Ja, ik kan me ook nog herinneren dat ik ook, ja,

132
00:07:34.060 --> 00:07:35.160
maar dat was dan meer op school.

133
00:07:35.360 --> 00:07:37.580
We waren ook een game aan het bouwen.

134
00:07:37.700 --> 00:07:40.400
Dat was een soort van, hoe heet dat nou?

135
00:07:40.640 --> 00:07:41.400
Space Invaders.

136
00:07:41.400 --> 00:07:45.660
Ja, dat je dan objecten moest kapot schieten en zo.

137
00:07:46.020 --> 00:07:48.360
Leuk. Ja, dat was wel heel bijzonder.

138
00:07:48.640 --> 00:07:50.340
Dat was een hele bijzondere ervaring.

139
00:07:50.340 --> 00:07:52.080
Games zijn natuurlijk heel erg tastbaar.

140
00:07:53.000 --> 00:07:55.800
Dat is veelal de eerste dingen waar je mee in aanraking komt.

141
00:07:56.780 --> 00:07:59.080
Je ziet iets op een scherm beschijnen.

142
00:07:59.340 --> 00:08:00.900
En dat, ja, dat is leuk.

143
00:08:01.420 --> 00:08:01.920
Ja, precies.

144
00:08:02.380 --> 00:08:06.140
Wat mij nu even te binnen schiet, is iets wat ik dan van geleerd heb,

145
00:08:06.380 --> 00:08:09.860
is dat, ja, noem het maar even object georienteerd programmeren,

146
00:08:09.860 --> 00:08:11.700
maar in ieder geval met objecten omgaan.

147
00:08:12.000 --> 00:08:18.020
Dat je een object hebt, zoals inderdaad zo'n alien die je moet raken en die dan

148
00:08:18.020 --> 00:08:21.660
attributen heeft en dan weet je wel wat die dan kan en wat die niet kan.

149
00:08:22.360 --> 00:08:25.660
Dat je daar dan encapsulatie omheen, weet je wel, maakt en dat soort dingen.

150
00:08:26.040 --> 00:08:28.520
En in het begin deed je dat misschien onbewust.

151
00:08:28.980 --> 00:08:31.460
En uiteindelijk leer je bewust dat soort dingen.

152
00:08:32.640 --> 00:08:35.160
Dus dan zie je heel veel dingen zijn herkenbaar.

153
00:08:35.660 --> 00:08:38.420
Nou, jullie moeten er eigenlijk bij zitten.

154
00:08:38.420 --> 00:08:41.920
En dan ben ik wel blij dat ik nu in real life aan het opnemen ben.

155
00:08:43.080 --> 00:08:45.740
Maar Robert, die begint nu een dikke feestpalm.

156
00:08:46.360 --> 00:08:46.760
Ja, precies zo.

157
00:08:47.340 --> 00:08:49.060
Maar object georienteerd programmeren.

158
00:08:49.160 --> 00:08:52.240
Volgens mij, ik was vroeger altijd bezig met procedurale, de ene functie,

159
00:08:52.340 --> 00:08:54.480
de andere functie en globale dingen en zo.

160
00:08:57.000 --> 00:09:00.920
Vroeger was het wel heel erg, want mijn pa en ma hadden nooit zoveel geld.

161
00:09:01.040 --> 00:09:02.140
Dus wij hadden geen pc.

162
00:09:02.800 --> 00:09:05.820
Mijn oom, daarentegen, was hoofd van de IT-afdeling

163
00:09:05.820 --> 00:09:08.860
van een middelbare school.

164
00:09:09.240 --> 00:09:11.020
Dus die had allemaal computers thuis staan.

165
00:09:11.600 --> 00:09:14.880
Dus ik begon inderdaad gewoon, zeg maar, ieder weekend daar hem toe te gaan

166
00:09:14.880 --> 00:09:18.440
en dan gewoon lekker GW Basic spelletjes spelen.

167
00:09:18.640 --> 00:09:20.780
En op een gegeven moment dacht ik al, zeg maar,

168
00:09:20.840 --> 00:09:23.680
het lijkt me wel leuk om die dingetjes een beetje aan elkaar te knopen.

169
00:09:23.900 --> 00:09:27.360
Dus een soort menuetje gemaakt en zo. Nou, en toen begon het.

170
00:09:27.360 --> 00:09:30.060
En toen dacht ik van, nou, het is wel heel stoer om dat soort dingen te maken.

171
00:09:32.000 --> 00:09:36.180
En ik weet nog wel dat we op een gegeven moment hadden we een beetje geld gespaard,

172
00:09:36.460 --> 00:09:39.280
Pama, en had ik bij een ander vriendje,

173
00:09:39.280 --> 00:09:41.600
had ik een spelletje gespeeld, Scorched Earth.

174
00:09:41.760 --> 00:09:42.740
Ik weet niet of jullie dat kennen.

175
00:09:43.320 --> 00:09:45.760
Dat was echt, dat was, zeg maar, een soort landschap.

176
00:09:46.060 --> 00:09:49.640
En er stonden allemaal verschillende tankjes op en iedere speler had een eigen tankje.

177
00:09:50.120 --> 00:09:53.820
En dan kon je, zeg maar, elkaar, het is Worms, zeg maar, maar dan een tankje.

178
00:09:53.880 --> 00:09:55.280
Dat is het leukste, dat was de Nuke natuurlijk.

179
00:09:55.280 --> 00:09:58.500
Precies, de funky Nuke en dat soort dingen.

180
00:09:58.660 --> 00:10:00.340
Maar dat was met een VGA scherm.

181
00:10:00.640 --> 00:10:04.400
Maar wij hadden geen VGA, wij hadden CGA, een CGA scherm.

182
00:10:04.620 --> 00:10:06.780
Dus ik wilde dat spel spelen, dus dat heb ik gedaan.

183
00:10:06.940 --> 00:10:10.160
Ik heb dat spel gewoon nagemaakt in Turbo Pascal.

184
00:10:10.300 --> 00:10:13.360
En daar was ik super trots op, dat ik inderdaad een funky bomb kon maken

185
00:10:13.360 --> 00:10:17.940
en dat, zeg maar, met een 3D-landschap kon renderen en zo.

186
00:10:18.520 --> 00:10:20.120
En dat was echt super cool om te doen.

187
00:10:21.220 --> 00:10:24.400
En het tof is gewoon dat je gewoon dat samenspeelt met andere mensen

188
00:10:24.400 --> 00:10:25.320
en uitprobeert.

189
00:10:25.480 --> 00:10:27.760
En ook, ik had een vriendje met wie ik dat programmeerde en zo.

190
00:10:28.300 --> 00:10:30.420
En toen dacht ik van, dit is gewoon zo gaaf om te doen.

191
00:10:30.500 --> 00:10:32.040
Je kan er echt uren plezier mee hebben.

192
00:10:32.100 --> 00:10:34.480
Je kan precies maken hoe je het zelf wil allemaal.

193
00:10:35.360 --> 00:10:37.040
Daar is het eigenlijk allemaal mee begonnen.

194
00:10:37.440 --> 00:10:38.480
Ja, oh, tof.

195
00:10:39.020 --> 00:10:43.060
Maar was dat dan ook je eerste ervaring rondom programmeren?

196
00:10:43.220 --> 00:10:43.840
Ja, ja.

197
00:10:43.840 --> 00:10:44.560
Oh, oké, cool.

198
00:10:44.840 --> 00:10:47.280
Dan ben je wel gelijk in het diepe gegooid dan, hè?

199
00:10:47.840 --> 00:10:52.060
Ja, ik vind het gewoon prachtig, zeg maar, als je iets wil,

200
00:10:52.140 --> 00:10:53.640
om daar gewoon in het diepe te duiken

201
00:10:53.640 --> 00:10:55.160
en dat gewoon helemaal uit te zoeken,

202
00:10:56.040 --> 00:10:59.440
om te zorgen dat het gewoon, zeg maar, werkelijkheid wordt

203
00:10:59.440 --> 00:11:02.360
en aan andere mensen te laten zien en te ervaren.

204
00:11:02.900 --> 00:11:04.260
En ja, het is gewoon prachtig om te doen.

205
00:11:04.720 --> 00:11:06.060
Dat vind ik het mooie aan programmeren.

206
00:11:06.160 --> 00:11:09.400
Je maakt er van niets, maak je iets en je laat het zien.

207
00:11:09.460 --> 00:11:11.980
Je ziet gewoon de reacties op het gezicht van mensen.

208
00:11:13.000 --> 00:11:15.260
En je krijgt de feedback erop en je past wat dingetjes aan.

209
00:11:15.560 --> 00:11:17.100
Dat blijft gewoon altijd prachtig, zeg maar.

210
00:11:17.460 --> 00:11:21.020
En ik doe het ook al vanaf mijn dertiende ongeveer.

211
00:11:21.660 --> 00:11:23.520
Dat is al behoorlijk lang helaas.

212
00:11:23.520 --> 00:11:24.920
Dus ik voel me echt wel vet oud.

213
00:11:26.480 --> 00:11:28.540
Maar goed, het is gewoon prachtig om dat te doen.

214
00:11:28.560 --> 00:11:30.820
Het blijft toch een bepaalde manier van voldoening geven.

215
00:11:31.140 --> 00:11:35.160
Steeds iets maken wat tastbaar is en wat anderen iets mee kunnen doen.

216
00:11:35.780 --> 00:11:37.640
Ja, dus ja, dat is op zich wel interessant,

217
00:11:37.660 --> 00:11:41.300
want ik heb ook wel eens gesprekken met developers over

218
00:11:41.300 --> 00:11:45.600
van wat vind je nou belangrijker, koden of het doel om te koden?

219
00:11:47.260 --> 00:11:48.680
Hoe zouden jullie het beantwoorden?

220
00:11:49.660 --> 00:11:51.180
Volgens mij hadden we een tijdje geleden

221
00:11:51.180 --> 00:11:56.040
met het huidige team waar we nu zitten, hadden we daar een natere gesprek over.

222
00:11:58.220 --> 00:12:01.600
En waar ik toen aan dacht is van kijk,

223
00:12:01.660 --> 00:12:03.880
zeg maar iets maken voor andere mensen is het mooiste.

224
00:12:04.760 --> 00:12:07.700
En vaak is het zo dat als je dat niet op tijd doet,

225
00:12:08.180 --> 00:12:11.000
want er is maar een beperkte hoeveel het geld en tijd beschikbaar,

226
00:12:11.820 --> 00:12:13.360
dan houdt het op een gegeven moment op.

227
00:12:13.660 --> 00:12:15.420
Alleen, je moet er geen rotzootje van maken,

228
00:12:15.640 --> 00:12:17.540
want anders schiet je zeg maar in je eigen voet.

229
00:12:17.720 --> 00:12:20.000
Anders kan je nooit zeg maar dat langdurig voortzetten.

230
00:12:20.000 --> 00:12:23.860
Dus het is altijd een balans tussen zeg maar die kwaliteit,

231
00:12:24.180 --> 00:12:27.400
tijd en geld, het is een beetje standaard, ouderwetse driehoek en zo.

232
00:12:28.200 --> 00:12:31.280
Maar je moet het altijd in ogen schouw nemen van wat is haalbaar

233
00:12:31.280 --> 00:12:33.680
en hoe ver kan ik gaan in het ene of het andere.

234
00:12:35.360 --> 00:12:38.260
En nogmaals, ik heb echt vroeger toen ik net begon met programmeren,

235
00:12:38.340 --> 00:12:41.240
ik weet nog wel, ik was aan een of andere programmetje aan het werken,

236
00:12:41.400 --> 00:12:42.400
het kies-en-klik menu.

237
00:12:42.460 --> 00:12:44.600
Daar kon ik allemaal verschillende DOS programma's mee opstarten.

238
00:12:45.060 --> 00:12:47.260
Ik had er zo'n puinzooi van gemaakt

239
00:12:47.260 --> 00:12:49.320
dat ik over een gegeven moment niet meer mijn eigen code snapte.

240
00:12:49.820 --> 00:12:52.160
En toen dacht ik echt zo, oké, dit moet gewoon anders.

241
00:12:53.620 --> 00:12:56.760
Dus weet je, je leert gewoon wel van, oké, tot hoe ver kan je gaan?

242
00:12:56.920 --> 00:12:59.400
Wanneer snap ik het en wanneer moet ik het aanpassen en zo.

243
00:12:59.420 --> 00:13:01.940
Maar je wilt toch altijd wel een bepaalde voortgang

244
00:13:01.940 --> 00:13:02.700
wil je erin hebben.

245
00:13:03.200 --> 00:13:04.460
Ja, ja, klopt.

246
00:13:04.660 --> 00:13:06.260
Dat is ook een beetje ervaring natuurlijk, he.

247
00:13:07.020 --> 00:13:10.020
En op een gegeven moment kom je op een punt dat dat wellicht altijd zo is.

248
00:13:10.960 --> 00:13:13.860
En dan is het tijd om wat dingen anders te doen.

249
00:13:14.760 --> 00:13:15.320
Ja, klopt.

250
00:13:15.380 --> 00:13:17.220
Elke context is net even anders, he.

251
00:13:17.220 --> 00:13:22.860
Dus de ene die heeft inderdaad een oneindig budget om toffe dingen te doen in code.

252
00:13:23.320 --> 00:13:24.060
De andere natuurlijk niet.

253
00:13:24.320 --> 00:13:26.640
En dan, ja, dan ga je keuzes maken.

254
00:13:26.700 --> 00:13:27.120
Klopt.

255
00:13:27.640 --> 00:13:31.280
Ja, de ene is dan misschien wat rigoureuzer dan de ander.

256
00:13:33.540 --> 00:13:38.860
En ja, op zich, in jullie antwoorden hoorde ik wel toch,

257
00:13:38.900 --> 00:13:44.000
als ik het goed heb gehoord, dat het meeste genieten is de reactie van die gebruiker.

258
00:13:44.480 --> 00:13:45.480
Klopt, klopt.

259
00:13:45.480 --> 00:13:47.260
Dat geeft ze echt de voldoening.

260
00:13:47.900 --> 00:13:49.000
Ja, ja, oké.

261
00:13:49.080 --> 00:13:52.700
En ik denk, zeg maar, toen wij allebei voor de NS werkten,

262
00:13:53.020 --> 00:13:56.360
ik ging dagelijks met de trein naar Utrecht Centraal, want daar zit NS hoofdkantoor.

263
00:13:56.640 --> 00:14:02.340
Het is zo gaaf om de NS reisplanner in handen te zien van mensen die

264
00:14:02.340 --> 00:14:07.540
vervolgens een reis plannen of bijvoorbeeld een treinrader bekijken of de delays zien ofzo.

265
00:14:07.640 --> 00:14:10.040
Denk je van, oh, daar heb ik al gewerkt, weet je, dat is mijn scherm.

266
00:14:10.180 --> 00:14:13.680
Daar heb ik, oh, en ik weet waar de bugs zitten of ik weet waar dit nog zit.

267
00:14:13.760 --> 00:14:15.160
Oh, dat weet ik ook nog niet helemaal lekker.

268
00:14:15.160 --> 00:14:20.560
Maar ze komen er toch wel uit en je ziet gewoon dat ze het gebruiken en snel opstarten en weer weg gaan.

269
00:14:20.920 --> 00:14:25.700
En dat vind ik ook het mooie van mobiele ontwikkeling, want het is, zeg maar,

270
00:14:25.720 --> 00:14:26.980
je kan het aan iedereen uitleggen.

271
00:14:27.100 --> 00:14:29.340
Ik kan het aan, ik bedoel, niet alleen mijn moeder en vader,

272
00:14:29.500 --> 00:14:34.540
zeg maar, op verjaardagsfeestjes die we de laatste tijd niet zo heel veel mee hebben onder vanwege corona enzo.

273
00:14:34.840 --> 00:14:38.320
Maar je kan altijd heel makkelijk binnen drie seconden kan je uitleggen ongeveer wat je doet.

274
00:14:38.400 --> 00:14:44.340
Ik maak apps voor iOS en ik maak ook de achterkant een beetje en zeg ze,

275
00:14:44.340 --> 00:14:47.320
oh, wat heb je nou gemaakt nou? Heb je de reispunten? Ja, die heb ik wel.

276
00:14:47.440 --> 00:14:49.080
Ik bedoel, oh, dat is graag.

277
00:14:49.540 --> 00:14:53.000
Nee, dat is super cool om gewoon, zeg maar, dat te doen.

278
00:14:53.300 --> 00:14:54.420
Dat is ook heel erg tastbaar.

279
00:14:54.860 --> 00:14:59.160
Iedereen heeft een mobiele telefoon bij tegenwoordig, dus iedereen weet waar je het over hebt.

280
00:14:59.660 --> 00:15:01.880
Kunnen jullie misschien ook iets vertellen over jullie huidige projecten,

281
00:15:01.900 --> 00:15:04.200
want jullie zijn de Amazing Duo op dit moment.

282
00:15:06.880 --> 00:15:12.320
Ja, welk project zitten jullie nu en kunnen jullie iets meer over vertellen?

283
00:15:12.320 --> 00:15:13.460
Ja, zeker.

284
00:15:15.160 --> 00:15:19.740
We zitten nu bij de ANWB allebei en we werken aan de onderweg app.

285
00:15:20.420 --> 00:15:25.300
De onderweg app is natuurlijk een van de vlaggenschip apps van de ANWB.

286
00:15:25.700 --> 00:15:31.040
En wat we concreet dit jaar hebben gedaan is het tanken en laden.

287
00:15:31.260 --> 00:15:34.300
Waar zijn laadpalen nou beschikbaar, waar zijn tankstations beschikbaar?

288
00:15:34.700 --> 00:15:37.460
Om dat op een betere manier inzichtelijk te maken in de app.

289
00:15:38.160 --> 00:15:41.640
En ook dat je in realtime beschikbaarheid krijgt te zien van waar is nou een

290
00:15:41.640 --> 00:15:44.300
specifieke laadpal, is die nou beschikbaar of niet.

291
00:15:44.520 --> 00:15:47.940
Dus als je je reis gaat voortzetten met je elektrische auto, dan kun je ook zien

292
00:15:47.940 --> 00:15:49.580
is die laadpal beschikbaar of niet.

293
00:15:52.700 --> 00:15:54.800
Dus daar zijn we voornamelijk mee bezig geweest.

294
00:15:55.020 --> 00:15:57.080
Plus we werken nog aan hele nieuwe, coole features.

295
00:15:57.520 --> 00:16:01.240
Daar mogen we helaas nu nog niet heel veel over zeggen, maar dat gaat er wel

296
00:16:01.240 --> 00:16:01.840
aankomen.

297
00:16:02.300 --> 00:16:06.100
Spannend, joh. En hoe lang zitten jullie er al, Robert?

298
00:16:06.860 --> 00:16:09.560
We zitten er sinds februari ongeveer.

299
00:16:10.040 --> 00:16:14.000
Dus inderdaad wat Jamie zegt, die laadpalen, het is echt zo dat op het moment

300
00:16:14.000 --> 00:16:19.860
dat je bijvoorbeeld een stekker in een stekker ergens insteekt, dat je gewoon

301
00:16:19.860 --> 00:16:23.560
echt in de app, gewoon realtime, zeg maar het bolletje van groen naar rood

302
00:16:23.560 --> 00:16:25.900
ziet veranderen, gewoon zeg maar zo realtime.

303
00:16:26.300 --> 00:16:30.320
En we hebben daarvan niet alleen de iOS en Android voorkant gemaakt, maar ook

304
00:16:30.320 --> 00:16:34.620
de backend. Dus bijvoorbeeld een polling mechanisme die netjes gewoon iedere

305
00:16:34.620 --> 00:16:38.140
twintig seconde poldt. Sorry, het zijn geen websockets.

306
00:16:38.140 --> 00:16:40.800
Dat zou nog mooier zijn, maar goed, dat komt nog wel.

307
00:16:41.320 --> 00:16:45.120
Maar het toffe is, we krijgen wel zeg maar netjes via Patch Request via een

308
00:16:45.120 --> 00:16:47.840
derde partij, ik heb er niks aan gegeven, zeg maar welke palen gewoon

309
00:16:49.640 --> 00:16:52.000
onbeschikbaar zijn of ineens in gebruiken of iets dergelijks.

310
00:16:52.160 --> 00:16:54.400
Dus het is best wel best wel realtime.

311
00:16:54.960 --> 00:16:58.280
Draait allemaal op AWS en Kubernetes omgeving.

312
00:16:59.800 --> 00:17:02.000
Dus daar houden wij ons eigenlijk allemaal mee bezig.

313
00:17:02.260 --> 00:17:07.280
Anderen wat we dit jaar nog gereleased hebben is zeg maar dat je je

314
00:17:07.280 --> 00:17:10.520
Wegenwacht pechmeldingen kan inschieten.

315
00:17:10.740 --> 00:17:14.340
Dus op het moment dat jij aan de kant van de weg staat en je hebt pech, dan

316
00:17:14.340 --> 00:17:17.240
kan je netjes via de onderwegheb, kan je aangeven wat er aan de hand is.

317
00:17:17.900 --> 00:17:19.880
We gebruiken natuurlijk netjes gps locatie.

318
00:17:19.920 --> 00:17:22.540
Als je ingelogd bent, dan weten we precies wie jij bent.

319
00:17:22.980 --> 00:17:27.620
En zo wordt er uiteindelijk een Wegenwacht autootje naar je toegestuurd.

320
00:17:28.100 --> 00:17:32.820
Echt waar joh, dus zover gaat het, dat jullie echt, noemen we het maar even

321
00:17:32.820 --> 00:17:40.940
de connectie van de klant, dus de ANWB en de klanten van ANWB, zeg maar, kunnen maken.

322
00:17:41.800 --> 00:17:43.280
Oké, dat is wel interessant zeg.

323
00:17:44.960 --> 00:17:48.660
En ja, zou je ook iets kunnen vertellen over hoe groot jullie team nu op

324
00:17:48.660 --> 00:17:49.240
de moment is?

325
00:17:52.260 --> 00:17:59.720
Ja ja, ik schat dat we met 15 personen nu in het team zitten van de

326
00:17:59.720 --> 00:18:01.000
onderweg app.

327
00:18:01.640 --> 00:18:05.840
Er zitten een stuk of vier Android developers, waarvan een aantal full stack.

328
00:18:06.940 --> 00:18:11.420
Vier iOS developers als ik het goed heb, twee dedicated back-end developers.

329
00:18:11.860 --> 00:18:13.600
We hebben nog een Scrum Master, een design rol.

330
00:18:14.220 --> 00:18:16.520
Dus het is een redelijk groot team.

331
00:18:18.600 --> 00:18:22.240
Er zit best wel veel functionaliteit in de onderweg app, bijvoorbeeld ook een

332
00:18:22.240 --> 00:18:26.920
parkeren stuk, waarmee je kan zien welke parkeerplaatsen beschikbaar zijn en dat

333
00:18:26.920 --> 00:18:28.820
je ook echt een plek kan reserveren.

334
00:18:28.820 --> 00:18:33.160
Dus verschillende des werk aan verschillende onderdelen in de app, zeg maar.

335
00:18:33.500 --> 00:18:35.260
Oké, en hoe bevalt dat?

336
00:18:36.860 --> 00:18:39.580
Want er zijn toch twee verschillende technologieën.

337
00:18:40.400 --> 00:18:44.220
Hoe valt dat samen en hoe is de ervaring dan tussen de developers?

338
00:18:45.960 --> 00:18:51.600
Qua iOS en Android, ja, op zich gaat dat goed, want we hebben redelijk veel

339
00:18:51.600 --> 00:18:57.880
contact met elkaar, ook als een team, gezamenlijk Scrum team, gezamenlijke

340
00:18:57.880 --> 00:19:02.400
stand-up, dus we weten redelijk goed van elkaar waar we allemaal mee bezig zijn.

341
00:19:02.780 --> 00:19:02.920
Oké.

342
00:19:03.000 --> 00:19:06.640
Het feit blijft natuurlijk, omdat je Android en iOS native doet, dat je twee

343
00:19:06.640 --> 00:19:08.320
keer dezelfde dingen aan het bouwen bent.

344
00:19:08.720 --> 00:19:12.560
Oké, ja, ja, dat was ook een beetje waar ik nieuwsgierig naar was, van hoe

345
00:19:12.560 --> 00:19:13.860
jullie daar dan mee omgaan.

346
00:19:14.000 --> 00:19:18.220
En zijn het dan ook twee echt aparte teams of doe jullie dat samen?

347
00:19:18.980 --> 00:19:21.100
Nee, het is één team eigenlijk.

348
00:19:21.800 --> 00:19:26.260
Wat we proberen is dat bijvoorbeeld één platform iets vooruitwerkt, de

349
00:19:26.260 --> 00:19:27.300
eerste implementatie maakt.

350
00:19:28.860 --> 00:19:34.860
Daarmee loop je al tegen wat problemen op aan en moet je ze oplossen en dat de

351
00:19:34.860 --> 00:19:38.780
tweede team, of de tweede team, zeg maar dat andere platform er een beetje

352
00:19:38.780 --> 00:19:42.540
schuin achterloopt, zodat je niet nog eens een keer dezelfde problemen

353
00:19:43.040 --> 00:19:44.780
tegelijkertijd hoeft op te lossen.

354
00:19:45.120 --> 00:19:48.520
En daarmee behaal je best wel wat winst eigenlijk.

355
00:19:49.640 --> 00:19:54.820
Daarnaast proberen we in mindere, meerdere maten proberen ook zeg maar

356
00:19:55.980 --> 00:20:00.020
bepaalde manieren in de code, zeg maar qua architectuur proberen we ook op de

357
00:20:00.020 --> 00:20:04.320
zelfde manier op te lossen door dezelfde patronen te gebruiken ongeveer.

358
00:20:04.320 --> 00:20:11.940
Bijvoorbeeld Android gebruikt Compose, in iOS gebruiken we SwiftUI en ViewModels

359
00:20:12.860 --> 00:20:17.040
en zo. Dus het ziet er allemaal wel een beetje ongeveer hetzelfde uit.

360
00:20:17.040 --> 00:20:21.220
En ik denk dat dat juist goed is, want op zich misschien is de

361
00:20:21.220 --> 00:20:24.660
interactie net een klein beetje anders en zijn de UI componenten net een

362
00:20:24.660 --> 00:20:28.760
beetje anders. Maar de business logica is hetzelfde, je backends zijn hetzelfde.

363
00:20:29.140 --> 00:20:33.080
Het hoort eigenlijk op dezelfde manier te reageren, vanuit functioneel gezien

364
00:20:33.080 --> 00:20:38.360
eigenlijk. Dus ja, daar zit best wel wat kruisbestuiving tussen.

365
00:20:38.520 --> 00:20:41.960
Klopt. En uiteindelijk, functionaliteit moet in beide apps terechtkomen.

366
00:20:42.240 --> 00:20:45.080
Dus je hebt ook continu met elkaar te maken.

367
00:20:45.740 --> 00:20:49.400
Ja, nee, oké. Dus als ik het goed heb begrepen, jullie team samenstelling

368
00:20:49.400 --> 00:20:53.440
is wel zodanig ingericht dat of teams, want ik hoorde net twee teams.

369
00:20:53.920 --> 00:20:59.180
Om m'n weg heb ik dus één team, maar wel dedicated Android en iOS developers,

370
00:20:59.240 --> 00:21:00.920
maar wel in één gezamenlijk.

371
00:21:01.200 --> 00:21:03.660
Oké, dus dus je zei dat er een team is, dat is wel gaaf.

372
00:21:04.140 --> 00:21:07.800
En zien jullie dan ook dat Android developers ook een beetje iOS

373
00:21:07.800 --> 00:21:09.000
programmeren, andersom?

374
00:21:10.020 --> 00:21:14.320
Ja, en vice versa. Dus bijvoorbeeld, we hebben een ander teamlid, Sam,

375
00:21:14.440 --> 00:21:16.860
hebben we erin zitten, die af en toe gewoon Android bijspringt.

376
00:21:17.360 --> 00:21:21.080
Om bepaalde dingen gewoon op te pakken of zo, en dat kan ook gewoon prima.

377
00:21:21.080 --> 00:21:26.480
En ja, datzelfde doen we ook bijvoorbeeld, zeg maar,

378
00:21:26.840 --> 00:21:29.120
een aantal iOS'ers kan ook gewoon prima kort in.

379
00:21:29.640 --> 00:21:32.520
Dus wij kunnen ook gewoon prima in die code kijken of dingetjes aanpassen.

380
00:21:32.920 --> 00:21:34.860
Of ja, dat is helemaal geen probleem.

381
00:21:34.940 --> 00:21:36.640
Ja, dat zou ik ook misschien strakjes ook hebben.

382
00:21:36.640 --> 00:21:38.980
Nog een onderwerp staan, daar zou ik ook willen inzoomen.

383
00:21:39.460 --> 00:21:42.160
Ook voor degenen die daar misschien nog niet echt mee bezig zijn.

384
00:21:42.280 --> 00:21:43.940
We zien even kort introduceren.

385
00:21:44.240 --> 00:21:46.960
Oké, cool. En ja, en hoe gaat het

386
00:21:47.860 --> 00:21:51.620
bij de ANWB rondom remote werken en zo?

387
00:21:52.200 --> 00:21:56.020
Werken jullie over het algemeen remote of zit jullie nogal regelmatig op kantoor?

388
00:21:56.180 --> 00:21:58.080
Nee, we werken grotendeels remote.

389
00:21:58.780 --> 00:22:03.760
Sterker nog, toen wij voor de ANWB zijn begonnen 1 februari,

390
00:22:04.280 --> 00:22:06.780
zijn we niet één keer naar kantoor geweest en hebben we alles

391
00:22:06.780 --> 00:22:07.940
eigenlijk remote gedaan.

392
00:22:08.900 --> 00:22:12.900
Tot aan een maandje geleden, waar we hebben besloten om toch één keer

393
00:22:12.900 --> 00:22:15.980
in de twee weken naar kantoor te komen

394
00:22:15.980 --> 00:22:20.080
of met z'n allen bij elkaar te zitten, wel op veilige afstand uiteraard.

395
00:22:21.800 --> 00:22:23.920
Maar grotendeels wordt alles remote gedaan.

396
00:22:25.040 --> 00:22:28.640
Dus development is daar ook op ingericht met de juiste communicatiemiddelen.

397
00:22:28.780 --> 00:22:30.220
Iedereen weet elkaar te vinden.

398
00:22:31.380 --> 00:22:33.540
Proactief is ook belangrijk, denk ik.

399
00:22:34.200 --> 00:22:37.780
Dagelijks doen we een informele coffee stand-up zodat we elkaar

400
00:22:37.780 --> 00:22:41.020
toch allemaal zien en een beetje informeel

401
00:22:41.020 --> 00:22:42.680
met elkaar over dingen kunnen praten.

402
00:22:43.780 --> 00:22:45.900
Maar ja, grotendeels is het remote.

403
00:22:47.400 --> 00:22:51.960
Ja, waar ik ook wel nieuwsgierig naar ben is de development manier van werken.

404
00:22:52.120 --> 00:22:53.280
Kunnen jullie daar iets over vertellen?

405
00:22:54.160 --> 00:22:57.060
Tegenwoordig hebben we natuurlijk allerlei way of workings in teams.

406
00:22:58.640 --> 00:23:00.160
Hebben jullie misschien er eentje,

407
00:23:01.380 --> 00:23:04.000
misschien ook wel willen delen met de rest van de wereld?

408
00:23:05.520 --> 00:23:07.080
Ja, zeker, zeker.

409
00:23:08.280 --> 00:23:12.300
De manier van werken was redelijk vast toen we bij ANWB kwamen.

410
00:23:12.300 --> 00:23:15.980
Ze werken op een scrub manier met twee wekelijkse sprints,

411
00:23:16.480 --> 00:23:19.300
waarbij er aan het begin van de sprint bepaald wordt

412
00:23:20.080 --> 00:23:22.520
wat er aan werk verzet gaat worden in de sprint.

413
00:23:23.980 --> 00:23:27.220
Op dit moment neigt het weer een beetje meer naar kanban,

414
00:23:31.300 --> 00:23:34.520
omdat vooraf in de sprint twee weken is best wel lang, vind ik,

415
00:23:34.620 --> 00:23:36.580
om te bepalen wat ga je nou in twee weken doen.

416
00:23:37.320 --> 00:23:40.900
Dus het idee is ontstaan om vooraf te kijken,

417
00:23:40.900 --> 00:23:43.480
oké, wie pakt welke story op,

418
00:23:43.920 --> 00:23:45.960
maar we gaan geen extra werk in de sprint zetten.

419
00:23:46.240 --> 00:23:47.880
Is die story klaar?

420
00:23:48.020 --> 00:23:50.820
Dan gaan we kijken wat heeft dan de hoogste prioriteit en pakken we dat op.

421
00:23:50.980 --> 00:23:53.780
Dus dat is net iets meer kanban dan echt,

422
00:23:54.320 --> 00:23:56.060
het zijn nog wel twee wekelijkse sprints,

423
00:23:56.160 --> 00:23:57.380
maar iets flexibeler.

424
00:23:58.020 --> 00:24:00.800
Zitten ze bij ANWB echt op de deadlines en dat soort dingen,

425
00:24:01.280 --> 00:24:01.860
of valt het wel mee?

426
00:24:02.240 --> 00:24:04.040
Er ligt eraan wat voor functionaliteit het is.

427
00:24:04.500 --> 00:24:07.700
Als je zorgt dat je niet iedere keer dezelfde demo laat zien,

428
00:24:08.640 --> 00:24:09.060
zie ik je goed.

429
00:24:09.060 --> 00:24:11.900
Oh nice, ja, dat is wel een hele goede graadmetering.

430
00:24:12.940 --> 00:24:17.060
How to kill your software project, show the same demo twice.

431
00:24:18.880 --> 00:24:20.840
Nee, inderdaad, dat wil je zeker niet.

432
00:24:21.680 --> 00:24:27.280
Oké, zijn er ook product developers in the teams aanwezig,

433
00:24:27.460 --> 00:24:29.200
of zijn jullie helemaal autonoom?

434
00:24:30.980 --> 00:24:32.960
We zijn redelijk autonoom,

435
00:24:32.960 --> 00:24:38.020
maar er zit wel een product owner op die bepaalt uiteindelijk wat er

436
00:24:38.020 --> 00:24:40.820
aan functionaliteit inkomt en wat voor werk er gedaan moet worden,

437
00:24:41.200 --> 00:24:43.800
maar wel veel input vanuit het team zelf ook.

438
00:24:44.020 --> 00:24:44.480
Ja, zeker.

439
00:24:45.060 --> 00:24:49.660
En het andere gave is wel dat we merken dat de developers,

440
00:24:49.960 --> 00:24:53.660
een aantal, je pakt een lead voor een bepaald onderwerp

441
00:24:54.180 --> 00:24:58.680
en je spreekt met de business, dus de product owner en de lead,

442
00:24:59.320 --> 00:25:02.180
spreekt met de business en dan weet je heel goed, zeg maar,

443
00:25:02.680 --> 00:25:04.380
wat wil de business, waar gaan we naartoe,

444
00:25:04.440 --> 00:25:06.620
wat is de visie allemaal, maar ook nog eens een keer,

445
00:25:06.620 --> 00:25:08.900
hoe zit het technisch in elkaar, hoe moeilijk is iets,

446
00:25:09.000 --> 00:25:11.180
wat is zeg maar een beetje de low hanging fruit ergens,

447
00:25:11.240 --> 00:25:14.480
kunnen we creatieve oplossingen hebben en dat is best wel waardevol,

448
00:25:14.480 --> 00:25:19.580
denk ik, wat we nu geïntroduceerd hebben bij de ANWB en wat wel goed werkt.

449
00:25:22.720 --> 00:25:25.120
Dus en daarmee kan je best wel zeggen van nou, weet je,

450
00:25:25.320 --> 00:25:29.900
dit is mogelijk of dit is heel erg lastig of en dan kan je heel snel

451
00:25:29.900 --> 00:25:32.860
inschatten en heel snel stories maken en heel snel opleveren,

452
00:25:33.000 --> 00:25:34.900
zeg maar, waar die business en die klant uiteindelijk,

453
00:25:34.900 --> 00:25:36.040
zeg maar, behoefte aan heeft.

454
00:25:36.040 --> 00:25:39.760
Ja, het voordeel daarvan is dat men ook een bepaalde manier

455
00:25:39.760 --> 00:25:42.280
van verantwoordelijkheid gaat krijgen voor het werk wat gedaan wordt.

456
00:25:42.580 --> 00:25:45.880
En ik denk dat dat heel belangrijk is om, als je iets oppakt van,

457
00:25:46.020 --> 00:25:48.820
waarom doe ik nou iets en wat maakt die klant nou blij?

458
00:25:49.020 --> 00:25:51.200
Ja, want het is niet alleen maar een story op de backlog,

459
00:25:51.800 --> 00:25:57.060
maar het is, weet je, ik wil graag meer dat als iemand bijvoorbeeld pech

460
00:25:57.060 --> 00:26:00.800
helpt, heeft, dat hij bijvoorbeeld, en hij is nog geen lid,

461
00:26:01.020 --> 00:26:02.320
dat hij zich makkelijk kan aanmelden.

462
00:26:02.420 --> 00:26:05.520
Weet je, dat is een nieuw lid voor de ANWB, super waardevol eigenlijk.

463
00:26:05.960 --> 00:26:09.380
En als je dat gewoon kan pushen of als je die functietijd mogelijk maakt,

464
00:26:09.580 --> 00:26:13.240
dat is natuurlijk super gaaf om dat op te gaan zetten eigenlijk.

465
00:26:14.080 --> 00:26:16.700
Ja, ja, dus het keert weer terug waar we het in het begin over hadden,

466
00:26:16.800 --> 00:26:18.440
weer die empathie voor die gebruiker.

467
00:26:18.700 --> 00:26:20.960
Ja, dus dat moet er wel in zitten, denk ik,

468
00:26:21.060 --> 00:26:23.980
ook voor degenen die dan ook die requirements gaat opstellen.

469
00:26:24.700 --> 00:26:28.120
Ja, dat is wel tof dat jullie daar ook aandacht aan besteden,

470
00:26:28.160 --> 00:26:29.380
want je hoort het ook wel eens anders.

471
00:26:30.180 --> 00:26:31.180
Zeker, zeker.

472
00:26:32.240 --> 00:26:34.960
Kunnen jullie ook iets meer vertellen over de, ja,

473
00:26:34.960 --> 00:26:36.700
de stack die jullie nu gebruiken?

474
00:26:37.140 --> 00:26:40.920
Natuurlijk is het iOS en Android, maar onderliggend,

475
00:26:41.280 --> 00:26:44.400
van waar bouwen jullie in en welke tools,

476
00:26:44.680 --> 00:26:46.380
of misschien ook wel frameworks gebruiken jullie?

477
00:26:47.300 --> 00:26:50.520
Ja, als ik even voor Android praat,

478
00:26:51.160 --> 00:26:55.760
vanuit mijn achtergrond bouwen we een native app natuurlijk.

479
00:26:56.400 --> 00:26:59.800
Tools die wij gebruiken zijn Android Studio op dit moment,

480
00:27:00.880 --> 00:27:03.060
voor backend IntelliJ.

481
00:27:04.180 --> 00:27:08.700
Een architectuur die we in de Android app hanteren is echt een MVI,

482
00:27:09.960 --> 00:27:10.840
MVVM-architectuur.

483
00:27:13.060 --> 00:27:16.540
Maar ANWB heeft natuurlijk een app met een lange lifecycle

484
00:27:17.580 --> 00:27:21.180
van jaren aan ontwikkeling, dus je ziet daar een verscheidenheid aan,

485
00:27:21.180 --> 00:27:22.940
aan patterns in terugkomen.

486
00:27:24.360 --> 00:27:25.980
En dat zal ook voorlopig zo blijven.

487
00:27:26.000 --> 00:27:28.640
En dat is ook prima, omdat alles evolueert mee natuurlijk,

488
00:27:28.720 --> 00:27:32.800
maar dat wil niet zeggen dat je al het oude meteen moet omschrijven,

489
00:27:32.800 --> 00:27:34.740
elke keer naar iets nieuws, want als je dat gaat doen,

490
00:27:34.960 --> 00:27:36.720
dan krijg je op een gegeven moment niks meer gedaan.

491
00:27:39.360 --> 00:27:42.000
Dus daar is een stukje commonsense ook aanwezig.

492
00:27:43.320 --> 00:27:46.180
Maar nieuwe dingen, allemaal volgens nieuwe patronen.

493
00:27:46.240 --> 00:27:47.700
Alles in Kotlin ook.

494
00:27:48.900 --> 00:27:53.280
En qua backend doen we veel met Spring Boot op het Kubernetes platform op AWS.

495
00:27:53.700 --> 00:27:55.780
En welke database systemen gebruik je?

496
00:27:56.420 --> 00:27:57.560
Het zijn verschillende.

497
00:27:57.560 --> 00:28:01.880
De search, hebben we bijvoorbeeld Elastic Search voor,

498
00:28:01.880 --> 00:28:05.020
voor bepaalde realtime systemen, DynamoDB.

499
00:28:05.720 --> 00:28:07.680
Het ligt een beetje aan de use case en de functionaliteit.

500
00:28:07.900 --> 00:28:08.720
Oh ja, ja, ja.

501
00:28:08.800 --> 00:28:11.620
Dus de response die jullie misschien verwachten, dat soort dingen.

502
00:28:11.740 --> 00:28:11.960
Ja.

503
00:28:12.280 --> 00:28:12.760
Oké.

504
00:28:12.760 --> 00:28:16.900
En heel veel integratie met externe systemen, waar data vandaan komt.

505
00:28:17.240 --> 00:28:21.360
Zoals bijvoorbeeld de oplaadpalen, de tankstations, de parkeerplaatsen, et cetera.

506
00:28:23.520 --> 00:28:28.140
En ik neem aan dat jullie ook allerlei services bouwen.

507
00:28:28.460 --> 00:28:31.800
Werken jullie ook met, ja dan ga ik weer zo'n buzzword gebruiken,

508
00:28:32.280 --> 00:28:34.800
maar werken jullie ook met microservices en dat soort zaken?

509
00:28:35.660 --> 00:28:37.260
Met dit gedachte goed, laat ik het zo maar even zeggen.

510
00:28:37.800 --> 00:28:41.140
Ja, een voorbeeld is bijvoorbeeld de service die de realtime,

511
00:28:41.140 --> 00:28:43.800
die realtime de beschikbaarheid van de laadpalen oplevert.

512
00:28:43.840 --> 00:28:48.000
Dat is een specifieke service die specifiek voor dat doel is gebouwd.

513
00:28:48.940 --> 00:28:49.380
Oké.

514
00:28:49.480 --> 00:28:51.200
En hoe doen jullie dat met AWS?

515
00:28:51.200 --> 00:28:55.420
Zijn daar ook bepaalde frameworks die jullie zouden aanraden of tools?

516
00:28:55.920 --> 00:29:01.980
Nou, eigenlijk wat we doen is, vooral Swift, dat is prima.

517
00:29:02.200 --> 00:29:06.780
Ook daar zie je weer, het is een app die een lange lifecycle heeft.

518
00:29:06.980 --> 00:29:10.060
Die heeft verschillende patronen, Viper heeft het erin zitten.

519
00:29:10.900 --> 00:29:13.660
Maar nu gebruiken we vooral SwiftUI en MVVM.

520
00:29:13.800 --> 00:29:16.400
Het lijkt enorm veel op Android met de Compose.

521
00:29:16.560 --> 00:29:19.000
Dus dat is goed, want dan kan je gewoon een leentje buur doen eigenlijk.

522
00:29:21.440 --> 00:29:27.460
Ja, we hebben netjes GitLab met een CI-CD straat.

523
00:29:27.660 --> 00:29:30.740
Op het moment dat je een branch aanmaakt met een pull request,

524
00:29:30.820 --> 00:29:33.440
dan wordt het automatisch gebouwd, getest, et cetera.

525
00:29:33.920 --> 00:29:36.880
Zodra die gemerchd wordt naar developer, omdat we Gitflow gebruiken,

526
00:29:37.780 --> 00:29:39.360
wordt er een testversie neergezet.

527
00:29:39.400 --> 00:29:41.640
Dus je kan het ook gelijk op je device zetten

528
00:29:41.640 --> 00:29:45.420
of testers kunnen op een device zetten om het te testen.

529
00:29:45.480 --> 00:29:47.820
Dus het is volledig geautomatiseerd.

530
00:29:47.960 --> 00:29:50.560
Er zit nog een stukje SwiftLint tussen om te checken inderdaad

531
00:29:50.560 --> 00:29:55.200
of je wel voldoet aan de coding, guidelines en dat soort dingen.

532
00:29:55.360 --> 00:29:57.000
Ook al zou ik eigenlijk eerder willen zeggen,

533
00:29:57.200 --> 00:30:00.180
gooi er alsjeblieft een script overheen die het automatisch goed zegt,

534
00:30:00.320 --> 00:30:03.220
want dan hoef ik er niet over na te denken, dat soort dingen.

535
00:30:03.600 --> 00:30:05.320
Maar goed, het is allemaal prima.

536
00:30:05.820 --> 00:30:09.420
Het is best wel goed geautomatiseerd en het is gewoon erg fijn.

537
00:30:10.340 --> 00:30:13.740
Je noemt net Gitflow, waar valt welke...

538
00:30:13.740 --> 00:30:17.040
Ja, want ik werk toevallig bij de NS nu op dit moment

539
00:30:17.040 --> 00:30:19.440
en daar gebruiken ze over het algemeen veel Jenkins

540
00:30:19.440 --> 00:30:21.000
en Azure DevOps.

541
00:30:21.420 --> 00:30:22.600
Waar valt Gitflow in?

542
00:30:23.000 --> 00:30:25.400
Ja, we gebruiken GitLab als...

543
00:30:25.940 --> 00:30:28.200
Dus ANWB heeft een self-hosted GitLab omgeving

544
00:30:28.200 --> 00:30:31.020
die in principe CI-CD pipelines aftrapt.

545
00:30:31.340 --> 00:30:33.660
Daar hebben ze ergens geloof ik een M1 Mac Mini staan

546
00:30:33.660 --> 00:30:35.240
die zeg maar de beeldserver is.

547
00:30:37.560 --> 00:30:42.100
Ja, die M1's die zijn best wel snel trouwens, spot for Dory.

548
00:30:42.780 --> 00:30:45.200
Dus we zijn ook, we hebben ook onze creditcard getrokken

549
00:30:45.200 --> 00:30:48.920
voor de nieuwe Mac Pro's of Macbook Pro's.

550
00:30:48.920 --> 00:30:49.900
Maar goed, dat komt straks wel.

551
00:30:50.640 --> 00:30:51.760
Ja, dat snap ik.

552
00:30:52.240 --> 00:30:56.220
Ja, oké, oké, inderdaad, Gitflow is dus van GitLab, ja.

553
00:30:56.520 --> 00:30:59.020
Maar het is inderdaad voor iOS ontwikkeling

554
00:30:59.020 --> 00:31:01.860
is het best wel belangrijk gewoon dat je een goede beeldstraat,

555
00:31:01.960 --> 00:31:03.420
goede pipelines klaar hebt staan

556
00:31:03.420 --> 00:31:05.260
zodat je niet zelf hoeft te bouwen.

557
00:31:05.580 --> 00:31:08.180
Want ik heb nog steeds wel af en toe projecten

558
00:31:08.180 --> 00:31:10.380
dat je denkt van oké, dan moet het naar de App Store versterven

559
00:31:10.380 --> 00:31:11.900
of dan moet een testversie.

560
00:31:12.060 --> 00:31:14.420
En vervolgens is dan een ontwikkelaar bezig

561
00:31:14.420 --> 00:31:19.720
om op zijn laptop netjes vanuit Xcode een archive en een upload te doen

562
00:31:19.720 --> 00:31:21.960
en dingetjes, weet je, dat soort dingen kan je tegenwoordig

563
00:31:21.960 --> 00:31:23.620
allemaal zo goed automatiseren.

564
00:31:23.940 --> 00:31:25.760
Dat hoef je echt niet meer over na te denken.

565
00:31:25.960 --> 00:31:28.720
Ja, want dat is een noob question vanuit mijn kant.

566
00:31:29.260 --> 00:31:31.180
Heb je nog steeds de App Store nodig in de middel

567
00:31:31.560 --> 00:31:33.980
of kan je dingen ook al zelf, weet je wel,

568
00:31:34.720 --> 00:31:35.780
gewoon provider, zeg maar.

569
00:31:36.520 --> 00:31:38.940
Nee, nee, je hebt de App Store nog steeds nodig.

570
00:31:39.120 --> 00:31:40.160
Je ont komt er gewoon niet aan.

571
00:31:40.900 --> 00:31:42.860
Nee, kijk, en dat is natuurlijk een beetje het lastige

572
00:31:42.860 --> 00:31:43.900
aan iOS ontwikkeling.

573
00:31:44.600 --> 00:31:48.440
En ik ben een groot fan van continuous integration,

574
00:31:48.980 --> 00:31:52.980
want hoe eerder jij feedback hebt over hetgene wat je hebt gemaakt,

575
00:31:53.120 --> 00:31:53.580
is het beter.

576
00:31:54.240 --> 00:31:56.200
Dus de beste feedback is bijvoorbeeld de compiler,

577
00:31:56.340 --> 00:31:58.740
want je drukt op compile en je krijgt gelijk een error

578
00:31:58.740 --> 00:32:00.420
tussen die en je kan het fixen.

579
00:32:01.580 --> 00:32:03.860
Zeg maar, web heeft natuurlijk iets prachtigs.

580
00:32:03.920 --> 00:32:05.360
Als je dat allemaal strak hebt ingericht,

581
00:32:05.500 --> 00:32:08.620
dat als je een change maakt en dat gaat door al je testen heen

582
00:32:08.620 --> 00:32:10.760
en staat het in principe binnen no time,

583
00:32:10.760 --> 00:32:13.020
op productie staat het gewoon te draaien.

584
00:32:13.840 --> 00:32:15.720
Dat zou ik heel graag willen voor iOS,

585
00:32:15.920 --> 00:32:16.780
maar het zit er gewoon niet in,

586
00:32:17.020 --> 00:32:18.660
want we hebben het gewoon te maken met een App Store,

587
00:32:18.900 --> 00:32:21.560
waarin je moet submitten en moet wachten op een review tijd.

588
00:32:22.020 --> 00:32:23.740
Nou valt die review tijd tegenwoordig wel mee,

589
00:32:24.000 --> 00:32:27.560
want vaak is het een half dag, paar uur.

590
00:32:27.780 --> 00:32:29.120
Dus het is best wel snel,

591
00:32:30.360 --> 00:32:33.580
maar nog steeds zit daar gewoon een soort disconnect tussen

592
00:32:33.580 --> 00:32:36.500
dat je niet gewoon direct iets op productie neer kan zetten

593
00:32:36.500 --> 00:32:38.020
of dat als iets kapot is,

594
00:32:38.200 --> 00:32:40.120
dat je binnen 30 minuten kan fixen

595
00:32:40.120 --> 00:32:41.520
of binnen 20 minuten kan fixen.

596
00:32:41.680 --> 00:32:42.780
En dat is wel jammer.

597
00:32:43.720 --> 00:32:45.520
Maar misschien gaat het ooit nog eens een keer veranderen

598
00:32:46.260 --> 00:32:48.840
als Apple dat toe gaat staan.

599
00:32:49.300 --> 00:32:50.820
En natuurlijk heb je ook natuurlijk het probleem

600
00:32:50.820 --> 00:32:53.680
dat je hebt een device en die updates,

601
00:32:53.680 --> 00:32:56.680
die worden niet per direct opgehaald.

602
00:32:56.820 --> 00:33:00.020
Er gaat altijd, de app moet automatisch geïnstalleerd worden

603
00:33:00.020 --> 00:33:01.740
of sommige mensen hebben dat uitstaan.

604
00:33:02.180 --> 00:33:03.340
Dus daar heb je ook altijd mee te maken.

605
00:33:03.420 --> 00:33:05.160
Dus je moet altijd wel iets voorzichtiger zijn.

606
00:33:06.280 --> 00:33:06.600
Maar...

607
00:33:06.600 --> 00:33:09.340
Is dat bij Android dan ook op die manier

608
00:33:09.340 --> 00:33:10.680
via de Google App Store of?

609
00:33:11.180 --> 00:33:13.080
Ja, dat is wel vergelijkbaar.

610
00:33:13.880 --> 00:33:18.260
Volgens mij heeft iOS wel andere review normen dan Android.

611
00:33:18.340 --> 00:33:21.340
Maar tegenwoordig is Google er ook strakker in geworden

612
00:33:21.980 --> 00:33:24.460
over wat wel en niet zomaar kan en mag.

613
00:33:25.460 --> 00:33:27.440
Dus wat dat betreft is dat redelijk vergelijkbaar.

614
00:33:28.900 --> 00:33:30.940
Met Android kun je natuurlijk wel site-loaden.

615
00:33:31.320 --> 00:33:34.660
Maar met consumenten apps die wij maken gebeurt dat eigenlijk niet echt.

616
00:33:34.780 --> 00:33:36.700
Die worden netjes gepubliceerd in de App Store

617
00:33:37.220 --> 00:33:39.140
en men kan die downloaden en installeren.

618
00:33:39.700 --> 00:33:39.820
Ja.

619
00:33:40.480 --> 00:33:44.140
Hoe gaan jullie dan op met al die user interface testen?

620
00:33:44.520 --> 00:33:47.080
Want ja, op een gegeven moment, wat ik wel mooi vind aan jullie verhaal,

621
00:33:47.860 --> 00:33:51.660
jullie vinden dat de gebruiker moet gewoon centraal staan in alle development.

622
00:33:53.180 --> 00:33:56.500
Maar dan op een gegeven moment moet je ook als gebruiker dingen gaan testen.

623
00:33:56.620 --> 00:33:58.180
Hoe gaan jullie daar op dit moment mee om?

624
00:33:59.660 --> 00:34:01.200
En dan specifiek bij de ANWB?

625
00:34:01.440 --> 00:34:03.820
Ja, ja, dus bij jullie huidige project inderdaad.

626
00:34:03.820 --> 00:34:07.960
Ja, we zijn op een aantal levels.

627
00:34:07.960 --> 00:34:12.280
Zijn er testen die we doen in de basis de unit testen van de apps,

628
00:34:12.420 --> 00:34:16.680
waarbij we kleine stukjes functionaliteit geautomatiseerd testen.

629
00:34:16.820 --> 00:34:19.820
Daarbovenop de integratie testen, ook binnen de app,

630
00:34:19.960 --> 00:34:23.000
maar ook binnen de backends die we maken.

631
00:34:23.960 --> 00:34:27.860
Dat ook echt kijken of of een HTTP call het juiste antwoord geeft.

632
00:34:28.640 --> 00:34:31.080
En de app doet wat hij moet doen.

633
00:34:31.680 --> 00:34:35.100
We hebben beperkte UI testen, geautomatiseerd dan.

634
00:34:36.000 --> 00:34:40.240
Dat toch blijkt in het verleden nog steeds dat dat toch best wel een behoorlijke

635
00:34:40.240 --> 00:34:42.300
kluiven is om die te onderhouden.

636
00:34:43.660 --> 00:34:47.720
Dus we hebben ook gebruikers die de app testen en we testen ook zelf de app

637
00:34:47.720 --> 00:34:52.060
vanuit de UI en we kunnen releases gefaseerd doen,

638
00:34:52.120 --> 00:34:57.060
zodat we met een beperkt aantal gebruikers een release al kunnen kunnen testen.

639
00:34:57.440 --> 00:35:00.580
Oh, nice. Dus jullie ook weer hier terugkomend

640
00:35:00.580 --> 00:35:02.380
is dat jullie de gebruiker weer centraal zetten.

641
00:35:02.580 --> 00:35:05.480
Dus die hebben jullie dan ook centraal in je software development lifecycle

642
00:35:05.480 --> 00:35:09.580
waarschijnlijk, dus dat jullie een soort van noem het maar even een fase introduceren

643
00:35:09.580 --> 00:35:13.840
waar select gebruikers het alvast kunnen uitproberen.

644
00:35:14.060 --> 00:35:17.180
Ja, dat is afhankelijk van de functionele wijziging natuurlijk.

645
00:35:17.840 --> 00:35:20.920
Een bug fix release is wellicht voor iedereen meteen beschikbaar.

646
00:35:20.920 --> 00:35:22.460
Is de wijziging wat groter?

647
00:35:22.580 --> 00:35:26.400
Dan zit er ook soms een echte UI en een interaction test aan vast

648
00:35:26.400 --> 00:35:29.880
om te kijken hoe bepaalde functie tijd ervaren wordt.

649
00:35:29.880 --> 00:35:32.940
Ja, en wilde jij nog wat toevoegen?

650
00:35:32.940 --> 00:35:38.260
Ja, ja, ik zat te denken van kijk, we hebben inderdaad beperkte UI testen

651
00:35:38.260 --> 00:35:41.740
zoals Jayme al zei, van het kost best wel wat tijd aan onderhoud

652
00:35:41.740 --> 00:35:42.980
om dat allemaal goed te krijgen.

653
00:35:43.900 --> 00:35:48.440
En ik denk dat het vaak een keuze is van als je heel snel wil gaan,

654
00:35:49.260 --> 00:35:53.280
dan kan je minder dit soort testen doen.

655
00:35:53.720 --> 00:35:58.020
Ik denk wel bijvoorbeeld dat grote clubs die heel veel waarde hechten

656
00:35:58.020 --> 00:36:02.340
aan bepaalde kwaliteits eisen zoals een ING en zo,

657
00:36:02.780 --> 00:36:05.420
weet je Rabobank, dat moet gewoon goed zijn.

658
00:36:05.880 --> 00:36:07.100
Want als je geld overmaakt ofzo,

659
00:36:07.320 --> 00:36:10.060
je wil gewoon zeker dat dat niet fout gaat.

660
00:36:10.300 --> 00:36:15.520
Maar voor andere dingen is het risico misschien wat meer toelapbaar.

661
00:36:16.640 --> 00:36:18.760
Dus hoe beperk je dan de risico?

662
00:36:18.940 --> 00:36:24.220
En inderdaad op het moment dat je vaker makkelijker bug fixes kan doen

663
00:36:24.220 --> 00:36:26.140
als dingen mini risico veel zijn.

664
00:36:26.140 --> 00:36:28.040
We hebben bijvoorbeeld ook dingen als feature toggles.

665
00:36:28.540 --> 00:36:30.900
Dus naast een gefaseerde roll-out kan je ook gewoon zeggen

666
00:36:30.900 --> 00:36:32.260
het gaat compleet mis.

667
00:36:32.640 --> 00:36:35.500
We zetten gewoon de feature gewoon compleet uit als er iets nieuws is.

668
00:36:35.980 --> 00:36:38.120
En daarmee probeer je eigenlijk gewoon toch wel een beetje

669
00:36:38.120 --> 00:36:40.740
die snelheid erin te houden.

670
00:36:40.760 --> 00:36:43.620
En als er iets niet goed is, gewoon aan te passen.

671
00:36:44.000 --> 00:36:47.220
En dat kan best wel niet goed zijn, kan niet een tekstje zijn ofzo.

672
00:36:47.280 --> 00:36:51.180
Maar soms kan het ook wel zijn dat gewoon een scherm grondig

673
00:36:51.180 --> 00:36:53.180
aangepakt wordt omdat gewoon iets niet werkt.

674
00:36:53.760 --> 00:36:57.520
En ja, zeg maar dat soort wijzigingen, als je dan ook nog een behoorlijk

675
00:36:57.520 --> 00:36:59.460
veel UI-tests er tegenover hebt zitten,

676
00:37:00.000 --> 00:37:01.540
dat kan best wel een kostbare zaak worden.

677
00:37:02.020 --> 00:37:06.360
Dus vaak kiezen we er wel voor om dat niet 100 procent te doen,

678
00:37:06.480 --> 00:37:08.540
moet ik eerlijk zeggen, maar meer voor die snelheid

679
00:37:08.540 --> 00:37:12.280
en voor die snelle fixes in productie te gaan.

680
00:37:13.280 --> 00:37:15.400
Ja, en de vraag is ook een beetje, wat test je?

681
00:37:15.500 --> 00:37:17.580
Als je je code op een nette manier opzet,

682
00:37:18.300 --> 00:37:22.040
dan test je op de laag net onder de UI eigenlijk al

683
00:37:22.040 --> 00:37:23.380
de meeste functionaliteit.

684
00:37:23.820 --> 00:37:26.040
Misschien alleen de button-click dan nog niet,

685
00:37:26.500 --> 00:37:29.260
maar de logica die eronder zit, dat is allemaal getest.

686
00:37:30.420 --> 00:37:32.200
Ja, ja, wat ik ook wel mooi vind aan jullie verhaal is

687
00:37:32.200 --> 00:37:35.480
dat jullie ook toch na hebben gedacht over de architectuur.

688
00:37:35.780 --> 00:37:39.360
Dus jullie doen multi-platform soort van bouwen.

689
00:37:39.540 --> 00:37:41.880
Dus daar moet ook een gedegen architectuur achter zitten,

690
00:37:41.900 --> 00:37:44.960
zodat je inderdaad de business logica mooi isoleert

691
00:37:44.960 --> 00:37:48.480
van de logica in de UI en dat soort zaken meer.

692
00:37:48.620 --> 00:37:51.620
En dan geeft dat natuurlijk ook meer perspectief

693
00:37:51.620 --> 00:37:55.260
om zaken anders te testen dan traditioneel, zeg maar.

694
00:37:55.380 --> 00:37:56.960
Dus dat je alles met de UI wil.

695
00:37:58.100 --> 00:38:00.320
Dus dat geeft inderdaad zeker mogelijkheden.

696
00:38:00.580 --> 00:38:02.140
Ja, en doordat op die manier het doen,

697
00:38:02.500 --> 00:38:04.080
ben je uiteindelijk ook weer sneller

698
00:38:04.080 --> 00:38:08.840
omdat je, doordat je de bijna 90 procent

699
00:38:08.840 --> 00:38:10.920
wel natuurlijk automatiseerd kan testen,

700
00:38:11.020 --> 00:38:14.400
heb je ook meteen feedback als er dingen stuk gaan.

701
00:38:14.460 --> 00:38:14.720
Ja.

702
00:38:15.220 --> 00:38:16.480
Meteen tijdens het ontwikkelen al.

703
00:38:17.920 --> 00:38:20.220
Ja, iets wat me ook net te binnen schoot,

704
00:38:20.680 --> 00:38:24.140
je had het net over verschillende backend services,

705
00:38:24.800 --> 00:38:27.280
die moeten natuurlijk ook met elkaar communiceren en zo.

706
00:38:27.440 --> 00:38:31.500
Doen jullie ook aan consumer contract driven testing?

707
00:38:32.780 --> 00:38:36.620
Bij de ANWB wordt dat nog niet echt gedaan.

708
00:38:37.740 --> 00:38:39.120
Daar zit wel natuurlijk,

709
00:38:39.760 --> 00:38:41.100
wij zijn heel scherp op,

710
00:38:41.680 --> 00:38:43.900
wat voor wijsigingen kun je nou wel of niet doen in de backend,

711
00:38:43.980 --> 00:38:46.520
omdat je eigenlijk geen controle hebt

712
00:38:46.520 --> 00:38:49.600
over welke gebruiken nou welke versie van de app

713
00:38:49.600 --> 00:38:50.640
geïnstalleerd heeft.

714
00:38:51.940 --> 00:38:54.420
Dus backend services zijn gevergineerd

715
00:38:55.240 --> 00:38:58.040
en er zijn een aantal simpele regels waarbij

716
00:38:59.080 --> 00:39:01.820
dingen toevoegen aan een contract dat mag,

717
00:39:02.280 --> 00:39:04.480
dingen verwijderen of hernoemen.

718
00:39:04.660 --> 00:39:06.500
Ja, dan moet je al gauw denken aan versionering

719
00:39:06.500 --> 00:39:09.180
of iets om dat tegen te gaan.

720
00:39:10.340 --> 00:39:11.860
Maar gebruiken jullie dan ook technologie,

721
00:39:12.080 --> 00:39:14.720
of nou, technologie frameworks als packed,

722
00:39:14.980 --> 00:39:15.380
weet je wel,

723
00:39:16.100 --> 00:39:19.080
om dat dus te blijven controleren

724
00:39:19.660 --> 00:39:23.520
of misschien vinden jullie het wel helemaal niet nodig?

725
00:39:24.740 --> 00:39:26.960
Ja, de microservices die we maken,

726
00:39:27.180 --> 00:39:28.760
die hebben wel een snapshot, zeg maar,

727
00:39:28.980 --> 00:39:32.060
van het respons wat een bepaalde versie heeft,

728
00:39:32.240 --> 00:39:33.760
waar tegen getest kan worden.

729
00:39:33.840 --> 00:39:35.260
En als dat afwijkt,

730
00:39:35.500 --> 00:39:38.180
dan krijg je daar ook een testfout op.

731
00:39:39.000 --> 00:39:40.460
Ja, en dan moet je dus bewust gaan nadenken

732
00:39:40.460 --> 00:39:42.840
over datgene wat je verandert aan je respons.

733
00:39:43.100 --> 00:39:43.680
Ja, precies.

734
00:39:43.920 --> 00:39:47.860
Maar dan gebruik je geen frameworks als packed voor.

735
00:39:47.860 --> 00:39:49.000
Nee, nee, snap ik, ja.

736
00:39:49.000 --> 00:39:50.420
Het idee is wel een vergelijking.

737
00:39:50.420 --> 00:39:51.580
Hetzelfde, ja, klopt.

738
00:39:52.460 --> 00:39:56.280
We hebben het wel gedaan bij voorgaande klanten,

739
00:39:56.480 --> 00:39:57.820
dat we wel, zeg maar,

740
00:39:58.020 --> 00:40:00.840
vooral third-party services waar we weinig controle over hebben.

741
00:40:01.060 --> 00:40:03.300
Dus, want wij maken ook zelf onze eigen backends,

742
00:40:03.520 --> 00:40:06.740
vooral bij de NS hebben we dat erg veel gedaan.

743
00:40:08.600 --> 00:40:10.900
Maar er waren een aantal third-party diensten

744
00:40:10.900 --> 00:40:12.400
waar we geen controle over hadden,

745
00:40:12.480 --> 00:40:13.740
waar we toch wel gewoon, zeg maar,

746
00:40:13.920 --> 00:40:15.720
checkscriptjes hadden om te checken van,

747
00:40:16.000 --> 00:40:16.920
één, doet hij het wel?

748
00:40:16.920 --> 00:40:20.040
En twee, wat is er gebeurd, zeg maar?

749
00:40:21.000 --> 00:40:23.340
Dat soort dingen zijn best wel essentieel,

750
00:40:23.420 --> 00:40:24.700
zodat je gewoon snel kan inspringen,

751
00:40:24.840 --> 00:40:27.360
in plaats van dat je in reviews in je app store

752
00:40:27.360 --> 00:40:28.740
of een Google Play had lezen,

753
00:40:29.040 --> 00:40:31.540
van deze functionaliteit binnen jullie app,

754
00:40:31.720 --> 00:40:33.880
doet het niet meer, pot voor dory.

755
00:40:34.080 --> 00:40:36.360
Dus je moet dat soort dingen wel goed in de gaten houden.

756
00:40:36.580 --> 00:40:36.980
Ja, klopt.

757
00:40:37.240 --> 00:40:38.880
Ja, een leuk iets is altijd,

758
00:40:39.720 --> 00:40:41.560
als je gebruikers eerder weten

759
00:40:41.560 --> 00:40:43.380
dat er iets met je app aan de hand bent,

760
00:40:43.420 --> 00:40:46.360
dan jijzelf, dan is er ergens nog iets

761
00:40:46.360 --> 00:40:47.740
te verbeteren.

762
00:40:48.020 --> 00:40:48.180
Ja, absoluut.

763
00:40:48.720 --> 00:40:49.880
Ja, en één van de,

764
00:40:49.880 --> 00:40:51.560
ik denk ook wel dat het belangrijk is,

765
00:40:51.920 --> 00:40:53.840
dat we ook weer bij de NS geleerd is,

766
00:40:53.860 --> 00:40:57.360
dat we eigenlijk overal wel onze eigen proxie

767
00:40:57.360 --> 00:40:59.820
of aggregated service tussen zetten.

768
00:41:01.240 --> 00:41:03.080
Want op het moment dat een third party

769
00:41:03.080 --> 00:41:06.060
of een API waar wij geen controle over hebben,

770
00:41:06.080 --> 00:41:07.040
iets verandert,

771
00:41:07.240 --> 00:41:09.300
dat we nog dingen kunnen fixen

772
00:41:09.300 --> 00:41:11.020
zonder dat onze gebruikers er last van hebben.

773
00:41:11.060 --> 00:41:13.160
Want je kan inderdaad niet iedereen dwingen

774
00:41:13.160 --> 00:41:15.340
om per direct een nieuwe versie neer te zetten.

775
00:41:16.420 --> 00:41:19.660
Dus dat is toch wel een les die we in het verleden hebben geleerd.

776
00:41:19.760 --> 00:41:21.160
Je wil altijd zeg maar,

777
00:41:21.160 --> 00:41:25.220
de laag tussen je app en je back-end,

778
00:41:25.220 --> 00:41:28.220
daar wil je toch wel bijna absoluut controle over hebben.

779
00:41:28.600 --> 00:41:30.880
Wil je gewoon stabiele app ervaring hebben.

780
00:41:31.400 --> 00:41:32.460
Ja, klopt.

781
00:41:32.700 --> 00:41:34.820
Ja, precies, want dat is wel een,

782
00:41:35.080 --> 00:41:37.540
kijk, ik kom heel erg uit die web, weet je wel.

783
00:41:37.680 --> 00:41:39.660
Ik heb vaak met web applicaties te maken,

784
00:41:39.940 --> 00:41:40.280
gewoon heel erg.

785
00:41:40.560 --> 00:41:42.300
Ik heb heel weinig met mobile apps te maken,

786
00:41:42.320 --> 00:41:44.820
maar dat is gewoon een hele andere manier van

787
00:41:44.820 --> 00:41:48.440
denken over hoe je software moet uitrollen.

788
00:41:48.620 --> 00:41:49.340
Want inderdaad, wat je zegt,

789
00:41:49.500 --> 00:41:51.720
op een gegeven moment kan je inderdaad mensen gewoon niet dwingen,

790
00:41:51.920 --> 00:41:53.300
van, joh, je moet over.

791
00:41:54.080 --> 00:41:56.600
Want ook met die oude versie,

792
00:41:56.620 --> 00:41:57.840
of meuken wilde ik bijna zeggen.

793
00:41:57.960 --> 00:41:59.020
Moet het blijven, moet het blijven.

794
00:41:59.020 --> 00:41:59.920
Moet het gewoon blijven werken.

795
00:42:00.240 --> 00:42:00.780
Ja, precies, dat is het.

796
00:42:00.780 --> 00:42:03.080
Ja, en dan zijn er wel mechanismes te verzinnen

797
00:42:03.080 --> 00:42:05.520
dat je een gebruiker een notificatie kan sturen

798
00:42:05.520 --> 00:42:06.400
of een melding in de app,

799
00:42:06.440 --> 00:42:09.380
maar dan nog, mag je er niet van uitgaan

800
00:42:09.380 --> 00:42:12.760
dat je altijd alle gebruikers op een bepaalde versie zitten.

801
00:42:13.360 --> 00:42:17.720
Ja, jullie zijn al acht jaar samen, toch?

802
00:42:18.680 --> 00:42:19.460
Toch, zeiden jullie net, hè?

803
00:42:20.460 --> 00:42:24.180
Vanaf 2013 ontwikkelen wij samen, inderdaad.

804
00:42:24.500 --> 00:42:25.220
Ja, ja.

805
00:42:25.360 --> 00:42:28.940
Hebben jullie misschien wel ergens een gouden tip

806
00:42:28.940 --> 00:42:31.000
om dat goed te doen, zeg maar?

807
00:42:32.360 --> 00:42:34.000
Om acht jaar samen te kunnen werken?

808
00:42:34.020 --> 00:42:34.880
Ja, dat sowieso.

809
00:42:35.020 --> 00:42:35.800
Hoe hou je het vol?

810
00:42:35.980 --> 00:42:37.140
Laten we daar eens mee beginnen.

811
00:42:37.420 --> 00:42:38.240
Hoe hou je het vol?

812
00:42:39.860 --> 00:42:42.700
Vooral leuke en uitdagende dingen blijven doen, denk ik.

813
00:42:42.700 --> 00:42:45.640
En mekaar scherp houden en van elkaar leren.

814
00:42:46.160 --> 00:42:48.860
En ja, ik denk dat dat wel een belangrijke is.

815
00:42:49.120 --> 00:42:50.580
En het moet ook klikken, natuurlijk.

816
00:42:51.780 --> 00:42:55.280
Vooral ook openstaan, zeg maar, voor andermans ideeën, weet je?

817
00:42:56.500 --> 00:42:57.980
Je bent er om te leren.

818
00:42:58.100 --> 00:43:00.200
En op het moment dat je van elkaar kan leren,

819
00:43:00.640 --> 00:43:02.240
dat is gewoon goud waard, eigenlijk.

820
00:43:02.680 --> 00:43:04.980
Ja, klopt. Je kan niet alles zelf weten of doen.

821
00:43:05.340 --> 00:43:08.460
Nee, de kracht van het samenwerken,

822
00:43:08.900 --> 00:43:10.800
dat is groter dan het individief, denk ik.

823
00:43:11.040 --> 00:43:12.460
En dat is misschien ook wel het mooie,

824
00:43:12.460 --> 00:43:16.340
omdat je toch wel twee soorten verschillende technologie hebt.

825
00:43:16.440 --> 00:43:17.820
Ook al lijkt het enorm veel om elkaar,

826
00:43:18.360 --> 00:43:20.860
krijg je toch wel nieuwe inzichten over hoe jij het gedaan hebt.

827
00:43:21.460 --> 00:43:24.600
Weet je, je doet het toch een beetje in een andere taal,

828
00:43:25.080 --> 00:43:26.340
of net een andere manier.

829
00:43:26.620 --> 00:43:28.460
Maar je leert er echt enorm veel van elkaar.

830
00:43:28.580 --> 00:43:32.320
En je ziet ook wel bijvoorbeeld dat, volgens mij,

831
00:43:32.500 --> 00:43:34.580
Android begon eerst, geloof ik, met Compose,

832
00:43:34.740 --> 00:43:36.120
een beetje achter, of tenminste,

833
00:43:36.300 --> 00:43:38.460
Jamie is begonnen met Flutter, bijvoorbeeld, van Google.

834
00:43:39.760 --> 00:43:42.640
En de manier waarop, Apple begon later met SwiftUI,

835
00:43:42.760 --> 00:43:45.520
toen kwam Compose ongeveer, en dan leer je toch wel,

836
00:43:45.680 --> 00:43:47.180
ze vonden het toch wel zo heel gaaf,

837
00:43:47.280 --> 00:43:49.840
de manier waarop schermen werden opgebouwd en zo.

838
00:43:50.280 --> 00:43:51.520
Het is een hele andere manier van werken,

839
00:43:51.600 --> 00:43:53.340
en dat beginnen we een beetje hierover te nemen.

840
00:43:53.740 --> 00:43:57.120
En we hebben ook een tijdje met Rx dingen gaan,

841
00:43:57.200 --> 00:43:58.860
reactive programmeren.

842
00:43:59.540 --> 00:44:01.640
Ja, het is gewoon super gaaf om dat te ontdekken,

843
00:44:01.660 --> 00:44:03.480
en dat in verschillende technologieën,

844
00:44:03.480 --> 00:44:05.380
zeg maar, allemaal een beetje op dezelfde manier,

845
00:44:05.380 --> 00:44:06.340
uiteindelijk toe te passen.

846
00:44:06.340 --> 00:44:06.780
Ja.

847
00:44:07.960 --> 00:44:12.140
Oké, en stel dat een van jullie zoiets had van,

848
00:44:12.360 --> 00:44:14.520
nou, ik ben er klaar mee, ga je dan ook gelijk weg?

849
00:44:15.580 --> 00:44:16.720
Gaat de ander dan gelijk weg?

850
00:44:19.040 --> 00:44:20.200
Dat weten we nog niet.

851
00:44:20.360 --> 00:44:21.920
Hebben we nog nooit meegemaakt?

852
00:44:21.980 --> 00:44:23.080
Dat moeten we nog ervaren.

853
00:44:23.460 --> 00:44:25.940
Oh, dat moeten we nog ervaren, oké, oké, kom, kom, kom.

854
00:44:26.000 --> 00:44:26.660
Ja, ik ben helemaal nieuw.

855
00:44:26.660 --> 00:44:29.680
Nee, we hebben eigenlijk altijd wel in de luxe positie gezeten

856
00:44:29.680 --> 00:44:33.200
dat we alle projecten eigenlijk wel samen zijn begonnen,

857
00:44:33.460 --> 00:44:34.680
en ook afgeronden, zeg ik.

858
00:44:34.680 --> 00:44:37.400
Oké, nice, ja, ja, dat is wel mooi.

859
00:44:37.640 --> 00:44:43.000
En dan eigenlijk, als we compleet willen zijn, ook met nog drie anderen, zeg maar.

860
00:44:43.620 --> 00:44:43.680
Ja.

861
00:44:43.680 --> 00:44:46.460
Het is een team van vijf in totaal.

862
00:44:47.040 --> 00:44:47.500
Ja, oké.

863
00:44:47.500 --> 00:44:52.140
Ja, zeg maar, het team van vijf bestaat uit een designer,

864
00:44:52.320 --> 00:44:56.420
UX-designer, maar die ook, zeg maar, heel sterk is in visie.

865
00:44:56.820 --> 00:44:59.580
Android, ook een goede full-stack-ontwikkelaar.

866
00:44:59.660 --> 00:45:03.900
We hebben nog een iOS-dame erbij, die ook Android kan.

867
00:45:03.900 --> 00:45:05.360
Ook nog eens een keer back-end kan.

868
00:45:06.120 --> 00:45:09.040
Ja, en de grap is eigenlijk dat je dan...

869
00:45:09.040 --> 00:45:10.340
Dus je bent eigenlijk een team of five.

870
00:45:10.640 --> 00:45:13.800
Ja, we zijn een team of five en we kunnen gewoon, zeg maar,

871
00:45:14.000 --> 00:45:15.340
makaars code leren.

872
00:45:15.420 --> 00:45:17.080
We zijn af en toe wel eens boos op elkaar geweest.

873
00:45:17.140 --> 00:45:18.340
We hebben het uitgesproken, weet je.

874
00:45:18.420 --> 00:45:20.040
We hebben alle ellen wel een keertje gehad,

875
00:45:20.080 --> 00:45:21.600
dus we kennen elkaar hartstikke goed.

876
00:45:21.860 --> 00:45:25.280
Ik wil bijna zeggen, we zijn misschien een beetje familie of zoiets.

877
00:45:25.360 --> 00:45:27.280
Ja, ja, ja, dat voelt het wel even wel.

878
00:45:27.340 --> 00:45:31.660
Zoiets, maar het fijn is, maar natuurlijk ook het lastige,

879
00:45:31.660 --> 00:45:33.940
als andere mensen erbij komen,

880
00:45:34.340 --> 00:45:37.080
is dat natuurlijk, wij hebben aan een halve woord genoeg,

881
00:45:37.160 --> 00:45:39.460
dan weten we ongeveer wat we bedoelen en waar we naartoe gaan.

882
00:45:39.920 --> 00:45:42.040
We weten wat we van elkaar verwachten.

883
00:45:42.300 --> 00:45:43.940
We weten hoe ver we kunnen gaan of niet.

884
00:45:44.600 --> 00:45:46.840
En dat is als buitenstaande, is dat natuurlijk misschien af en toe

885
00:45:46.840 --> 00:45:48.380
een beetje lastig.

886
00:45:48.500 --> 00:45:50.700
En daar moeten wij zelf ook erg op letten.

887
00:45:50.720 --> 00:45:51.080
Ja, dat komt voorzellig.

888
00:45:51.080 --> 00:45:55.160
Dat we andere mensen opstaan en meenemen en...

889
00:45:55.160 --> 00:45:58.280
Ja, precies, want kijk, de organisatie is natuurlijk groter dan jullie.

890
00:45:58.360 --> 00:45:58.940
Klopt, klopt.

891
00:45:58.960 --> 00:46:00.880
Dus dan moeten jullie dan ook wel een beetje rengaan

892
00:46:00.880 --> 00:46:02.300
en gewoon dat je de rest natuurlijk met je mee...

893
00:46:02.300 --> 00:46:04.120
Want je laat natuurlijk wat achter op een gegeven moment.

894
00:46:04.220 --> 00:46:07.660
Ja, en dat is ook het doel die samenwerken in de overdracht.

895
00:46:07.940 --> 00:46:11.560
Oh ja, maar wel leuk om te horen trouwens, dat jullie dan zo als familie,

896
00:46:11.700 --> 00:46:13.080
zeg maar, tussen kotjes,

897
00:46:14.460 --> 00:46:17.980
dan ook bij verschillende grote organisaties jullie dingen kunnen doen

898
00:46:17.980 --> 00:46:19.280
en blijkbaar ook succesvol.

899
00:46:19.900 --> 00:46:22.580
Nou goed, ik had blijkbaar de vraagstellingen een klein beetje anders

900
00:46:22.580 --> 00:46:24.800
kunnen stellen, want mijn vraag ging eigenlijk meer over,

901
00:46:24.860 --> 00:46:27.940
want ik vond het wel interessant wat je net zei, over

902
00:46:29.260 --> 00:46:34.000
Dus dat je die gebruikers die die nieuwe update niet naar binnen willen halen,

903
00:46:34.020 --> 00:46:36.320
want dat kan ook, dat ik het gewoon echt niet wil bijvoorbeeld,

904
00:46:37.140 --> 00:46:39.700
hoe je die dan zeg maar in de gaten houdt,

905
00:46:39.820 --> 00:46:44.180
want ik kan me voorstellen dat dat ook wel een complexe situatie veroorzaakt

906
00:46:44.180 --> 00:46:48.560
in jullie architectuur, in de manier waarop jullie moeten testen, et cetera.

907
00:46:49.800 --> 00:46:54.240
Hoe gaan jullie daarmee om? Is dat gewoon zo simpel als...

908
00:46:54.240 --> 00:46:55.980
Natuurlijk, we hebben gewoon twee verschillende versies,

909
00:46:55.980 --> 00:46:58.120
dus twee verschillende manieren van bouwen.

910
00:46:58.400 --> 00:46:59.520
Kunnen jullie daar iets over vertellen?

911
00:47:00.960 --> 00:47:02.080
Ja, zeker.

912
00:47:02.720 --> 00:47:05.440
Daar zijn verschillende strategieën ook in te bedenken.

913
00:47:07.000 --> 00:47:10.020
Als we bij de Nederlandse spoorweg kijken,

914
00:47:10.160 --> 00:47:11.520
hadden we daar verschillende strategieën.

915
00:47:11.860 --> 00:47:15.280
Daar was het bijvoorbeeld zo dat een bepaald stukje functionaliteit,

916
00:47:15.540 --> 00:47:19.860
daar konden we een check op zetten vanuit de backend die dan aangeeft,

917
00:47:20.240 --> 00:47:23.080
je moet je appen updaten, anders werkt dit stukje niet meer.

918
00:47:23.740 --> 00:47:26.740
Dat is een mogelijkheid om het te forceren,

919
00:47:27.200 --> 00:47:31.760
maar als dat niet aanwezig is, dan moet je er eigenlijk vanuit gaan dat je

920
00:47:31.760 --> 00:47:33.820
oude apps moet blijven ondersteunen,

921
00:47:34.020 --> 00:47:38.400
want anders kan het ook weer een negatieve review natuurlijk in de store tot gevolg hebben.

922
00:47:39.700 --> 00:47:42.340
Maar op een gegeven moment moet je ook kijken naar hoeveel gebruikers zitten

923
00:47:42.340 --> 00:47:45.140
nog op een bepaalde Android of iOS versie,

924
00:47:45.180 --> 00:47:48.920
dan besluit je om een bepaalde versie wellicht niet meer te ondersteunen.

925
00:47:48.920 --> 00:47:52.960
Ja, en dat is aan jezelf om te bepalen wat is acceptabel.

926
00:47:54.080 --> 00:47:57.280
Ja, want ja, dan kom ik toch even terug op het test.

927
00:47:57.420 --> 00:48:02.840
Jullie zitten altijd in de podcast host die het meeste gaat over testen.

928
00:48:03.440 --> 00:48:06.860
Maar ik ben al nieuwsgierig van hoe doe je het dan bij de ANWB nu

929
00:48:06.860 --> 00:48:08.880
met al die verschillende Android versies?

930
00:48:09.860 --> 00:48:12.020
Hebben jullie daar ook al een strategie over?

931
00:48:12.040 --> 00:48:16.620
Ja, wat we voornamelijk proberen is het aantal versies te limiteren.

932
00:48:19.940 --> 00:48:24.560
Een voorbeeld is dat we iOS 12 en 13 aan het droppen zijn.

933
00:48:24.840 --> 00:48:27.040
Want we weten dat mensen die daar op zitten,

934
00:48:27.480 --> 00:48:30.900
kunnen upgraden naar de nieuwe versies 14 en 15.

935
00:48:31.240 --> 00:48:35.820
Dus we kijken echt naar het percentage inderdaad van hoeveel mensen heeft nog iOS 13.

936
00:48:35.920 --> 00:48:38.040
Oh, dat is nog maar 3 procent ofzo.

937
00:48:38.340 --> 00:48:43.020
Kunnen mensen zelf zeg maar een nieuwe versie van Apple iOS installeren?

938
00:48:43.020 --> 00:48:47.820
Ja, oké, dan kunnen we tegen zeggen als ze graag onze app willen gebruiken,

939
00:48:48.580 --> 00:48:50.200
dat ze moeten upgraden eigenlijk.

940
00:48:50.280 --> 00:48:54.200
Wat natuurlijk ook wel beter is vanuit de security oogpunt, maar dat terzijde.

941
00:48:54.660 --> 00:49:00.680
Maar goed, we hebben nu alvorens netjes een antwoord dat mensen nog steeds spullable kunnen blijven gebruiken.

942
00:49:02.220 --> 00:49:06.040
Oké, dat klinkt ook wel eens een goede aanpak, want dat lijkt me echt een hell als je...

943
00:49:06.040 --> 00:49:09.180
Het is niet alleen de verschillende versies,

944
00:49:09.180 --> 00:49:14.220
maar ook de verschillende devices ook nog eens een keer, verschillende screen resoluties.

945
00:49:14.780 --> 00:49:19.500
Gelukkig qua CPU-architectuur, ik weet nog wel dat ik op een gegeven moment ergens een bug had,

946
00:49:20.180 --> 00:49:26.540
per ongeluk omdat ik een te groot nummer in een instopte op een 32-bit ARM-CPU.

947
00:49:26.920 --> 00:49:30.160
En er werd afgekapt en ik snapte er helemaal niks van,

948
00:49:30.320 --> 00:49:34.740
want op mijn telefoon het wel deed, maar op een iPhone 5 deed hij het niet.

949
00:49:35.340 --> 00:49:37.320
En ik snapte er echt niks van, weet je, dat soort dingen.

950
00:49:38.040 --> 00:49:39.400
iPhone 5 ook, hè?

951
00:49:39.600 --> 00:49:43.140
Als je dat soort dingen achter je kan laten, dat soort dingen is heel fijn.

952
00:49:43.240 --> 00:49:45.580
Want je hebt zoveel verschillende devices heb je allemaal nodig,

953
00:49:45.620 --> 00:49:46.960
waarin het allemaal getest wordt.

954
00:49:48.520 --> 00:49:49.720
Dus hoe minder hoe beter.

955
00:49:49.760 --> 00:49:50.680
Je moet altijd vooruitkijken.

956
00:49:50.740 --> 00:49:52.620
Je kan nooit alles blijven ondersteunen.

957
00:49:52.820 --> 00:49:55.420
Want het is zo'n constellatie van verschillende dingen,

958
00:49:55.440 --> 00:49:57.340
en dat heb je natuurlijk op web ook wel een beetje geklopt.

959
00:49:57.640 --> 00:49:58.640
Zeker, ja.

960
00:49:59.260 --> 00:50:01.740
Want waar ik dan over het algemeen te mee te maken heb,

961
00:50:01.800 --> 00:50:04.680
is ook inderdaad die verschillende machines,

962
00:50:04.980 --> 00:50:06.860
maar ook verschillende browsers en versies.

963
00:50:06.860 --> 00:50:08.400
Versies wat minder, hoor.

964
00:50:08.580 --> 00:50:10.440
Meestal doen we de laatste versies.

965
00:50:11.400 --> 00:50:12.320
Maar ook daar dan,

966
00:50:12.320 --> 00:50:15.320
dan maken we toch wel gebruik van clouddiensten.

967
00:50:15.680 --> 00:50:16.360
Doen jullie dat ook?

968
00:50:16.840 --> 00:50:20.140
Dus een browsers stack of andere, weet je wel,

969
00:50:21.320 --> 00:50:25.620
andere verschillende providers die in de cloud die mobile devices aanbieden?

970
00:50:26.460 --> 00:50:28.820
Bij NECOD doen we dat volgens mij wel.

971
00:50:28.960 --> 00:50:32.920
Bij ANWB dacht ik dat er ook eens gekeken naar browsers stack,

972
00:50:32.940 --> 00:50:36.000
maar dat doen wij nog niks actiefs mee op dit moment.

973
00:50:37.220 --> 00:50:38.880
Oké, nou ja, dat kan, hè.

974
00:50:39.980 --> 00:50:44.200
Blijkbaar is dat nog goed genoeg om het niet te gebruiken dan, toch?

975
00:50:44.780 --> 00:50:47.320
Want ja, dan hebben jullie blijkbaar toch iets goed neergezet,

976
00:50:47.600 --> 00:50:49.140
waar niet heel veel klachten...

977
00:50:49.140 --> 00:50:50.360
Ja, dat is het.

978
00:50:50.360 --> 00:50:51.660
Dat is altijd zeg maar de afweging,

979
00:50:51.780 --> 00:50:54.020
van hoeveel klachten kunnen we het oplossen nog steeds

980
00:50:54.020 --> 00:50:55.920
met onze unit-testen, integratietesten,

981
00:50:56.120 --> 00:50:58.660
een soort snapshot-testen, inderdaad, UI-testen.

982
00:50:59.300 --> 00:51:02.160
En op het moment dat de spuigaten uit beginnen te lopen,

983
00:51:02.260 --> 00:51:03.200
of dat het te erg hoort,

984
00:51:03.260 --> 00:51:05.460
of dat we bepaalde dingen gewoon

985
00:51:05.460 --> 00:51:07.380
misschien iets te vaak kapot gaan,

986
00:51:08.400 --> 00:51:10.400
dan gaan we gewoon kijken hoe we dat gewoon kunnen oplossen.

987
00:51:10.620 --> 00:51:12.860
En ik denk dat het ook op zich wel een gezonde manier is

988
00:51:12.860 --> 00:51:14.740
van hoe je omgaat met testen,

989
00:51:14.740 --> 00:51:16.360
want sommige dingen zijn heel evident.

990
00:51:17.700 --> 00:51:19.200
Die zijn misschien te simpel.

991
00:51:20.180 --> 00:51:21.640
Dat zeg ik als ontwikkelaar.

992
00:51:22.180 --> 00:51:23.140
Super link, natuurlijk.

993
00:51:23.160 --> 00:51:23.720
Ja, ja, ja.

994
00:51:23.840 --> 00:51:26.560
Maar vaak als ontwikkelaar denk ik van oh,

995
00:51:26.580 --> 00:51:27.620
dat is wel best wel complex,

996
00:51:27.720 --> 00:51:30.220
dus daar ga ik gewoon net zoveel testen voor schrijven,

997
00:51:30.280 --> 00:51:31.800
want dat kan makkelijk kapot gaan,

998
00:51:31.840 --> 00:51:33.860
of het is niet heel duidelijk hoe het in je status

999
00:51:33.860 --> 00:51:36.200
als iemand anders hier aan gaat zitten,

1000
00:51:36.420 --> 00:51:37.460
dan kan het omvallen.

1001
00:51:38.680 --> 00:51:41.200
Maar ik weet ook wel, zeg maar, in mijn vorige projecten

1002
00:51:41.200 --> 00:51:44.340
dat twee of drie keer dat iets stuk was gegaan,

1003
00:51:44.400 --> 00:51:46.320
denk ik van nou, dit moeten we gewoon goed gaan testen.

1004
00:51:46.440 --> 00:51:47.900
En iedere keer dat we een nieuwe versie maken

1005
00:51:47.900 --> 00:51:49.420
en in de App Store zetten,

1006
00:51:49.600 --> 00:51:51.460
moet het gewoon netjes groen door die test heen komen.

1007
00:51:53.180 --> 00:51:56.260
Want ik wil niet weer een hotfix uit gaan brengen

1008
00:51:56.260 --> 00:51:57.060
of iets dergelijks.

1009
00:51:57.140 --> 00:51:58.000
Nee, tuurlijk niet.

1010
00:51:58.580 --> 00:52:01.220
Ja, ik denk dat dat niemand zou willen wensen.

1011
00:52:04.080 --> 00:52:07.400
Oké, nou, het lijkt me ook wel een leuk bruggetje

1012
00:52:07.400 --> 00:52:08.640
wat we nu kunnen maken.

1013
00:52:09.680 --> 00:52:11.900
We hadden het net eventjes over van, ja,

1014
00:52:11.900 --> 00:52:13.700
hoe zorgen we nou voor dat al die verschillende

1015
00:52:14.780 --> 00:52:17.260
mobile devices, zeg maar, blijven werken

1016
00:52:17.260 --> 00:52:18.720
met de features die jullie bouwen?

1017
00:52:19.180 --> 00:52:20.720
Nou, hebben jullie zelf al verteld

1018
00:52:20.720 --> 00:52:24.560
dat jullie Native en Kotlin gebruiken

1019
00:52:24.560 --> 00:52:28.060
om multi-platform voor iOS en Android te bouwen?

1020
00:52:28.560 --> 00:52:29.040
Klopt.

1021
00:52:31.220 --> 00:52:34.500
Hebben jullie, ja, wat zijn nou de voordelen

1022
00:52:34.500 --> 00:52:37.160
als je op die manier gaat werken?

1023
00:52:38.860 --> 00:52:42.460
Bij de ANWB gebruiken we deze technologie nog niet.

1024
00:52:43.740 --> 00:52:45.300
Bij NECO hebben we deze wel toegepast.

1025
00:52:45.980 --> 00:52:48.200
Dat komt eigenlijk uit als we een stapje

1026
00:52:48.200 --> 00:52:51.620
teruggaan in de tijd, waar wij aan de basis

1027
00:52:51.620 --> 00:52:53.220
hebben gestaan van de NS Reisplanner.

1028
00:52:53.520 --> 00:52:55.400
Dat zijn natuurlijk ook twee Native apps,

1029
00:52:55.620 --> 00:52:56.580
iOS en Android.

1030
00:52:58.620 --> 00:53:00.320
Maar het nadeel blijft natuurlijk

1031
00:53:00.320 --> 00:53:02.800
maken van twee apps dat je dingen twee keer doet.

1032
00:53:03.480 --> 00:53:04.920
Je bent twee keer je code aan het schrijven,

1033
00:53:05.520 --> 00:53:06.680
je moet twee keer testen,

1034
00:53:07.340 --> 00:53:08.960
je introduceert in twee platformen,

1035
00:53:09.960 --> 00:53:14.140
kun je issues introduceren, et cetera.

1036
00:53:14.260 --> 00:53:16.420
Dus we zijn eigenlijk een beetje aan het nadenken gegaan.

1037
00:53:17.960 --> 00:53:20.940
Want de voordelen van Native zijn natuurlijk heel veel.

1038
00:53:21.660 --> 00:53:23.520
Hoe kunnen we dat nou op een andere manier

1039
00:53:23.520 --> 00:53:24.280
een betere manier doen?

1040
00:53:25.500 --> 00:53:28.320
In die tijd is ook Kotlin multi-platform ontstaan,

1041
00:53:28.320 --> 00:53:31.160
een technologie gemaakt door JetBrains,

1042
00:53:32.380 --> 00:53:34.640
waarbij je toch Native kan ontwikkelen,

1043
00:53:34.900 --> 00:53:38.300
maar toch ook code kan delen over beide platformen heen.

1044
00:53:38.640 --> 00:53:40.200
En sterker nog niet alleen iOS of Android,

1045
00:53:40.320 --> 00:53:43.500
maar ook het web, back-end en ook desktop Native apps.

1046
00:53:45.060 --> 00:53:48.840
Bij NS zijn we daar al een beetje mee aan het experimenteren geweest.

1047
00:53:48.920 --> 00:53:51.640
Het was nog net te vroeg om daarmee aan de slag te gaan.

1048
00:53:53.820 --> 00:53:56.200
Dus drie jaar geleden hebben we aan de basis gestaan

1049
00:53:56.200 --> 00:53:58.900
van de nieuwe NECO-app die nu in de store staat.

1050
00:53:59.740 --> 00:54:01.540
En daar hebben we wel de keuze gemaakt om het

1051
00:54:01.540 --> 00:54:03.980
met de Kotlin multi-platform mobile te doen,

1052
00:54:05.140 --> 00:54:08.680
waarbij we eigenlijk business logica code kunnen delen

1053
00:54:08.680 --> 00:54:10.600
over twee platformen heen.

1054
00:54:12.320 --> 00:54:16.220
En voor diegene die Kotlin nog niet kennen,

1055
00:54:16.980 --> 00:54:18.520
zou een van jullie misschien kunnen uitleggen

1056
00:54:18.520 --> 00:54:21.340
waar het vandaan komt en wat het is?

1057
00:54:22.060 --> 00:54:26.760
Kotlin is een taal die in 2011, als ik het goed heb,

1058
00:54:27.260 --> 00:54:30.140
versie 1 is uitgekomen, ontwikkeld door JetBrains

1059
00:54:31.140 --> 00:54:35.820
als alternatief voor Java, als een eenvoudigere language.

1060
00:54:35.980 --> 00:54:40.920
Null safety, concise, met functionele aspecten erin.

1061
00:54:41.520 --> 00:54:43.760
Het heeft eigenlijk echt een enorme vlucht genomen

1062
00:54:43.760 --> 00:54:45.020
toen Google aankondigde

1063
00:54:46.500 --> 00:54:50.000
Kotlin wordt de first class language voor Android

1064
00:54:50.000 --> 00:54:50.840
in plaats van Java.

1065
00:54:50.840 --> 00:54:54.960
En daarna is het echt in vorenvlucht gegaan.

1066
00:54:55.220 --> 00:54:57.460
En waarom denk je dat Google zoiets heeft besloten?

1067
00:54:58.280 --> 00:55:00.100
Hebben die al zo diep het onderzoek?

1068
00:55:00.860 --> 00:55:02.620
Nee, niet zo diep onderzocht,

1069
00:55:02.880 --> 00:55:04.820
maar waarschijnlijk ook omdat de taal

1070
00:55:04.820 --> 00:55:07.480
een hoop voordelen biedt ten opzichte van Java.

1071
00:55:07.740 --> 00:55:09.340
Ik weet uit de rapport van Google

1072
00:55:10.420 --> 00:55:15.100
dat het aantal questions door gebruik te maken van Kotlin

1073
00:55:15.100 --> 00:55:17.240
sterk verminderd wordt in Android apps

1074
00:55:17.240 --> 00:55:18.740
en dat kunnen ze analyseren natuurlijk

1075
00:55:18.740 --> 00:55:20.320
in de Play Store in Crashlydics.

1076
00:55:20.320 --> 00:55:21.960
Maar dat zagen wij zelf ook

1077
00:55:21.960 --> 00:55:24.580
en dan voornamelijk het aantal nulpointer exceptions

1078
00:55:24.580 --> 00:55:26.360
wat drastisch minder is,

1079
00:55:26.380 --> 00:55:29.440
omdat Kotlin een nul safe language is.

1080
00:55:29.620 --> 00:55:30.900
Dat wil niet zeggen dat je het niet kan krijgen,

1081
00:55:32.740 --> 00:55:35.400
maar het is een stuk minder dan op Java.

1082
00:55:35.960 --> 00:55:38.580
Is het niet omdat ook Oracle en Google

1083
00:55:38.580 --> 00:55:40.760
op een gegeven moment een juridische strijd om Java waren

1084
00:55:40.760 --> 00:55:41.700
begonnen in Android?

1085
00:55:42.100 --> 00:55:43.860
Dat zou kunnen, dat zou kunnen, ja.

1086
00:55:44.720 --> 00:55:45.800
Maar goed, daarnaast, ik bedoel,

1087
00:55:45.840 --> 00:55:47.460
ik vind Kotlin echt veel betere taal

1088
00:55:47.460 --> 00:55:53.080
dan Java, ook al heb ik zelf een tientallen jaren ervaring in Java.

1089
00:55:53.880 --> 00:55:56.160
En zou je daar een voorbeeld in kunnen geven

1090
00:55:56.160 --> 00:55:58.500
of wat je er beter aan vindt ten opzichte van Java?

1091
00:55:59.580 --> 00:56:02.720
Goed, vanuit iOS doe ik al best wel lang Swift

1092
00:56:02.720 --> 00:56:07.100
en eigenlijk bijvoorbeeld die nul safe, die type inference,

1093
00:56:07.420 --> 00:56:09.040
dat soort dingen, dat heeft Kotlin ook allemaal.

1094
00:56:09.560 --> 00:56:12.200
Dus voor mij was het gewoon een soort van warm bad

1095
00:56:12.200 --> 00:56:14.120
waar ik in terecht kwam eigenlijk.

1096
00:56:14.340 --> 00:56:15.400
Van oh, Kotlin heeft dat ook,

1097
00:56:15.520 --> 00:56:16.960
alleen de syntax is net even anders

1098
00:56:16.960 --> 00:56:20.420
en het heeft bepaalde dingetjes werken net even anders.

1099
00:56:21.080 --> 00:56:23.120
En er zijn een paar prachtige cheat sheets,

1100
00:56:23.440 --> 00:56:27.640
voorals je als iOS ontwikkelaar Swift Kotlin ineens wilt doen,

1101
00:56:27.780 --> 00:56:29.180
dan kan je zeggen van nou, ik wil dit doen,

1102
00:56:29.740 --> 00:56:30.980
ik wil een lijst aanmaken,

1103
00:56:31.020 --> 00:56:32.360
hoe maak je een lijst in Kotlin aan,

1104
00:56:33.280 --> 00:56:36.000
of hoe verander je je werk, data classes of iets dergelijks.

1105
00:56:37.540 --> 00:56:40.620
Het voelt gewoon, zeg maar, modern,

1106
00:56:41.060 --> 00:56:42.040
nou, dat niet alleen,

1107
00:56:43.000 --> 00:56:45.780
maar het voelt ook gewoon, zeg maar, ongeveer hetzelfde.

1108
00:56:45.780 --> 00:56:47.520
Dus, zeg maar, wat je in Swift kan doen,

1109
00:56:47.660 --> 00:56:49.960
kan je ook in Kotlin doen en ongeveer vice versa.

1110
00:56:50.340 --> 00:56:51.060
Klopt, klopt.

1111
00:56:52.160 --> 00:56:55.520
En het lijkt wel, af en toe doe ik nog wel eens dingen in Java hoor,

1112
00:56:55.720 --> 00:57:00.960
dat, dat ben je toch, ja, Kotlin voelt,

1113
00:57:01.040 --> 00:57:04.060
alsof het een minder cognitieve overhead heeft dan Java.

1114
00:57:04.140 --> 00:57:05.540
Het gaat allemaal vanzelfsprekend.

1115
00:57:06.420 --> 00:57:09.340
Wat je zou willen maken, dat maak je in Kotlin,

1116
00:57:09.380 --> 00:57:12.640
zonder daar echt een hele hoop boilerplate code voor nodig te hebben.

1117
00:57:12.640 --> 00:57:13.980
Ja, ja, oké.

1118
00:57:14.360 --> 00:57:15.820
Ja, dus dat is het punt dus meer.

1119
00:57:16.180 --> 00:57:20.220
Ze zorgen voor dat het alle boilerplate voor je al geweg geabstrijd is.

1120
00:57:20.400 --> 00:57:21.460
Voor een groot deel, ja.

1121
00:57:21.880 --> 00:57:22.600
Oké, oké.

1122
00:57:23.260 --> 00:57:23.640
Ja, nice.

1123
00:57:23.660 --> 00:57:25.080
Zijn er nog andere voordelen die,

1124
00:57:26.700 --> 00:57:29.900
stel dat je inderdaad iOS en Android moet gaan supporten,

1125
00:57:30.140 --> 00:57:33.620
het voordeel van Kotlin ten opzichte van native bouwen.

1126
00:57:34.320 --> 00:57:37.180
Ja, wat je eigenlijk met Kot in een multi-platform doet,

1127
00:57:37.960 --> 00:57:39.240
je bouwt ook echt native,

1128
00:57:40.360 --> 00:57:44.580
maar je maakt eigenlijk een geshared en shared kodelaar,

1129
00:57:44.780 --> 00:57:45.820
die bouw je in Kotlin.

1130
00:57:46.500 --> 00:57:49.320
In Android kun je die gebruiken als zijn de native library.

1131
00:57:50.260 --> 00:57:52.780
In iOS wordt die gecompileerd naar een framework

1132
00:57:52.780 --> 00:57:55.000
en kun je hem dus ook gebruiken als a native library.

1133
00:57:55.920 --> 00:57:58.000
Dus dat is eigenlijk gewoon een native app,

1134
00:57:59.560 --> 00:58:01.620
een native stukje code wat je maakt,

1135
00:58:01.780 --> 00:58:04.120
maar dan wel gedeeld over beide platformen.

1136
00:58:05.100 --> 00:58:05.180
Ah, oké.

1137
00:58:05.220 --> 00:58:07.640
Dus je hebt je business logica kun je delen.

1138
00:58:07.640 --> 00:58:11.240
We zijn bij InEco begonnen met Kotlin Multi-platform

1139
00:58:12.160 --> 00:58:15.420
en in eerste instantie deden we de business logica,

1140
00:58:15.820 --> 00:58:19.900
de HTTP request, de object serialisatie vanuit de server,

1141
00:58:20.420 --> 00:58:21.780
allemaal in common code.

1142
00:58:21.900 --> 00:58:24.120
Dus dat werd allemaal gedeeld over beide platformen.

1143
00:58:25.360 --> 00:58:29.040
En daarnaast zijn we zelfs ook de shared resources,

1144
00:58:29.220 --> 00:58:31.500
zoals de labels en de teksten en de images,

1145
00:58:32.260 --> 00:58:34.820
maar zelfs ook de view models gaan schrijven

1146
00:58:34.820 --> 00:58:36.760
in Kotlin Multi-platform,

1147
00:58:36.760 --> 00:58:40.700
zodat je eigenlijk alleen nog maar een ui laag overhoudt

1148
00:58:41.180 --> 00:58:44.220
in je echte iOS en Android app.

1149
00:58:44.560 --> 00:58:46.560
Ja, en ik denk dat je het een beetje inderdaad zo moet zien

1150
00:58:47.660 --> 00:58:52.000
van die view models, die spreken gewoon zeg maar een view aan.

1151
00:58:52.340 --> 00:58:55.880
Die vertellen eigenlijk welke teksten erop moeten komen

1152
00:58:55.880 --> 00:58:59.900
en dat staat op de view die je bijvoorbeeld in SwiftUI of in Compose maakt.

1153
00:59:00.040 --> 00:59:01.160
Deze knop, die doet iets

1154
00:59:01.160 --> 00:59:04.380
en die knop roept dan weer je view model in Kotlin aan,

1155
00:59:04.380 --> 00:59:06.960
die vervolgens misschien een HTTP request doet.

1156
00:59:07.400 --> 00:59:09.920
Maar het is allemaal Kotlin en het is allemaal dezelfde code.

1157
00:59:10.920 --> 00:59:14.980
En dus dat betekent dat je maar één keer de bug of the fixen in plaats van twee keer

1158
00:59:14.980 --> 00:59:16.600
en dat je geen platform verschillen hebt,

1159
00:59:16.700 --> 00:59:18.120
wat natuurlijk hartstikke fijn is.

1160
00:59:18.440 --> 00:59:19.280
Hoep, hoep.

1161
00:59:19.480 --> 00:59:22.760
Ja, het klinkt als een beetje de backend voor een frontend, toch?

1162
00:59:23.800 --> 00:59:24.580
Ja, klopt.

1163
00:59:25.140 --> 00:59:27.100
En sterker nog, je kan het nog mooier maken

1164
00:59:27.100 --> 00:59:28.860
door dat je bijvoorbeeld je domein modellen,

1165
00:59:28.880 --> 00:59:31.820
want het is Kotlin, kan je ook nog eens een keer op de server draaien.

1166
00:59:31.820 --> 00:59:34.700
Dus je hebt, zeg maar, je Kotlin op de server,

1167
00:59:34.880 --> 00:59:38.300
je hebt de Kotlin op je clients heb je draaien.

1168
00:59:40.760 --> 00:59:43.180
Dus ja, shared code.

1169
00:59:43.520 --> 00:59:47.660
En volgens mij, de eerste die daar echt een beetje mee begon was Spotify,

1170
00:59:47.900 --> 00:59:51.640
met geloof ik z'n C en z'n C++ libraries voor Android en iOS.

1171
00:59:51.740 --> 00:59:53.860
Volgens mij hadden ze het ook op een gegeven moment gebruikt op de server.

1172
00:59:54.720 --> 00:59:56.500
En toen dacht ik van, ja, dat is toch wel echt heel cool,

1173
00:59:56.560 --> 00:59:57.560
dat je dan dat kan doen.

1174
00:59:57.820 --> 00:59:59.280
Alleen ja, vervolgens heb je natuurlijk,

1175
00:59:59.740 --> 01:00:01.280
toen werd nog Android in Java gedaan,

1176
01:00:01.280 --> 01:00:06.380
dus dan had je Java en C in C++ en dan had je Objective C voor iOS.

1177
01:00:06.580 --> 01:00:08.400
En dan had je ook weer C in C++ en dan dacht ik van,

1178
01:00:08.780 --> 01:00:09.600
nou, misschien wil ik dat niet.

1179
01:00:09.680 --> 01:00:14.680
En dan lop je weer met de memory allocation, mallocks, de rotzooien en zo.

1180
01:00:14.880 --> 01:00:16.660
Nou, dat is misschien nog wat te complex,

1181
01:00:18.120 --> 01:00:19.560
maar zoals ik al zei, weet je,

1182
01:00:20.500 --> 01:00:26.360
Kotlin is de eerste langage voor Android vanuit Google.

1183
01:00:26.540 --> 01:00:28.240
En het lijkt enorm veel op Zwift.

1184
01:00:29.580 --> 01:00:31.260
Ja, het is gewoon een hele goede fit.

1185
01:00:31.840 --> 01:00:36.640
Ja, want is er nog veel competitie in dat veld?

1186
01:00:37.520 --> 01:00:39.780
Want ja, tuurlijk, wat je zegt, het klinkt ook heel logisch.

1187
01:00:39.940 --> 01:00:41.420
Ja, weet je wel, dat wil je.

1188
01:00:41.980 --> 01:00:48.380
Maar zijn er ook na Kotlin nog andere concurrenten die dit soort dingen bouwen?

1189
01:00:51.160 --> 01:00:51.800
Multiplatformen, dat betekent.

1190
01:00:52.400 --> 01:00:56.280
Ja, ja, er zijn eigenlijk wel een hoop aanbieders

1191
01:00:56.280 --> 01:01:00.420
waarmee je met één codebase meerdere platformen target,

1192
01:01:00.420 --> 01:01:02.660
denk het aan Flutter, React Native,

1193
01:01:02.800 --> 01:01:05.280
vroeger had je Cordova natuurlijk om webapps te maken.

1194
01:01:06.700 --> 01:01:08.960
Verschillen is dat met Kotlin Multiplatform

1195
01:01:08.960 --> 01:01:11.600
je nog steeds echt native aan het werk bent.

1196
01:01:11.760 --> 01:01:15.320
Er is geen interpreter, er is geen runtime aanwezig in je app.

1197
01:01:15.440 --> 01:01:18.420
Het blijft allemaal native en dat is een grote voordeel.

1198
01:01:18.500 --> 01:01:20.020
Ik wil niet zeggen dat die andere technologieen

1199
01:01:21.640 --> 01:01:22.980
niet goed zijn ten opzichte van dat.

1200
01:01:23.020 --> 01:01:24.240
We hebben ook in use cases,

1201
01:01:24.780 --> 01:01:27.820
maar voor grotere apps zoals NS en Neko

1202
01:01:27.820 --> 01:01:32.140
en potentieel ook bij de ANWB die een langere lifecycle hebben,

1203
01:01:34.420 --> 01:01:39.820
niet dit echt wel voordelen en ook de manier van integreren.

1204
01:01:41.360 --> 01:01:42.160
Ja, precies.

1205
01:01:43.500 --> 01:01:46.580
Ik snap dat wel, want wat mij wel best wel raakt

1206
01:01:46.580 --> 01:01:48.320
en ook wat ik nu wat van geleerd heb,

1207
01:01:48.520 --> 01:01:50.920
is dat je het inderdaad, je ontwikkelt het.

1208
01:01:51.160 --> 01:01:53.660
Het kan zowel iOS als Android,

1209
01:01:54.960 --> 01:01:59.760
noem het maar even gecompileerd worden in een package of iets dergelijks,

1210
01:01:59.760 --> 01:02:00.160
vermoed ik.

1211
01:02:00.220 --> 01:02:00.900
Ja, in een library.

1212
01:02:01.160 --> 01:02:04.960
In een library en dan kan je het weer importeren in de native app

1213
01:02:05.580 --> 01:02:07.740
en die dan weer gebruiken.

1214
01:02:08.320 --> 01:02:09.980
Precies, je kan het gewoon direct aanspreken.

1215
01:02:10.540 --> 01:02:12.960
Er zit geen bridge tussen of een bepaald laagje.

1216
01:02:13.240 --> 01:02:15.480
Je hoeft niet een plugin te maken of iets dergelijks.

1217
01:02:15.840 --> 01:02:17.960
Het is gewoon per direct is het gewoon beschikbaar.

1218
01:02:18.540 --> 01:02:21.580
En gelukkig, het bestaat nou al jaren,

1219
01:02:21.580 --> 01:02:26.100
dus het is wel redelijk stabiel en robuust.

1220
01:02:26.560 --> 01:02:29.740
Toolsupport is, nou ja, JetBrains zit erachter van IntelliJ.

1221
01:02:30.920 --> 01:02:33.680
Dat zijn toch wel echt serieus goede tools.

1222
01:02:33.920 --> 01:02:36.300
Dus bijvoorbeeld voor mijn iOS ontwikkeling,

1223
01:02:36.320 --> 01:02:39.320
ik gebruik app code vooral van JetBrains.

1224
01:02:39.780 --> 01:02:44.160
Xcode gebruik ik niet zo heel vaak omdat ik gewoon de refactoring heel erg mis.

1225
01:02:44.480 --> 01:02:47.120
En ik vind het ook heel fijn dat ik gewoon dezelfde tool suite heb

1226
01:02:47.880 --> 01:02:51.400
over mijn backend ontwikkeling en frontend ontwikkeling.

1227
01:02:51.400 --> 01:02:54.220
En dezelfde shortcuts en dat soort dingen allemaal.

1228
01:02:54.480 --> 01:02:55.020
Ja, tuurlijk.

1229
01:02:55.580 --> 01:02:57.320
Weer gaat het over developer experience.

1230
01:02:57.760 --> 01:02:59.840
En dat is denk ik waar JetBrains heel goed in is.

1231
01:03:00.040 --> 01:03:01.580
Die houdt daar echt wel gaan rekening mee.

1232
01:03:01.620 --> 01:03:02.740
Klopt, klopt.

1233
01:03:03.140 --> 01:03:06.580
Ja, en ja, een beetje een,

1234
01:03:06.580 --> 01:03:09.360
misschien wel een moeilijke vraag voor jullie om te beantwoorden,

1235
01:03:09.420 --> 01:03:12.300
maar zijn er ook nadelen die jullie al gezien hebben,

1236
01:03:12.840 --> 01:03:15.560
waarvan jullie onze luisteraars toch een beetje op de hoogte willen houden?

1237
01:03:15.780 --> 01:03:17.140
En misschien ook wel een tip om daarmee om te houden.

1238
01:03:17.140 --> 01:03:21.440
Ik zal als eerste het eerste grote nadeel wat ik ondervond

1239
01:03:21.440 --> 01:03:22.800
met Kotlin Multiplatform.

1240
01:03:22.980 --> 01:03:26.440
Maar gelukkig heeft ze dat wel grotendeels gefixt.

1241
01:03:26.880 --> 01:03:30.320
Die compiler was zo ontzettend traag.

1242
01:03:30.500 --> 01:03:31.020
Oké.

1243
01:03:31.020 --> 01:03:34.000
Ik was al gewend dat de Swift compiler af en toe traag is.

1244
01:03:34.600 --> 01:03:39.500
Want bijvoorbeeld voor de grotere apps

1245
01:03:39.500 --> 01:03:42.260
ben je toch wel minuten aan het compiler af en toe.

1246
01:03:42.400 --> 01:03:45.060
Nou, in het begin met Kotlin Multiplatform

1247
01:03:45.060 --> 01:03:46.740
was dat toch wel bijzonder pittig.

1248
01:03:46.740 --> 01:03:51.560
Ik denk ook voor iOS ontwikkelaars om toch wel even een andere taal

1249
01:03:51.560 --> 01:03:55.180
erbij te nemen waar ze niet wat nieuw voor ze is.

1250
01:03:55.340 --> 01:03:57.720
Dat is toch wel eng en lastig.

1251
01:03:57.940 --> 01:04:00.900
Dus je moet er wel over open kunnen staan.

1252
01:04:01.940 --> 01:04:05.440
Dat was toch ook wel heel erg vervelend.

1253
01:04:06.160 --> 01:04:07.950
En ik denk ook dat als je niet...

1254
01:04:09.680 --> 01:04:12.900
Onze ervaring was dat het werkte heel goed

1255
01:04:12.900 --> 01:04:14.460
om met Kotlin Multiplatform te werken

1256
01:04:14.460 --> 01:04:16.400
op het moment dat we gebruik maakten van

1257
01:04:16.400 --> 01:04:19.160
trunk-based development en een mono-repo.

1258
01:04:20.080 --> 01:04:24.560
En dat wil zeggen dat we hadden een bug, die fik je dan

1259
01:04:24.560 --> 01:04:27.800
en vervolgens zie je gelijk welke app kapot gaat.

1260
01:04:28.500 --> 01:04:29.820
Omdat die daar nog geen...

1261
01:04:29.820 --> 01:04:31.480
Omdat je een bepaalde interface verandert.

1262
01:04:31.720 --> 01:04:34.100
Dus je wil heel snel feedback hebben.

1263
01:04:35.380 --> 01:04:38.480
Je zou denk ik niet echt goed rond kunnen komen

1264
01:04:38.480 --> 01:04:42.580
door een soort library te maken die dan ergens te publiceren

1265
01:04:42.580 --> 01:04:45.140
en die dan één keer in de week binnen te trekken ofzo.

1266
01:04:45.360 --> 01:04:46.140
Dat zou ik niet doen.

1267
01:04:46.440 --> 01:04:48.140
Ik zou gewoon lekker voor een mono-repo gaan,

1268
01:04:48.360 --> 01:04:52.500
trunk-based development en zorgen dat je heel snel feedback krijgt

1269
01:04:53.360 --> 01:04:56.980
erin op het moment dat je dingen aan je netwerking

1270
01:04:56.980 --> 01:04:59.760
en je serialisatie en je viewmodels,

1271
01:04:59.840 --> 01:05:02.160
je business logica gaat veranderen.

1272
01:05:02.600 --> 01:05:06.960
Ja, en je zegt nu trunk-based development.

1273
01:05:08.520 --> 01:05:10.500
Ik heb daar ooit een keer een andere aflevering ook...

1274
01:05:11.420 --> 01:05:12.960
Of was het nou met een ander...

1275
01:05:12.960 --> 01:05:15.730
Dus had ik daar een best wel lange discussie over.

1276
01:05:17.780 --> 01:05:21.820
Beteekent dat ook voor jullie dan dat je dan op een gegeven moment

1277
01:05:21.820 --> 01:05:25.380
ook geen poolrequest en zo weer maakt, dat soort zaken?

1278
01:05:26.380 --> 01:05:26.640
Oké.

1279
01:05:26.660 --> 01:05:27.360
Klopt, ja.

1280
01:05:27.660 --> 01:05:30.580
Ja, en ja, misschien open...

1281
01:05:30.580 --> 01:05:31.920
Ik denk wel dat ik het antwoord weet,

1282
01:05:32.140 --> 01:05:33.180
maar ik vraag het even aan jullie.

1283
01:05:33.220 --> 01:05:34.340
Ik ben nieuwsgierig naar jullie mening.

1284
01:05:34.920 --> 01:05:35.900
Maar hoe...

1285
01:05:35.900 --> 01:05:38.580
Kijk, die poolrequest die zijn natuurlijk bedoeld

1286
01:05:38.580 --> 01:05:41.320
om elkaar scherp te houden op, weet je wel,

1287
01:05:41.520 --> 01:05:44.040
fouten die we misschien maken, die je een ander misschien sneller ziet.

1288
01:05:45.940 --> 01:05:47.300
Hoe ondervang je dat dan?

1289
01:05:47.540 --> 01:05:50.500
Het hangt van je volwassenheid, van je team af.

1290
01:05:50.600 --> 01:05:51.980
Kijk, als je een onvolwassen team hebt

1291
01:05:51.980 --> 01:05:55.540
waarbij mensen graag zelfstandig werken,

1292
01:05:55.740 --> 01:05:58.080
dan gaat trunk-based development niet werken, denk ik.

1293
01:05:59.100 --> 01:06:03.160
En dat bedoel ik van je maakt wat en je dient, zeg maar,

1294
01:06:03.300 --> 01:06:04.580
hetgene wat je hebt gemaakt.

1295
01:06:04.660 --> 01:06:06.580
Of het is zo simpel en iedereen...

1296
01:06:06.580 --> 01:06:08.240
Je denkt dat iedereen het wel begrijpt,

1297
01:06:08.240 --> 01:06:09.860
maar je dient gewoon, zeg maar, wat je hebt gemaakt.

1298
01:06:10.060 --> 01:06:12.980
Te delen met de rest van het team of een aantal andere mensen

1299
01:06:12.980 --> 01:06:15.540
om gewoon dingen te laten zien wat je hebt gemaakt.

1300
01:06:16.700 --> 01:06:23.540
En vaak is het zo met een pull request het branchen

1301
01:06:23.540 --> 01:06:25.940
en vervolgens weer merging met dingen.

1302
01:06:26.720 --> 01:06:28.260
En dat duurt gewoon te lang.

1303
01:06:28.600 --> 01:06:32.140
Ik wil gewoon zelf persoonlijk heel graag snel feedback hebben.

1304
01:06:32.260 --> 01:06:34.780
Net zoals mijn compiler me direct vertelt als iets kapot is

1305
01:06:34.780 --> 01:06:36.120
of als iets niet goed is,

1306
01:06:36.120 --> 01:06:39.760
vraag ik ook de mening van anderen van is dit goed, ja of nee.

1307
01:06:40.700 --> 01:06:43.440
En dan op het moment dat je dan trunk-based development doet,

1308
01:06:44.240 --> 01:06:47.580
je gelijk merge, zeg maar, je changes op develop,

1309
01:06:47.800 --> 01:06:50.120
bijvoorbeeld, en je automatische testen gaan af

1310
01:06:50.120 --> 01:06:54.420
en je weet gelijk of het, zeg maar, bijna productiewaardig is of niet.

1311
01:06:54.560 --> 01:06:57.960
In plaats van dat je een langere lifecycle eraan vast hebt zitten

1312
01:06:57.960 --> 01:06:59.380
met een branch.

1313
01:07:00.160 --> 01:07:00.960
En wat het voordeel is,

1314
01:07:00.980 --> 01:07:04.420
als je multiplatform werkt op deze manier,

1315
01:07:04.420 --> 01:07:09.120
kijk, als je alles native doet en je houdt iOS en Android gescheiden,

1316
01:07:10.260 --> 01:07:13.280
dan heb je eigenlijk twee apps waaraan je ontwikkelt.

1317
01:07:13.580 --> 01:07:16.880
Bouw je een common laar die beide apps gebruiken,

1318
01:07:17.140 --> 01:07:20.280
dan krijg je ook automatisch de interactie tussen iOS en Android.

1319
01:07:20.820 --> 01:07:23.320
Dus de integratie wordt daarmee vanzelf ook beter.

1320
01:07:25.020 --> 01:07:29.240
Dus ik denk dat het ook positieve effect heeft op beide apps,

1321
01:07:29.460 --> 01:07:30.620
op functie tijd die je oplevert,

1322
01:07:30.620 --> 01:07:34.800
omdat je toch met meer met elkaar moet communiceren.

1323
01:07:35.140 --> 01:07:39.700
Het moet sowieso, maar dit is een gevolg daarvan.

1324
01:07:39.920 --> 01:07:41.180
Ja, klopt.

1325
01:07:41.400 --> 01:07:45.560
Ja, want ik mis inderdaad de tijden dat,

1326
01:07:45.800 --> 01:07:48.000
ik weet nog wel dat mijn eerste baan was,

1327
01:07:48.780 --> 01:07:51.060
toen werkte ik bij een bedrijf dat heette Music from an L.

1328
01:07:52.340 --> 01:07:57.620
En die bouwde in PHP een concert agenda, weet je wel.

1329
01:07:58.380 --> 01:08:02.860
Ik miste inderdaad de tijden van dat je dus inderdaad

1330
01:08:02.860 --> 01:08:06.900
gewoon echt op de server waar al die PHP scripts stonden,

1331
01:08:07.060 --> 01:08:11.060
dat je daar gewoon je dingen in ging coderen.

1332
01:08:11.940 --> 01:08:15.520
En dan drukt hij op save en dan was alles goed of fout.

1333
01:08:18.300 --> 01:08:23.000
Maar ja, weet je, ik mis die tijd ook wel,

1334
01:08:23.080 --> 01:08:26.060
maar aan de andere kant zie ik ook wel weer

1335
01:08:26.740 --> 01:08:28.280
ja, precies wat jij zegt net,

1336
01:08:28.520 --> 01:08:31.380
van als je toch te maken hebt met mensen die wat minder ervaren zijn,

1337
01:08:32.120 --> 01:08:36.020
of die zitten nog in de leerkeur om een goede developer te worden,

1338
01:08:37.720 --> 01:08:41.500
dan kan ik me wel voorstellen dat mensen dan pull requests introduceren.

1339
01:08:41.640 --> 01:08:43.860
Weet je, gewoon om even die, hoe noem je dat?

1340
01:08:44.740 --> 01:08:46.180
Een barrière toevoegen.

1341
01:08:46.380 --> 01:08:48.700
Nou, barrière is het niet meteen,

1342
01:08:48.900 --> 01:08:51.080
maar ik zie het niet meteen als barrière,

1343
01:08:51.120 --> 01:08:53.880
maar het is meer een soort van incheckmoment

1344
01:08:53.880 --> 01:08:57.020
met degene die jou iets zou kunnen leren.

1345
01:08:57.620 --> 01:08:59.620
Ja, je zou ook kunnen perren natuurlijk,

1346
01:08:59.860 --> 01:09:03.700
als al die van pull requests, om het echt samen te doen.

1347
01:09:04.040 --> 01:09:06.940
Ja, dat vind ik ook eigenlijk, dat is gewoon veel beter natuurlijk,

1348
01:09:07.000 --> 01:09:10.260
dat je gewoon samen aan iets werkt, weet je wel, perprogrammen.

1349
01:09:10.860 --> 01:09:15.580
Ja, afgelopen tijd wat bij de ANWB hebben ook pull requests,

1350
01:09:16.420 --> 01:09:19.720
maar onze pull requests gaan tegenwoordig echt heel snel,

1351
01:09:19.720 --> 01:09:24.280
omdat we van tevoren even mekaar slakken, want we werken remote.

1352
01:09:24.840 --> 01:09:25.880
Ja, precies.

1353
01:09:25.980 --> 01:09:26.320
Precies.

1354
01:09:26.660 --> 01:09:31.260
En we hebben gewoon een gesprek over de dingen die we hebben aangepast.

1355
01:09:31.520 --> 01:09:33.560
We laten mekaar eens code laten we gewoon zien,

1356
01:09:33.680 --> 01:09:35.400
en je weet gewoon het verhaal eromheen.

1357
01:09:35.760 --> 01:09:39.000
En dat is veel beter dan dat je naar een pull request kijkt,

1358
01:09:39.140 --> 01:09:42.300
en je ziet een snippet van code, en je denkt van, waarom is dit gedaan?

1359
01:09:42.820 --> 01:09:44.020
Wat is het verhaal eromheen?

1360
01:09:44.380 --> 01:09:47.560
Waarom heeft iemand een bepaalde naamgeving gebruikt,

1361
01:09:47.680 --> 01:09:49.360
of een bepaalde constructie gebruikt?

1362
01:09:49.760 --> 01:09:53.240
Je kan het er dan even over hebben, en je leert van mekaar,

1363
01:09:53.560 --> 01:09:55.060
en je komt tot nieuwe inzichten,

1364
01:09:55.340 --> 01:09:58.260
en soms denk je van, nou, wat is dit voor een rare ding?

1365
01:09:59.100 --> 01:10:00.680
Maar iemand zegt, ja, ik kwam er gewoon niet uit,

1366
01:10:00.740 --> 01:10:02.240
of ik weet gewoon geen betere oplossing,

1367
01:10:02.340 --> 01:10:04.180
en misschien weet ik dat zelf ook niet.

1368
01:10:04.600 --> 01:10:07.180
Ja, dan kan het zijn dat het gewoon zo blijft, weet je.

1369
01:10:07.180 --> 01:10:11.660
Dat is veel waardevoller dan dat je een pull request aanmaakt,

1370
01:10:11.820 --> 01:10:14.540
en dat je naar kleine stukjes code gaat lopen kijken,

1371
01:10:14.920 --> 01:10:16.360
waar je gewoon heel veel dingen mist.

1372
01:10:16.460 --> 01:10:19.120
Dus de menselijke interactie is superbelangrijk.

1373
01:10:19.120 --> 01:10:21.100
Ja, nee, mee eens. Helemaal mee eens.

1374
01:10:21.420 --> 01:10:24.420
En sterker nog, inderdaad, om dit systeem te cheaten, zeg maar,

1375
01:10:24.680 --> 01:10:26.580
want zo zie je, dat doe ik dus ook,

1376
01:10:27.780 --> 01:10:30.300
is inderdaad gelijk contact maken met diegene

1377
01:10:30.300 --> 01:10:31.740
die die pull request moet reviewen.

1378
01:10:31.780 --> 01:10:33.780
Dus met andere woorden, misschien daarvoor al.

1379
01:10:33.920 --> 01:10:36.000
Van, hey, ik ga je zometeen een pull request maken,

1380
01:10:36.120 --> 01:10:37.780
maar zullen we dan even snel door die code heen kijken,

1381
01:10:38.200 --> 01:10:40.700
zodat je even die pull request snel kan accepteren.

1382
01:10:41.300 --> 01:10:42.660
Ja, klopt.

1383
01:10:42.720 --> 01:10:44.460
Ja, dat werkt gewoon veel beter, weet je.

1384
01:10:44.960 --> 01:10:46.660
Nee, maar even voor alle duidelijkheid,

1385
01:10:47.080 --> 01:10:48.740
ja, ik ben ook inderdaad,

1386
01:10:48.740 --> 01:10:52.400
ja, ik zeg het niet meteen, dat schurft echo app aan pull request,

1387
01:10:52.960 --> 01:10:55.540
maar inderdaad, ik ben er niet geen fan van of zo, weet je wel.

1388
01:10:55.680 --> 01:11:00.220
Ik vind het ook inderdaad, het stagneert gewoon heel veel productiviteit.

1389
01:11:00.360 --> 01:11:02.260
Want op een gegeven moment kom je erachter,

1390
01:11:02.600 --> 01:11:04.880
dat de ander dus inderdaad bezig is met iets anders

1391
01:11:04.880 --> 01:11:06.600
en niet meer focus houdt.

1392
01:11:06.840 --> 01:11:08.440
En dan krijg je ook, worst case,

1393
01:11:08.620 --> 01:11:10.600
is dat je dus een hele slechte review krijgt.

1394
01:11:11.260 --> 01:11:13.760
Dus dat iemand zomaar zegt, oh, zo al,

1395
01:11:13.920 --> 01:11:15.220
ik moet toch aan iets anders aan de gang.

1396
01:11:16.220 --> 01:11:20.540
Ja, dus het kan misschien nog wel meer kapotmaken dan je lief is.

1397
01:11:21.940 --> 01:11:25.720
Maar ja, goed, kijk, weet je, wat dat betreft,

1398
01:11:26.680 --> 01:11:29.420
ik vind het ook wel mooi dat snelle feedback loops

1399
01:11:29.420 --> 01:11:31.240
proberen te creëren om dat stand te houden,

1400
01:11:31.240 --> 01:11:33.280
weet je, en daar misschien meer over te hebben,

1401
01:11:33.980 --> 01:11:36.440
dan dat of het wel of niet met een pull request moet of zo.

1402
01:11:36.680 --> 01:11:40.440
Ja, precies, dat is het, snelle feedback en gewoon leren.

1403
01:11:40.940 --> 01:11:41.380
Precies.

1404
01:11:41.520 --> 01:11:44.900
Want je bouwt een product en je bent er om te leren,

1405
01:11:44.900 --> 01:11:46.720
leren over de code, leren over de business,

1406
01:11:46.980 --> 01:11:50.580
leren over je klanten allemaal om gewoon het beste product uiteindelijk te maken.

1407
01:11:50.860 --> 01:11:53.060
Ja, absoluut. Nee, dat is het zeker.

1408
01:11:53.820 --> 01:11:58.660
Ik heb hier ook nog een vraag rondom Kotlin Multiplatform en Native Development.

1409
01:11:59.960 --> 01:12:03.080
Maar misschien hebben we daar ook wel wat al over gehad.

1410
01:12:03.520 --> 01:12:08.400
Bernard, die kwam hier met een vraag hoe het proces verloopt

1411
01:12:09.220 --> 01:12:12.340
van met die Multiplatform coderen.

1412
01:12:13.560 --> 01:12:16.000
En het eigenlijkste achterlichtende vraag is,

1413
01:12:16.220 --> 01:12:20.180
maak je wel optimaal gebruik van de hardware mogelijkheden

1414
01:12:20.180 --> 01:12:22.840
en de GUI-mogelijkheden van alle platformen?

1415
01:12:22.860 --> 01:12:23.960
Goede vraag, goede vraag.

1416
01:12:24.900 --> 01:12:28.100
Ja, doordat je met Kotlin Multiplatform werkt,

1417
01:12:28.260 --> 01:12:29.640
werk je eigenlijk nog steeds native,

1418
01:12:29.760 --> 01:12:32.380
dus je hebt de volledige beschikking tot de mogelijkheden

1419
01:12:32.380 --> 01:12:33.860
van je native device.

1420
01:12:34.320 --> 01:12:38.200
Daar zit geen abstractie op, dus die kun je altijd aanspreken.

1421
01:12:38.200 --> 01:12:42.120
En ook alle nieuwste versies van de OS'en,

1422
01:12:42.300 --> 01:12:43.600
daar is geen beperking op.

1423
01:12:44.380 --> 01:12:46.820
Nee, want ik neem aan dat dan Kotlin intern

1424
01:12:46.820 --> 01:12:49.260
dan ook allerlei libraries importeert

1425
01:12:49.260 --> 01:12:54.060
om iOS en Android functieeliteit te bieden.

1426
01:12:54.240 --> 01:12:58.420
Die bieden een zogezegde interface aan in je common laag

1427
01:12:58.420 --> 01:13:00.200
tot de native functieeliteit.

1428
01:13:00.940 --> 01:13:03.600
Bied die laag niet datgene wat je nodig hebt,

1429
01:13:04.340 --> 01:13:08.120
dan kun je met zogezegde actual and expect

1430
01:13:08.120 --> 01:13:12.960
functies in Kotlin je echte native code aanroepen

1431
01:13:12.960 --> 01:13:15.560
in je target platform, als het ware.

1432
01:13:15.560 --> 01:13:15.980
Cool.

1433
01:13:16.480 --> 01:13:21.180
Dus je schrijft geen bridge, maar je roept echt de native code aan.

1434
01:13:21.260 --> 01:13:23.680
Dus ik definieer een functie in Kotlin Multiplatform,

1435
01:13:23.860 --> 01:13:25.040
generer een ID.

1436
01:13:26.120 --> 01:13:29.180
Die kan ik op Android implementeren en op iOS,

1437
01:13:29.440 --> 01:13:33.140
maar vanuit native code kun je die dan aanroepen.

1438
01:13:33.360 --> 01:13:35.440
En afhankelijk op welk platform je draait,

1439
01:13:35.720 --> 01:13:36.700
heb je de een of de ander.

1440
01:13:37.020 --> 01:13:37.380
Nice.

1441
01:13:38.160 --> 01:13:42.160
En unit testing rondom Kotlin Multiplatform,

1442
01:13:42.180 --> 01:13:43.780
moet je daar nog ergens rekening houden,

1443
01:13:43.840 --> 01:13:48.540
of is dat ook allemaal een hetzelfde, zeg maar, voor Multiplatform?

1444
01:13:48.560 --> 01:13:50.080
Dat is vergelijkbaar.

1445
01:13:51.540 --> 01:13:53.620
Je kunt je unit tester schrijven in je comment laag,

1446
01:13:53.620 --> 01:13:56.080
dat moet je ook doen, en die draai je dan op een target platform,

1447
01:13:56.440 --> 01:13:58.480
bijvoorbeeld Android of iOS, of beide.

1448
01:13:58.700 --> 01:13:59.520
Dat is een keuze.

1449
01:13:59.940 --> 01:14:03.620
Het voordeel is, met die unit tester test je dus je gezamenlijke code,

1450
01:14:04.040 --> 01:14:05.180
zowel op Android als iOS.

1451
01:14:05.480 --> 01:14:06.620
Ja, ja, ja, oké.

1452
01:14:07.300 --> 01:14:10.440
En wat zou dan een goed pad zijn om,

1453
01:14:10.440 --> 01:14:16.240
want jullie zijn natuurlijk nu bij ANWB Native aan het coderen,

1454
01:14:18.560 --> 01:14:22.640
dus wat zou jullie pad zijn om richting Kotlinck te gaan?

1455
01:14:23.600 --> 01:14:27.760
Er zijn verschillende strategieën waarmee je daar tot komen,

1456
01:14:27.800 --> 01:14:31.900
dat is op zich al mooi, want ik heb in de verleden wel eens gezien,

1457
01:14:32.100 --> 01:14:35.920
er zijn dan twee Native apps gebouwd en dan wordt er een beslissing gemaakt,

1458
01:14:35.920 --> 01:14:39.480
nee, we willen toch een cross-platform technologie, bijvoorbeeld React Native,

1459
01:14:39.540 --> 01:14:41.000
ik noem maar een voorbeeld.

1460
01:14:41.520 --> 01:14:44.520
Omdat die twee niet compatibel zijn, ben je eigenlijk je complete app

1461
01:14:44.520 --> 01:14:46.580
opnieuw aan het schrijven in een nieuwe technologie.

1462
01:14:47.580 --> 01:14:52.460
Bij Kotlinck Multiplatform heb je de mogelijkheid om zelfs in je bestaande app

1463
01:14:52.460 --> 01:14:57.400
bepaalde delen gefaseerd over te brengen naar een common library,

1464
01:14:57.560 --> 01:14:59.920
zodat die meteen gebruikt kunnen worden in bijvoorbeeld iOS.

1465
01:15:00.020 --> 01:15:02.180
Stel, je hebt twee bestaande Native apps.

1466
01:15:03.380 --> 01:15:09.060
In Android zet ik de domeinobject of mijn domeinlogica om naar mijn common code,

1467
01:15:09.180 --> 01:15:13.320
en dat is eigenlijk een kopie van de Android code naar de shared code,

1468
01:15:13.360 --> 01:15:17.240
omdat dat allebei Kotlin is en je hebt meteen een gecompaald framework voor iOS.

1469
01:15:17.420 --> 01:15:21.400
Wellicht moet je wat platform-specifieke dingen refactoren,

1470
01:15:21.820 --> 01:15:26.200
maar daarmee kun je dus een bestaande app, afhankelijk van wat je wel en niet wilt delen,

1471
01:15:26.360 --> 01:15:28.200
geschikt maken voor Kotlin Multiplatform.

1472
01:15:28.620 --> 01:15:31.420
Andere strategie is, we maken, als je een nieuwe app begint,

1473
01:15:31.920 --> 01:15:35.680
kun je kiezen, we maken Android en iOS tegelijk met de gezamenlijke laag,

1474
01:15:35.720 --> 01:15:39.780
of we beginnen eerst met Android met de gezamenlijke laag en we sluiten iOS aan,

1475
01:15:39.800 --> 01:15:42.740
dus je bent daar heel flexibel in om daar een keuze in te maken.

1476
01:15:43.820 --> 01:15:47.140
Ja, ja, dus je doet het eigenlijk gefaseerd, dat is een beetje wat ik...

1477
01:15:47.140 --> 01:15:50.800
Het kan gefaseerd, als je een nieuwe app maakt, dan doe je het in één keer.

1478
01:15:51.220 --> 01:15:51.580
Ja, natuurlijk.

1479
01:15:51.720 --> 01:15:54.020
Maar een bestaande app kun je inderdaad gefaseerd overbrengen.

1480
01:15:54.460 --> 01:15:56.160
Ja, dat was eigenlijk meer de vraag,

1481
01:15:56.300 --> 01:16:00.180
want daarvoor dat je Native inderdaad veel al gebouwd hebt en je wil...

1482
01:16:00.180 --> 01:16:03.820
Ja, daar kun je het meeste hergebruiken over bij de platformen.

1483
01:16:03.940 --> 01:16:06.560
Ja, dat is natuurlijk wel een krachtig framework dan,

1484
01:16:06.680 --> 01:16:09.240
want dan kan je inderdaad al het bestaande gewoon laten staan

1485
01:16:09.240 --> 01:16:13.700
en dan alle dingen die je hebt uitgereffecteerd weer toepassen in iets anders.

1486
01:16:14.640 --> 01:16:15.120
Ja, oké.

1487
01:16:15.120 --> 01:16:17.660
Nou, dat klinkt als een hele goede aanpak, lijkt mij.

1488
01:16:18.260 --> 01:16:20.480
Is dat ook iets waar jullie nu mee bezig zijn,

1489
01:16:21.700 --> 01:16:23.740
of mogen jullie dat niet zo zeggen binnen de ANWB?

1490
01:16:26.260 --> 01:16:29.820
Ja, Kotlin Multiplatform zijn we nog niet concreet mee bezig.

1491
01:16:29.820 --> 01:16:31.180
Ah, oké, ja.

1492
01:16:31.180 --> 01:16:33.520
We zijn wel aan het kijken hoe kunnen we het toepassen,

1493
01:16:33.680 --> 01:16:35.740
maar dat is nog te vroeg om daar wat...

1494
01:16:35.740 --> 01:16:36.900
Ja, oké.

1495
01:16:36.900 --> 01:16:37.900
Oké, nou goed.

1496
01:16:38.640 --> 01:16:39.120
Mooi.

1497
01:16:39.340 --> 01:16:40.280
Nou, dan...

1498
01:16:40.280 --> 01:16:42.440
Ja, ja, we zijn nu eigenlijk al een uur,

1499
01:16:42.500 --> 01:16:45.180
bijna anderhalf uur lekker aan het podcasten.

1500
01:16:46.640 --> 01:16:50.040
Ik zou willen voorstellen om even door te gaan

1501
01:16:50.040 --> 01:16:52.740
naar onze vaste rubrieke van de podcast.

1502
01:16:54.220 --> 01:16:55.980
Nou, we hebben ook in onze rubrieke,

1503
01:16:55.980 --> 01:16:59.040
proberen we altijd een beetje Twitter in de gaten te houden

1504
01:16:59.040 --> 01:17:01.480
van wat er allemaal gebeurt en speelt.

1505
01:17:01.820 --> 01:17:04.680
En nou had Bernard één onderwerp genoteerd,

1506
01:17:04.820 --> 01:17:06.140
dat heette Temple OS.

1507
01:17:08.120 --> 01:17:10.760
Ik heb er nog nooit wat van gehoord.

1508
01:17:10.860 --> 01:17:13.100
Hebben jullie al iets van gehoord,

1509
01:17:13.420 --> 01:17:15.960
wat er op Twitter nu aan gaande is en wat het is?

1510
01:17:17.180 --> 01:17:19.860
Ik heb Twitter niet in de gaten gehouden,

1511
01:17:20.200 --> 01:17:24.220
maar toen ik het hoorde, heb ik even op YouTube gecheckt.

1512
01:17:24.360 --> 01:17:27.260
En toen zag ik een prachtig video van Linus Tech Tips,

1513
01:17:28.220 --> 01:17:28.680
erover.

1514
01:17:29.180 --> 01:17:33.020
Hetgene wat mij het meest bij stond, is dat het een OS is.

1515
01:17:35.040 --> 01:17:38.400
Het deed me een beetje denken aan een prachtige DOS,

1516
01:17:38.640 --> 01:17:42.680
oude Norton Commander DOS, maar dan met allemaal funky kleurtjes.

1517
01:17:42.820 --> 01:17:44.660
Maar blijkbaar, als je op F7 drukt,

1518
01:17:44.820 --> 01:17:47.060
dan krijg je een een woord uit de Bijbel.

1519
01:17:47.200 --> 01:17:48.460
En als je op Shift F7 drukt,

1520
01:17:48.480 --> 01:17:50.320
krijg je, geloof ik, een verhaaltje uit de Bijbel.

1521
01:17:50.460 --> 01:17:55.140
Het is helemaal een Bijbelachtig OS,

1522
01:17:55.140 --> 01:17:57.660
wat er heel erg funky uitziet.

1523
01:17:57.740 --> 01:18:03.380
Oh, ik vind het prachtig dat mensen dat maken.

1524
01:18:03.640 --> 01:18:05.480
Ik weet niet zo goed wat ik ermee moet.

1525
01:18:06.920 --> 01:18:08.580
Ja, nee, nee, nee.

1526
01:18:08.700 --> 01:18:12.480
Ja, wellicht om geïnspireerd te raken,

1527
01:18:12.920 --> 01:18:14.440
bouwen ze dat misschien.

1528
01:18:14.980 --> 01:18:18.660
Maar ik dacht echt dat het iets met mobile devices zo was,

1529
01:18:18.680 --> 01:18:19.820
maar dat is dus niet zo.

1530
01:18:20.460 --> 01:18:23.240
Het is gewoon echt op je, is het op elke,

1531
01:18:23.240 --> 01:18:26.840
is het op de Mac alleen of op Google?

1532
01:18:27.040 --> 01:18:28.820
Ik heb geen blauwe idee.

1533
01:18:29.260 --> 01:18:30.300
Ik heb geen blauwe idee.

1534
01:18:30.880 --> 01:18:32.340
Ik durf het niet te zeggen.

1535
01:18:33.040 --> 01:18:36.000
Nou, het is in ieder geval niet heel erg bekend in deze gezelschap.

1536
01:18:36.060 --> 01:18:37.480
Geen probleem verder, maar misschien...

1537
01:18:37.480 --> 01:18:38.800
Ik lig er niet wakker van.

1538
01:18:39.620 --> 01:18:41.020
Wat voor dood, wat gaaf.

1539
01:18:41.280 --> 01:18:43.820
Misschien wel een leuke oproep aan de luisteraars.

1540
01:18:43.940 --> 01:18:48.400
Chat even mee in ons Slack kanaal op CodeKlets.nl.

1541
01:18:49.060 --> 01:18:52.220
Mocht je er iets meer van weten, laat het ons vooral even weten.

1542
01:18:54.040 --> 01:19:02.760
Nou goed, ja, ik heb ook nog even een dilemma die ik aan jullie zou willen voorleggen.

1543
01:19:04.640 --> 01:19:05.740
Voor privé gebruik, he?

1544
01:19:06.040 --> 01:19:08.440
Maak je nou gebruik van een iPhone of een Android?

1545
01:19:09.420 --> 01:19:11.920
Ik maak gebruik van een Android-toestel.

1546
01:19:13.240 --> 01:19:14.460
Echt joh? En jij?

1547
01:19:14.720 --> 01:19:16.020
Je mag één keer raden.

1548
01:19:16.460 --> 01:19:17.880
Android, nee, grapje, iPhone.

1549
01:19:19.460 --> 01:19:21.140
Nee, ik zal even uitleggen.

1550
01:19:21.140 --> 01:19:29.140
Misschien, volgens mij in 2001 of zo, toen had ik nog een pc en die stond open.

1551
01:19:30.700 --> 01:19:34.920
En ik moest grafische kaarten veranderen, dat soort dingen allemaal.

1552
01:19:35.920 --> 01:19:38.660
Mijn vriendin was datapay'er, die deed dingen in grafische dingen.

1553
01:19:38.820 --> 01:19:44.500
Die had een G4 Mac, had ze.

1554
01:19:45.120 --> 01:19:46.740
Nou, schitterend, zo'n quicksilver ding.

1555
01:19:46.740 --> 01:19:51.740
Die stond open, altijd te loeien.

1556
01:19:52.380 --> 01:19:57.560
Ik heb een keer met mijn voet in die kast van je gestaan en een keer een vonk gehad of zo.

1557
01:19:58.080 --> 01:20:00.020
Ga nou eens een keer een normale computer kopen.

1558
01:20:00.140 --> 01:20:03.400
Die staat altijd te rotzooi met drivers en dingetjes en zo.

1559
01:20:03.760 --> 01:20:09.060
Dus toen heb ik maar een Apple aangeschaft.

1560
01:20:10.120 --> 01:20:11.920
En sindsdien nooit meer weg.

1561
01:20:11.920 --> 01:20:16.860
En blijkbaar, als je eenmaal in het ecosysteem zit, dan blijf je erin vasthangen.

1562
01:20:17.900 --> 01:20:19.380
Dus ja, ik ben gevangen.

1563
01:20:19.680 --> 01:20:20.800
Ja, precies.

1564
01:20:21.080 --> 01:20:21.820
Take my money.

1565
01:20:21.960 --> 01:20:23.520
Weet je wel, maakt niet uit wat het is.

1566
01:20:23.820 --> 01:20:25.640
Ja, eigenlijk wel.

1567
01:20:26.160 --> 01:20:28.200
En het is ook niet zo heel goedkoop.

1568
01:20:30.180 --> 01:20:36.820
En we hebben laatst ook weer behoorlijk wat geld uitgegeven aan die nieuwe M1 Pro.

1569
01:20:37.400 --> 01:20:40.920
En Jayme heeft een Macs besteld.

1570
01:20:40.920 --> 01:20:42.000
Hij moet nog binnenkomen.

1571
01:20:42.080 --> 01:20:43.160
Hij moet nog binnenkomen.

1572
01:20:43.360 --> 01:20:44.200
Oh, nice.

1573
01:20:44.260 --> 01:20:45.000
Een weekje wachten.

1574
01:20:45.160 --> 01:20:45.660
Ja, dat hoeft niet.

1575
01:20:45.660 --> 01:20:47.200
Wat ga je ermee doen, jongen?

1576
01:20:47.440 --> 01:20:47.980
Lief helpen.

1577
01:20:48.140 --> 01:20:48.880
Ja, oké.

1578
01:20:49.100 --> 01:20:51.140
Maar zonder stroom, denk ik.

1579
01:20:51.260 --> 01:20:54.200
Of tenminste, niet zonder stroom, maar zonder de power brick.

1580
01:20:54.300 --> 01:20:58.180
Dan hoop ik, deze laptop gaat ongeveer een uur mee op de batterij.

1581
01:20:58.440 --> 01:20:59.120
Oh ja.

1582
01:20:59.640 --> 01:20:59.660
Ja.

1583
01:21:00.140 --> 01:21:01.560
Dan zal dat hopelijk beter zijn.

1584
01:21:01.960 --> 01:21:02.360
Zo.

1585
01:21:02.360 --> 01:21:04.680
Bij ons vak is het hoe sneller, hoe beter.

1586
01:21:05.840 --> 01:21:08.100
En waarom jij dan de Android phone?

1587
01:21:08.540 --> 01:21:10.300
Ja, ik ontwikkel Android apps.

1588
01:21:10.300 --> 01:21:12.860
Dus ik moet wel een Android telefoon hebben.

1589
01:21:12.880 --> 01:21:14.720
Oké, dus jij bent echt Android fanboy.

1590
01:21:14.740 --> 01:21:17.640
Dat zouden we op de E-mail later kunnen, natuurlijk, maar...

1591
01:21:17.640 --> 01:21:19.020
Ja, het is toch niet echt, hè?

1592
01:21:19.040 --> 01:21:19.960
Het is niet echt, nee.

1593
01:21:20.460 --> 01:21:21.180
Nee, ik snap het, ja.

1594
01:21:21.380 --> 01:21:24.040
Trouwens, ik heb twee jaar geleden weer een pc aangeschaft.

1595
01:21:24.780 --> 01:21:27.740
Wat nu mijn main workstation is.

1596
01:21:28.460 --> 01:21:29.200
Dat is wel echt...

1597
01:21:29.200 --> 01:21:31.620
Ik moet eerlijk wat zeggen, ik heb een Hackintosh.

1598
01:21:32.260 --> 01:21:32.660
Oeps.

1599
01:21:33.320 --> 01:21:33.340
Oh.

1600
01:21:33.840 --> 01:21:34.940
Dus het klopt niet helemaal.

1601
01:21:35.180 --> 01:21:35.580
Nee.

1602
01:21:39.880 --> 01:21:40.280
Maar...

1603
01:21:40.280 --> 01:21:48.860
Deze van de machine, want ik dacht van, weet je, ik ben aan het compileren en die laptop van mij staat te blazen en de batterij gaat per uur mee en het schiet allemaal niet op.

1604
01:21:49.080 --> 01:21:49.220
Ja.

1605
01:21:49.720 --> 01:22:02.740
Dus ik heb nu een AMD Ryzen Threadripper, 24 cores, 128 GB aan geheugen en 3 TB SSD's erin en een hele dikke videokaart.

1606
01:22:02.980 --> 01:22:04.760
Oh, het is zo fijn om mee te werken.

1607
01:22:05.000 --> 01:22:05.840
Ja, ik snap het.

1608
01:22:06.240 --> 01:22:07.740
Game je ook ermee, of niet?

1609
01:22:08.100 --> 01:22:09.740
Ja, sindsdien wel.

1610
01:22:09.740 --> 01:22:39.720
Nou, wat ik dat doe, dat vind ik wel, zeg maar, ik heb een dochtertje van 4, daar spelen we Zelda, tenminste ik speel Zelda en ik heb ook een Wii U, die staat ergens boven op Zolder, maar nu speel ik dus, ik had geen zin om dat spel nog een keer te kopen en zeg maar het aan te sluiten en zo, maar nu speel ik dus via de Steam link op mijn Apple TV, op mijn tv met een PlayStation 4 controller en dan wordt, zeg maar, Zelda wordt gestreamd.

1611
01:22:41.340 --> 01:22:48.660
Vanuit mijn workstation in 4K via een semi-amulator op Windows 11.

1612
01:22:49.380 --> 01:22:50.240
Sorry, Windows 10.

1613
01:22:50.880 --> 01:22:51.760
Ja, Windows 11.

1614
01:22:51.760 --> 01:22:53.600
Om even een beetje geeky te zijn.

1615
01:22:54.360 --> 01:22:56.080
En dat ziet er echt zo cool uit.

1616
01:22:56.440 --> 01:23:00.780
Maar kan je, ik wist helemaal niet dat je Nintendo Wii spellen al op de...

1617
01:23:00.780 --> 01:23:02.040
Ja, Wii en Wii U.

1618
01:23:02.240 --> 01:23:03.320
Ja, die kan je gewoon streamen.

1619
01:23:03.380 --> 01:23:09.080
Ja, die kan je gewoon streamen, maar ik had dus geen zin om de Wind Waker, Zelda, om dat nog een keer aan te schaffen, dus ik heb het al een keer gekocht.

1620
01:23:09.520 --> 01:23:11.680
Maar het ziet er gewoon echt zo cool uit.

1621
01:23:11.780 --> 01:23:16.540
En ik vind het zo gaaf dat je gewoon met Steam, Steam Link, zeg maar, games kan streamen en zo.

1622
01:23:17.280 --> 01:23:23.000
En je kan dus blijkbaar ook dingen buiten Steam, kan je ook gewoon nietjes erin streamen.

1623
01:23:23.420 --> 01:23:24.200
Ja, het is echt kicken.

1624
01:23:24.740 --> 01:23:28.660
Ja, tof joh, want als we toch over games hebben nu.

1625
01:23:30.320 --> 01:23:36.580
Ik was, even kijken, 3 weken terug ben ik op vakantie met mijn gezin gegaan en ik zat lekker op de bank.

1626
01:23:36.580 --> 01:23:41.620
En ik dacht, ik ga eens een keer Homeworld spelen.

1627
01:23:41.760 --> 01:23:49.360
Dat is een hele oude game, een space RPG, strategie game.

1628
01:23:51.560 --> 01:23:56.980
En die speelde ik vroeger, maar ik dacht van ja, weet je, ik wil weer opnieuw herbeleven.

1629
01:23:57.100 --> 01:24:00.800
Dus ik ging een beetje googelen en inderdaad, ik zag dat die inderdaad op Steam,

1630
01:24:01.000 --> 01:24:04.960
dan kan je dus op je Mac, kan je dan gewoon die oude game weer spelen.

1631
01:24:04.960 --> 01:24:07.520
Ja, het is echt geweldig dat dat allemaal nog kan.

1632
01:24:08.400 --> 01:24:13.380
Maar ja, echt Steam, ik denk dat het echt een van de tofste platformen zijn op dit moment.

1633
01:24:14.560 --> 01:24:15.860
Want je kan er nu echt zoveel mee.

1634
01:24:15.920 --> 01:24:22.660
Ik hoorde ook later van iemand dat die inderdaad al die Xbox games ook erop kon spelen en zo.

1635
01:24:22.940 --> 01:24:23.780
Leuk, leuk.

1636
01:24:23.900 --> 01:24:26.120
Maar ik wist niet dat Nintendo ook daar...

1637
01:24:26.120 --> 01:24:27.100
Nou, niet officieel.

1638
01:24:27.280 --> 01:24:28.380
Officieel niet, ja.

1639
01:24:29.340 --> 01:24:30.780
Sorry, sorry, sorry.

1640
01:24:31.000 --> 01:24:31.900
Het is gewoon Hacker Eye.

1641
01:24:31.900 --> 01:24:37.580
Ja, ik heb ook op mijn Nintendo DS, heb ik ook Scrumviem, heet het volgens mij?

1642
01:24:37.780 --> 01:24:38.180
Scrumviem?

1643
01:24:38.640 --> 01:24:39.040
Scrumviem.

1644
01:24:39.140 --> 01:24:39.960
Ja, Scrumviem.

1645
01:24:39.960 --> 01:24:40.720
Ja, Scrumviem.

1646
01:24:41.100 --> 01:24:42.140
Dat heb ik op geïnstalleerd.

1647
01:24:42.360 --> 01:24:43.160
Vraag me niet hoe, hoor.

1648
01:24:44.500 --> 01:24:45.300
Maar ja...

1649
01:24:45.300 --> 01:24:46.880
Voor de rest heb ik wel netjes, hoor.

1650
01:24:46.940 --> 01:24:48.700
Ik betaal netjes mijn belasting en zo in...

1651
01:24:49.260 --> 01:24:49.680
Ja, precies.

1652
01:24:49.680 --> 01:24:50.000
Precies.

1653
01:24:50.920 --> 01:24:51.480
Belangrijkste, toch?

1654
01:24:51.820 --> 01:24:52.460
Ja, precies.

1655
01:24:52.720 --> 01:24:53.300
Ja, ja, ik snap het.

1656
01:24:54.360 --> 01:24:54.760
Oké.

1657
01:24:55.460 --> 01:24:57.220
Ja, even door naar de volgende vragen.

1658
01:24:57.460 --> 01:25:00.080
Want er zijn er al een paar die we door kunnen nemen.

1659
01:25:01.060 --> 01:25:02.800
Ja, dat is even een...

1660
01:25:02.800 --> 01:25:05.660
Niet een trick question of zo, maar even jullie beeld.

1661
01:25:05.900 --> 01:25:09.080
Van wat is nou een fullstack developer volgens jullie?

1662
01:25:10.820 --> 01:25:11.860
Fullstack developer?

1663
01:25:12.380 --> 01:25:19.540
Mijn mening is die zowel op de front-end als op de back-end kan werken.

1664
01:25:20.520 --> 01:25:24.500
Dus je bouwt APIs, je bouwt je mobile apps, je bouwt web-apps.

1665
01:25:24.760 --> 01:25:26.300
Je kan met cloud, met AWS.

1666
01:25:27.800 --> 01:25:30.060
Natuurlijk kom je daar niet meteen.

1667
01:25:30.060 --> 01:25:33.420
Maar dat zou mijn definitie zijn denk ik van de fullstack developer.

1668
01:25:33.500 --> 01:25:36.340
Dus de hele stack van voor tot achter.

1669
01:25:38.160 --> 01:25:45.500
En zou dat dan ook iets moeten zijn dat je echt van alles veel moet weten of een heel klein beetje?

1670
01:25:45.940 --> 01:25:50.540
Dus dat generalist versus specialist zijn in een bepaalde...

1671
01:25:50.540 --> 01:25:52.920
Ik denk dat je vooral een generalist moet zijn.

1672
01:25:53.860 --> 01:25:57.320
Natuurlijk heb je bepaalde specialiteiten.

1673
01:25:58.080 --> 01:26:06.800
Maar als je generalist bent en je weet ongeveer waar je het moet zoeken en die wijzigingen snel aan kan brengen.

1674
01:26:07.060 --> 01:26:09.360
Dat is super waardevol.

1675
01:26:09.700 --> 01:26:14.520
Want je hebt minder overdag tussen teams, minder spraakverwarring af en toe.

1676
01:26:16.440 --> 01:26:18.720
Ik denk dat conceptuele plaatsen ook belangrijk zijn.

1677
01:26:18.900 --> 01:26:25.340
Als je concepten kent dan heb je ook de mogelijkheid om snel dingen op te pakken.

1678
01:26:26.000 --> 01:26:28.720
En dat is denk ik belangrijk bij full-stack developers.

1679
01:26:29.360 --> 01:26:34.620
Dus jullie hebben ook in jullie team full-stack developers of specialisten?

1680
01:26:35.460 --> 01:26:36.980
Allemaal full-stack developers.

1681
01:26:37.180 --> 01:26:42.420
Oké, dus die kunnen ook echt in de back-end bouwen, in Spring?

1682
01:26:42.780 --> 01:26:50.240
Klopt, in Spring, AWS, Ktor met Kotlin, Native Apps.

1683
01:26:50.460 --> 01:26:54.020
We hebben ook Flutter Apps gebouwd bij de NS, dus de hele stack.

1684
01:26:56.020 --> 01:26:59.800
Oké, is er trouwens ook een specifieke reden waarom jullie voor Spring Boot hebben gekozen?

1685
01:27:00.020 --> 01:27:03.440
Niet iets anders. Spring klinkt ook zo old school.

1686
01:27:03.700 --> 01:27:07.900
Bij de ANWB was dat omdat dat een redelijke standaard was en we wilden daarin blijven.

1687
01:27:08.200 --> 01:27:10.060
Ja, precies, precies. Oké, dank je wel.

1688
01:27:10.860 --> 01:27:13.880
Ja, je hoort het ook nog steeds heel veel, Spring Boot, niet daarvan.

1689
01:27:16.240 --> 01:27:20.620
Oké, een andere vraag die ik aan jullie beiden zou willen stellen is,

1690
01:27:22.900 --> 01:27:27.440
welke loopbaan en werktips je aan je jongeren zelf zou willen geven?

1691
01:27:29.440 --> 01:27:32.060
En misschien is het wel leuk om even bij Robert eerst te beginnen.

1692
01:27:34.020 --> 01:27:37.180
Volgens mij de belangrijkste tip die ik ooit heb gehad,

1693
01:27:37.860 --> 01:27:43.580
was van een persoon die nu met pensioen is, volgens mij Kishen die kent hij ook al,

1694
01:27:44.280 --> 01:27:49.460
Wilco Korn. Die zei ooit tegen mij, als je ergens langer dan 5 minuten over doet,

1695
01:27:49.460 --> 01:27:52.560
5 minuten over nadenkt, ga je het dan iemand vragen.

1696
01:27:52.820 --> 01:27:53.620
Oh ja, ja, ja.

1697
01:27:53.660 --> 01:27:55.460
Ik vond het echt zo'n mooie regel.

1698
01:27:55.960 --> 01:27:57.860
Ik dacht, en sindsdien pas ik hem gewoon toe.

1699
01:27:58.360 --> 01:28:01.000
Daarom vind ik het ook super belangrijk dat je gewoon, zeg maar,

1700
01:28:01.040 --> 01:28:06.520
dingen laat zien en feedback krijgt en vraagt en leert.

1701
01:28:06.660 --> 01:28:10.820
Dat is allemaal, als ik zei, de weledelen heer Wilco Korn.

1702
01:28:10.980 --> 01:28:11.280
Ja.

1703
01:28:11.800 --> 01:28:16.640
Dus dat zou ik eigenlijk aan mezelf, echt, en vroeger zat ik echt...

1704
01:28:16.640 --> 01:28:22.400
Ik zie sommige ontwikkelaars, zie ik maanden ergens op zitten.

1705
01:28:23.760 --> 01:28:27.280
Weet je, en dan wordt er wat gereffecterd en er wordt er wat weggegooid

1706
01:28:27.280 --> 01:28:30.040
en er wordt er iets compleet opnieuw gemaakt of iets dergelijks.

1707
01:28:30.200 --> 01:28:32.720
En dan denk ik, maar wat heb je nou gedaan?

1708
01:28:33.300 --> 01:28:36.300
Had je niet, we hadden samen, hadden we misschien tot een oplossing kunnen,

1709
01:28:36.420 --> 01:28:37.920
of tot nieuwe inzichten kunnen komen,

1710
01:28:38.000 --> 01:28:43.620
of dat je sneller dingen had kunnen doen of, weet je, en zeg maar, ja.

1711
01:28:44.440 --> 01:28:45.160
Ja, ik snap het.

1712
01:28:45.160 --> 01:28:48.280
Dat deed ik vroeger wel eens, dat was heel slecht.

1713
01:28:49.400 --> 01:28:51.940
Dus na vijf minuten iemand aan zijn jasje trekken.

1714
01:28:53.120 --> 01:28:58.420
Nou, het is wel leuk dat je het zegt, want toevallig ook vandaag bij de NS'en

1715
01:28:58.420 --> 01:28:59.960
gaan we een nieuwe vacature uitzetten.

1716
01:29:00.580 --> 01:29:02.160
Mij werd gevraagd om een review te doen.

1717
01:29:04.180 --> 01:29:08.200
En ik had inderdaad één van de, noem het maar even, soft skills of,

1718
01:29:08.200 --> 01:29:12.080
ja, wat is het, dus de niet, ja, niet de hardcore...

1719
01:29:12.080 --> 01:29:13.280
Communicatieskills, ja.

1720
01:29:13.280 --> 01:29:18.740
Ja, die ik erbij had gezet, die miste ik gewoon, was inderdaad durven

1721
01:29:18.740 --> 01:29:23.780
vragen stellen, want die zag ik er niet tussen staan, want ja,

1722
01:29:23.820 --> 01:29:27.320
ik denk inderdaad gewoon, we kunnen, denk ik, met z'n allen, ook in de IT,

1723
01:29:28.320 --> 01:29:30.340
kunnen wij, denk ik, wel sneller aan de bel trekken.

1724
01:29:30.400 --> 01:29:33.280
En natuurlijk, Google is je best friend, dus ik gebruik hem ook vaak

1725
01:29:33.280 --> 01:29:36.220
na vijf minuten, maar ook dat, weet je wel.

1726
01:29:36.240 --> 01:29:39.340
Dan kom je in een tunnelvisie, waar je, waar je misschien met

1727
01:29:39.340 --> 01:29:44.080
menselijke interactie, misschien toch net even een andere blik hebt.

1728
01:29:45.560 --> 01:29:48.740
Ik wilde trouwens bijna net rest in peace Wilco zeggen,

1729
01:29:48.920 --> 01:29:52.680
maar hij is gelukkig nog niet, nee, hij is, ja, op LinkedIn is

1730
01:29:52.680 --> 01:29:53.980
hij nog gewoon vol bezig.

1731
01:29:53.980 --> 01:29:55.520
Hij is goed actief, hoor.

1732
01:29:55.540 --> 01:29:55.820
Ja, precies.

1733
01:29:56.000 --> 01:29:59.060
Met z'n 42 verhalen over wat er allemaal gebeurd is.

1734
01:29:59.380 --> 01:30:00.280
Ja, ja, precies.

1735
01:30:01.180 --> 01:30:03.000
Ik hoop dat we lang van al mogen genieten zo.

1736
01:30:03.240 --> 01:30:03.680
Zeker.

1737
01:30:05.240 --> 01:30:09.960
Ja, Jamie, heb jij nog een tip aan je jongeren zelf?

1738
01:30:10.520 --> 01:30:12.280
Ja, zeker, zeker.

1739
01:30:13.620 --> 01:30:17.680
We weten natuurlijk allemaal in de IT dat dat dingen heel snel veranderen.

1740
01:30:18.380 --> 01:30:21.060
Elke jaar hebben we nieuwe technologieën, nieuwe technieken,

1741
01:30:21.180 --> 01:30:22.440
nieuwe manieren van werken.

1742
01:30:23.380 --> 01:30:25.060
Je moet dat allemaal bijhouden.

1743
01:30:25.420 --> 01:30:29.920
Ik denk dat het belangrijk is om in het systeem te investeren,

1744
01:30:29.920 --> 01:30:34.280
zodat je die kennis ook kan borgen en altijd oproepbaar is.

1745
01:30:34.580 --> 01:30:38.280
Dat zou mijn tip zijn om daarin te investeren,

1746
01:30:38.360 --> 01:30:41.400
dat je een systeem hebt waarmee je je kennis die je vergaart

1747
01:30:41.400 --> 01:30:44.300
op een effectieve manier kan borgen en kan aanroepen.

1748
01:30:45.020 --> 01:30:47.940
Ja, die vergeet ik ook wel eens inderdaad.

1749
01:30:49.700 --> 01:30:52.400
Overal na een paar jaar of zo denk je weer bij jezelf,

1750
01:30:53.080 --> 01:30:55.780
oh, ik had hier een projectje van te maken ofzo.

1751
01:30:58.040 --> 01:30:58.520
Klopt.

1752
01:30:58.520 --> 01:31:01.520
Maar als je je daarin traint en je doet daar de juiste dingen in,

1753
01:31:02.020 --> 01:31:03.440
dan kom je in heel eind, denk ik.

1754
01:31:03.980 --> 01:31:06.740
Nou noemde ik GitHub als een voorbeeld,

1755
01:31:06.800 --> 01:31:09.180
maar heb je misschien andere manieren waarop je kennis...

1756
01:31:09.180 --> 01:31:11.380
GitHub gebruik ik inderdaad ook,

1757
01:31:11.480 --> 01:31:14.420
maar wat ik tegenwoordig gebruik is Obsidian.

1758
01:31:14.580 --> 01:31:20.140
Dat is eigenlijk een tool waarmee je al je kennis die je vergaart

1759
01:31:20.140 --> 01:31:22.580
vast kan leggen op je lokale machine

1760
01:31:22.580 --> 01:31:26.440
en ook links kan leggen tussen documenten en dingen kan taggen.

1761
01:31:26.440 --> 01:31:29.520
Dat is eigenlijk een soort knowledge base die je aanlegt.

1762
01:31:29.820 --> 01:31:31.200
Klinkt als SharePoint.

1763
01:31:32.020 --> 01:31:32.380
Sorry.

1764
01:31:33.420 --> 01:31:36.120
Het verschil is dat je hier wel dingen terug kan vinden,

1765
01:31:37.300 --> 01:31:38.120
met SharePoint niet.

1766
01:31:38.280 --> 01:31:39.100
Hoezo, hoe bedoel je?

1767
01:31:39.120 --> 01:31:41.160
Je hebt toch gewoon een zoekfunctie in SharePoint.

1768
01:31:43.880 --> 01:31:45.260
Nee, maar ik snap het.

1769
01:31:45.260 --> 01:31:50.220
Ik moet ook ineens aan dat andere product met dat olifantje denken.

1770
01:31:50.440 --> 01:31:50.840
Evernote?

1771
01:31:51.060 --> 01:31:51.700
Evernote, ja.

1772
01:31:51.860 --> 01:31:55.700
Dat gebruikte ik eerst, maar ik heb alles gemigreerd naar Obsidian.

1773
01:31:55.700 --> 01:31:57.160
Oké, en waarom is dat?

1774
01:31:58.120 --> 01:32:01.580
Evernote is toch een cloud-based service en ik wilde echt alles lokaal hebben.

1775
01:32:01.880 --> 01:32:06.760
Het zijn markdown files die je eigenlijk edit, die je kan linken, die je inzichtlijk kan maken.

1776
01:32:07.160 --> 01:32:12.200
Je kan extenderen met plugins om bijvoorbeeld ook daily notes aan te leggen voor je stand-ups

1777
01:32:12.200 --> 01:32:12.940
en wat je gaat doen.

1778
01:32:13.720 --> 01:32:16.060
Dus dat is echt, ja, dat voegt voor mij echt wat toe.

1779
01:32:16.340 --> 01:32:17.280
Oké, oké.

1780
01:32:17.380 --> 01:32:20.680
Ja, ik zal hem even noteren straks in de tips.

1781
01:32:22.340 --> 01:32:23.440
Zal ik nu even gelijk doen.

1782
01:32:23.440 --> 01:32:25.700
Wat was de naam ook weer nog een keer?

1783
01:32:26.940 --> 01:32:27.620
Obsidian.

1784
01:32:27.620 --> 01:32:28.040
Obsidian.

1785
01:32:28.040 --> 01:32:29.380
O-B-S-I.

1786
01:32:31.280 --> 01:32:32.140
Obsidian, ja.

1787
01:32:33.780 --> 01:32:40.580
Nou, een andere vraag die we aan jullie beide misschien kunnen stellen is

1788
01:32:40.580 --> 01:32:47.180
de grootste fout die je misschien hebt gemaakt in de afgelopen jaar.

1789
01:32:48.300 --> 01:32:48.720
Jaar?

1790
01:32:48.980 --> 01:32:49.160
Ja.

1791
01:32:49.560 --> 01:32:50.980
Ik heb nog veel betere.

1792
01:32:51.580 --> 01:32:54.940
Die heb ik in volgens mij twee...

1793
01:32:54.940 --> 01:32:55.800
Wanneer heb ik die gemaakt?

1794
01:32:56.580 --> 01:32:57.700
2014 ofzo?

1795
01:32:59.680 --> 01:33:04.040
Toen merkte we dat zeg maar de NS Reisplanner, die was een object of C geschreven

1796
01:33:04.040 --> 01:33:09.000
met storyboards en andere dingen, die had een compaaltijd van 20 minuten.

1797
01:33:09.260 --> 01:33:09.540
Oh.

1798
01:33:09.880 --> 01:33:12.700
Dus ontwikkelen erin was echt een drama.

1799
01:33:13.220 --> 01:33:17.440
En toen bedacht ik me, kom, we gaan hem helemaal opnieuw schrijven.

1800
01:33:18.280 --> 01:33:19.800
Dat was niet zo'n goed idee.

1801
01:33:21.180 --> 01:33:25.780
Dus we hebben alle code weggegooid en we zijn helemaal van scratch-off aan begonnen.

1802
01:33:26.180 --> 01:33:29.100
En ik had versie twee gemaakt, ik had versie drie gemaakt.

1803
01:33:29.520 --> 01:33:31.680
En dit was versie vier ongeveer.

1804
01:33:32.060 --> 01:33:36.920
Dus ik dacht van, ik weet wel alles hoe het werkt en dat is helemaal geen probleem.

1805
01:33:37.120 --> 01:33:43.320
Maar toch, oh ik weet nog, we waren te laat en de hardware er ook aan werkte

1806
01:33:43.320 --> 01:33:47.720
en ik weet nog de eerste reviews, oh wat een drama, dingen werken in die bugs enzo.

1807
01:33:48.100 --> 01:33:48.340
Ja.

1808
01:33:48.340 --> 01:33:53.420
Dus ik ga nooit meer van mijn leven iets van scratch-off aan weggooien.

1809
01:33:53.580 --> 01:33:58.260
Ik ga nu vanaf nu altijd gewoon gefazeerd dingen aanpassen

1810
01:33:58.260 --> 01:34:01.080
en gefazeerd dingen uitfazeren.

1811
01:34:03.900 --> 01:34:04.620
Oh man.

1812
01:34:05.200 --> 01:34:10.060
Maar dus uiteindelijk bleef het probleem hetzelfde, maar eigenlijk nog erger natuurlijk.

1813
01:34:10.220 --> 01:34:12.320
Want die beeldtijd was nog steeds twintig minuten.

1814
01:34:12.460 --> 01:34:14.000
Nee, die was heel stuk naar beneden.

1815
01:34:14.740 --> 01:34:15.980
En de code was super consistent.

1816
01:34:16.540 --> 01:34:17.520
Dus dat was mooi.

1817
01:34:17.520 --> 01:34:20.900
Dus dat was het voordeel.

1818
01:34:21.020 --> 01:34:22.140
Oké, oké, dat gelukkig wel.

1819
01:34:22.340 --> 01:34:25.100
Alleen ik had het gewoon echt op een andere manier aan moeten pakken.

1820
01:34:25.720 --> 01:34:29.080
Wat ik had moeten doen is ik had moeten zeggen van nou we pakken hier gewoon een bepaald stuk.

1821
01:34:29.220 --> 01:34:30.600
Bijvoorbeeld vertrektijden ofzo.

1822
01:34:31.320 --> 01:34:32.940
En dat gaan we aanpassen.

1823
01:34:33.300 --> 01:34:37.080
En zodra dat is aangepast, gooi je dat oude weg.

1824
01:34:37.660 --> 01:34:43.300
En dan pas gaan we de planner doen en dan pak je, weet ik veel, mijn reizen ofzo.

1825
01:34:43.880 --> 01:34:46.440
Je pakt allemaal losse stukjes, pak je eigenlijk allemaal gewoon op.

1826
01:34:46.440 --> 01:34:51.940
En dat doe je, want je hebt namelijk in al die jaren dat je de producten hebt gemaakt,

1827
01:34:52.240 --> 01:34:56.400
heb je allemaal dingetjes gefixt en kleine slimme geetjes heb je erin gedaan enzo.

1828
01:34:56.720 --> 01:35:00.580
En die verlies je allemaal op het moment dat je alle code weer weg gaat gooien.

1829
01:35:00.740 --> 01:35:02.680
Dus je code wordt wel prachtig enzo.

1830
01:35:02.720 --> 01:35:04.120
Dus de ontwikkelaar is hartstikke blij.

1831
01:35:04.580 --> 01:35:05.500
De klant is niet blij.

1832
01:35:05.960 --> 01:35:09.840
En volgens mij begon ik de podcast een beetje dat de klant altijd super blij moet zijn.

1833
01:35:09.980 --> 01:35:12.220
En dat dit niet altijd om de ontwikkelaar moet gaan.

1834
01:35:12.680 --> 01:35:13.960
Dus dat is een les die ik heb geleerd.

1835
01:35:13.960 --> 01:35:16.520
Oké, nou dat zijn hele wijslessen.

1836
01:35:17.160 --> 01:35:21.160
Ik moet er ook ineens denken aan, misschien weet jij dat ook nog wel Robert,

1837
01:35:21.560 --> 01:35:28.060
in de Xebia tijd zijn we een keer naar een Xebia interne conferentie hadden we dan.

1838
01:35:28.700 --> 01:35:30.420
Xebicon heette dat geloof ik.

1839
01:35:30.540 --> 01:35:31.340
Xebicon ja.

1840
01:35:32.300 --> 01:35:34.520
En toen hadden we Dan North op verzien.

1841
01:35:35.000 --> 01:35:38.560
En die had ook een hele mooie talk, dat ging over refactoring inderdaad.

1842
01:35:38.560 --> 01:35:43.680
Dan had die metafoor een boom weet je wel, die dan inderdaad je kon gewoon heel hard

1843
01:35:43.680 --> 01:35:46.380
op gewoon opnieuw een nieuwe boom planten.

1844
01:35:46.400 --> 01:35:50.460
Maar je kan ook kijken hoe je de huidige boom kan snoeien en kan knippen.

1845
01:35:50.460 --> 01:35:53.460
Zodat het inderdaad naar je smaak gaat.

1846
01:35:54.580 --> 01:35:57.780
Maar goed, ja dat is inderdaad een wijze les.

1847
01:35:58.280 --> 01:35:59.630
Ja, goed fijn dat je hem even deelt.

1848
01:36:00.480 --> 01:36:03.920
Jamie, heb jij misschien een interessante fout die je wilt delen?

1849
01:36:03.960 --> 01:36:05.640
En vooral je learning natuurlijk daarvan.

1850
01:36:06.300 --> 01:36:07.620
Ja, die heb ik wel.

1851
01:36:08.320 --> 01:36:09.740
Maar daar vertel ik niks over.

1852
01:36:10.240 --> 01:36:11.660
Nee, maar mogen jullie niet weten.

1853
01:36:13.880 --> 01:36:16.880
Nee, naast natuurlijk werkzaamheden voor grote klanten

1854
01:36:16.880 --> 01:36:18.780
doe ik ook werkzaamheden voor wat kleinere klanten.

1855
01:36:18.860 --> 01:36:20.520
Sommige doe ik op fixed price basis.

1856
01:36:21.160 --> 01:36:24.900
In het verleden heb ik weleens de fout gemaakt om een fixed price offerte af te geven

1857
01:36:24.900 --> 01:36:27.940
voor werkzaamheden met eigenlijk te veel onbekenden.

1858
01:36:28.700 --> 01:36:31.620
En ik ben daar veel te veel tijd mee kwijt geweest.

1859
01:36:34.000 --> 01:36:37.000
Niet dat dat heel erg was op dat moment.

1860
01:36:37.140 --> 01:36:38.400
Het is een leer moment natuurlijk.

1861
01:36:39.120 --> 01:36:40.260
Maar dat doe ik niet meer.

1862
01:36:41.060 --> 01:36:44.020
En je kunt dan beter dingen op nakalculatie doen

1863
01:36:44.020 --> 01:36:46.320
en wat meer flexibeler in edge al werken

1864
01:36:46.320 --> 01:36:49.460
dan echt fixed price offertes afgeven.

1865
01:36:50.820 --> 01:36:51.620
Ja. Nee, ik snap het.

1866
01:36:51.940 --> 01:36:54.820
Dus de scope dan misschien? Of bedoelde je meer?

1867
01:36:54.940 --> 01:37:00.140
Scope perken of wat meer tijd om een proefconcept te maken.

1868
01:37:00.140 --> 01:37:04.640
En op basis daarvan die ervaringen een wat betere offerte te maken.

1869
01:37:05.060 --> 01:37:06.140
Ja, klopt.

1870
01:37:06.960 --> 01:37:09.300
Oké, nou, dat klinkt ook als een hele goede aanpak.

1871
01:37:09.560 --> 01:37:10.800
En op alles eigenlijk.

1872
01:37:11.500 --> 01:37:15.640
Dus alles inderdaad met snelle feedback loops, weet je wel.

1873
01:37:15.720 --> 01:37:17.500
Dus je snel probeert te leren,

1874
01:37:17.720 --> 01:37:19.700
waardoor je meer informatie probeert te winnen

1875
01:37:19.700 --> 01:37:22.580
en daar aan de hand van die informatie weer de volgende stap te zetten.

1876
01:37:22.700 --> 01:37:25.360
En dat is volgens mij de kern van edge al werken, denk ik.

1877
01:37:25.720 --> 01:37:26.720
Oké, nou, goede tips.

1878
01:37:27.960 --> 01:37:30.440
Nou, dan hebben we nog één laatste.

1879
01:37:32.500 --> 01:37:38.180
De belangrijkste developer skill die jullie zouden aanraden.

1880
01:37:38.880 --> 01:37:41.140
Wat zou dat volgens jou zijn?

1881
01:37:41.820 --> 01:37:44.120
Dus de most underrated developer skill.

1882
01:37:44.900 --> 01:37:48.540
Die jullie zouden willen...

1883
01:37:48.540 --> 01:37:51.360
Ja, dus wat is voor jullie belangrijk, laat ik zo maar even zeggen.

1884
01:37:51.940 --> 01:37:53.880
Ik heb er een paar, als dat ook mag.

1885
01:37:54.020 --> 01:37:54.620
Ja, tuurlijk.

1886
01:37:54.620 --> 01:37:58.060
Het belangrijkste is natuurlijk altijd communicatie.

1887
01:37:58.260 --> 01:38:01.100
Wat Robert ook al zei, blijf niet te lang met een probleem zitten,

1888
01:38:01.700 --> 01:38:03.840
maar vraag hem hulp als je ergens mee vast zit.

1889
01:38:04.960 --> 01:38:09.740
Andere dingen is, hou dingen simpel, kies voor eenvoud in plaats van complexiteit.

1890
01:38:12.560 --> 01:38:15.660
En probeer niet eindeloos te discussiëren over specificaties,

1891
01:38:16.400 --> 01:38:19.340
maar ga op een edge al manier dingen maken,

1892
01:38:19.480 --> 01:38:22.040
ga itereren, ga leer het probleem kennen

1893
01:38:22.040 --> 01:38:26.220
en ga op basis van ervaringen je product verder ontwikkelen en feedback.

1894
01:38:28.920 --> 01:38:33.380
Ik moest ineens denken aan een advertentie die ik zag op LinkedIn.

1895
01:38:33.580 --> 01:38:36.280
Ik zal de bedrijfnaam niet noemen trouwens.

1896
01:38:36.540 --> 01:38:38.880
Maar die hadden echt als slogan van,

1897
01:38:39.200 --> 01:38:41.640
kom bij ons werken aan ons complexe systeem.

1898
01:38:43.680 --> 01:38:45.180
Ja, dat kan natuurlijk twee kanten op.

1899
01:38:45.320 --> 01:38:47.960
Dan kan je zeggen, ja, kom, we gaan het nog complexer maken.

1900
01:38:48.060 --> 01:38:49.040
Of je gaat het beter...

1901
01:38:49.040 --> 01:38:51.300
Dan kan je het misschien beter opnieuw doen.

1902
01:38:53.800 --> 01:38:54.480
Wat denk jij, Robert?

1903
01:38:55.860 --> 01:38:57.040
Ja, ik vind het...

1904
01:38:57.860 --> 01:38:59.040
Ik vind het...

1905
01:39:00.260 --> 01:39:03.260
Ik denk dat het belangrijkste is als developer,

1906
01:39:03.860 --> 01:39:07.200
dat je altijd, en dat is ook lastig voor een hele hoop developers,

1907
01:39:07.800 --> 01:39:09.680
dat je weet waarvoor je het doet.

1908
01:39:11.660 --> 01:39:13.980
Wat is zeg maar die business value die je brengt?

1909
01:39:14.260 --> 01:39:15.600
Nu klink ik een beetje als een soort,

1910
01:39:15.600 --> 01:39:17.980
weet je al, processcoach, weet ik wel, dat soort dingen.

1911
01:39:18.360 --> 01:39:20.500
Maar nu snap ik die gasten eindelijk eens een keer een beetje.

1912
01:39:20.660 --> 01:39:21.720
Ja, precies, ja.

1913
01:39:23.160 --> 01:39:26.120
Maar ik vind het altijd heel fijn, zeg maar,

1914
01:39:27.580 --> 01:39:30.040
van waarvoor je het eigenlijk allemaal doet.

1915
01:39:30.900 --> 01:39:34.860
Ik wil bijvoorbeeld meer mensen onboarden.

1916
01:39:34.920 --> 01:39:36.300
Ik wil meer sales halen.

1917
01:39:36.380 --> 01:39:37.520
Hoe gaan we dat nou allemaal doen?

1918
01:39:38.040 --> 01:39:41.600
En eigenlijk alles wat je doet, staat in teken van dat einddoel.

1919
01:39:42.260 --> 01:39:44.340
En dat moet je, zeg maar, voor ogen houden.

1920
01:39:44.920 --> 01:39:46.960
En iedere keer, als je gewoon zo'n stapje maakt,

1921
01:39:47.120 --> 01:39:48.600
dan kom je daar gewoon, zeg maar, dichterbij.

1922
01:39:50.100 --> 01:39:53.300
En dus bijvoorbeeld eindeloos discussiëren over requirements,

1923
01:39:53.520 --> 01:39:55.040
of dit, of dat, of zis, of zo.

1924
01:39:55.480 --> 01:39:57.740
Weet je, het gaat er gewoon om welk stapje kan ik nu nemen

1925
01:39:57.740 --> 01:39:59.020
om gewoon daar dichterbij te komen.

1926
01:39:59.120 --> 01:40:00.740
En niet te ver vooruit kijken.

1927
01:40:01.200 --> 01:40:04.360
Niet proberen alles in detail gewoon uit te specificeren,

1928
01:40:04.380 --> 01:40:05.320
want dat werkt toch niet.

1929
01:40:06.060 --> 01:40:07.160
Gewoon stukje bij beetje.

1930
01:40:07.360 --> 01:40:09.560
En iedere keer leer je en krijg je nieuwe inzichten.

1931
01:40:09.640 --> 01:40:12.080
En weet je steeds beter hoe je bij dat einddoel moet komen.

1932
01:40:13.400 --> 01:40:13.720
Ja.

1933
01:40:14.320 --> 01:40:15.960
Ja, dat uitspecificeren,

1934
01:40:15.980 --> 01:40:17.460
misschien klinkt het als een zekerheid,

1935
01:40:17.740 --> 01:40:19.240
maar dat is het eigenlijk helemaal niet,

1936
01:40:19.300 --> 01:40:21.960
want je leert pas als je daar echt mee bezig gaat.

1937
01:40:22.800 --> 01:40:26.580
Ik heb de quote van die IT-advertentie even goed nagezocht.

1938
01:40:26.600 --> 01:40:26.940
Oh ja.

1939
01:40:27.780 --> 01:40:31.120
Dat was, bouw mee aan onze complexe architectuur.

1940
01:40:31.920 --> 01:40:32.960
Maar wat is een einddoel?

1941
01:40:33.120 --> 01:40:34.820
Een nog complexere architectuur?

1942
01:40:34.880 --> 01:40:36.220
Ja, inderdaad.

1943
01:40:36.260 --> 01:40:36.980
Dat weet je nog niet.

1944
01:40:37.040 --> 01:40:38.020
Nee, dat is ook zo.

1945
01:40:38.700 --> 01:40:40.520
Maar goed, ik kan me wel wat bij voorstellen.

1946
01:40:41.600 --> 01:40:43.560
Ik zou juist zeggen van,

1947
01:40:43.680 --> 01:40:45.560
bouw mee aan onze complexe architectuur

1948
01:40:45.560 --> 01:40:47.700
om hem simpel en begrijpbaar te maken of zoiets.

1949
01:40:47.740 --> 01:40:48.220
Ja, precies.

1950
01:40:48.940 --> 01:40:50.520
Dat viel er net af.

1951
01:40:51.060 --> 01:40:51.140
Ja, ja.

1952
01:40:51.840 --> 01:40:52.340
Jammer hoor.

1953
01:40:52.500 --> 01:40:53.300
Is een gemiste kans.

1954
01:40:53.760 --> 01:40:54.600
Ja, zeker, zeker.

1955
01:40:54.900 --> 01:40:56.320
Ja, ik houd van één fout.

1956
01:40:57.100 --> 01:40:57.640
Nee, precies.

1957
01:40:57.800 --> 01:40:58.660
Ik denk ook de...

1958
01:40:58.660 --> 01:41:00.260
Tenzij je een probleem natuurlijk complex is,

1959
01:41:00.440 --> 01:41:02.520
dan heb je van de dure complexiteit, maar...

1960
01:41:03.700 --> 01:41:03.980
Ja.

1961
01:41:07.560 --> 01:41:09.840
Soms denk ik ook van...

1962
01:41:09.840 --> 01:41:11.660
Ja, is dat überhaupt mogelijk

1963
01:41:11.660 --> 01:41:15.020
om dingen simpel te maken in complexe materie?

1964
01:41:15.940 --> 01:41:18.060
Want ik zit even te denken, even hardtopdenkend.

1965
01:41:18.660 --> 01:41:20.920
We maken toch geen software voor deeltjesversnellers?

1966
01:41:21.120 --> 01:41:21.800
De meeste van ons?

1967
01:41:22.000 --> 01:41:23.320
Nee, de meeste niet, nee.

1968
01:41:23.900 --> 01:41:25.680
Nee, maar ik zit even te denken.

1969
01:41:27.500 --> 01:41:30.880
We hebben ook een tijdje bij een hypotheekverstrekker

1970
01:41:30.880 --> 01:41:32.280
of zo hebben we gezeten.

1971
01:41:32.740 --> 01:41:35.120
En dan zaten allerlei complexe...

1972
01:41:35.120 --> 01:41:36.980
Laat even de Belastingdienst bijvoorbeeld noemen.

1973
01:41:36.980 --> 01:41:38.100
Nou, Belastingdienst.

1974
01:41:38.300 --> 01:41:41.400
Er zitten natuurlijk ook allerlei haken en ogen aan regels,

1975
01:41:41.500 --> 01:41:42.740
wetgevingen die ook veranderen.

1976
01:41:42.760 --> 01:41:45.120
Die ook aan veranderingen onderhevig zijn inderdaad, ja.

1977
01:41:46.120 --> 01:41:49.020
Dus dan heb je al volgens mij te maken met een hele complexe,

1978
01:41:49.620 --> 01:41:53.580
noem het maar even materie of domein of wat dan ook klopt.

1979
01:41:55.540 --> 01:41:56.380
En dan, ja.

1980
01:41:56.760 --> 01:41:59.220
Maar ja, goed, dan kan je nog steeds voor softwareontwikkeling

1981
01:41:59.220 --> 01:42:01.900
kiezen voor een simpele manier om daarmee op te gaan.

1982
01:42:01.920 --> 01:42:03.940
Ja, ik denk juist in een complexe omgeving

1983
01:42:03.940 --> 01:42:08.600
dat het belangrijk is dat je snel een iteratief kan opleveren

1984
01:42:08.600 --> 01:42:10.800
en snel ook leert van die complexiteit,

1985
01:42:10.820 --> 01:42:12.560
zodat je het probleem beter begrijpt

1986
01:42:12.560 --> 01:42:15.240
en daardoor simpele oplossingen kan maken.

1987
01:42:15.680 --> 01:42:15.980
Ja.

1988
01:42:16.620 --> 01:42:19.800
Maar dat vereist denk ik ook wel dat je voor een langere tijd

1989
01:42:19.800 --> 01:42:21.820
in een bepaald domein werkt,

1990
01:42:21.940 --> 01:42:24.300
zodat je goed begrijpt wat er speelt

1991
01:42:24.300 --> 01:42:26.040
en tot simpele oplossingen kan komen.

1992
01:42:26.460 --> 01:42:30.380
Want als jij bijvoorbeeld in die complexe architectuur

1993
01:42:30.380 --> 01:42:32.600
dingen gaat doen, ik ben net een maand bezig.

1994
01:42:32.600 --> 01:42:35.160
Kan jij niet verwachten dat je het even simpel gaat maken?

1995
01:42:35.680 --> 01:42:36.160
Nee.

1996
01:42:37.300 --> 01:42:38.680
Ik denk toch wel weer een voorbeeld,

1997
01:42:38.720 --> 01:42:41.780
zeg maar die NS Reisplanner waar we mee bezig zijn geweest.

1998
01:42:41.960 --> 01:42:43.700
Daar hebben we echt jaren aan gewerkt.

1999
01:42:43.880 --> 01:42:46.900
En uiteindelijk kwamen we zover dat we best wel

2000
01:42:47.880 --> 01:42:49.800
complexe vraagstukken simpel konden oplossen

2001
01:42:50.120 --> 01:42:51.580
door gebruik van microservices

2002
01:42:51.580 --> 01:42:53.800
en bepaalde dingen aan elkaar te koppelen en zo.

2003
01:42:54.240 --> 01:42:57.960
Maar gewoon puur omdat we paraten domeinkennis hebben

2004
01:42:58.500 --> 01:43:00.080
over en ook nog eens een keer over

2005
01:43:00.080 --> 01:43:02.600
allemaal verschillende afdelingen heen.

2006
01:43:03.880 --> 01:43:05.400
En dat is super waardevol.

2007
01:43:05.560 --> 01:43:11.300
Dus ik denk ook dat helaas is onze economie zo,

2008
01:43:11.420 --> 01:43:12.740
geloof ik, of zeker bij developers zo,

2009
01:43:13.420 --> 01:43:15.520
dat mensen niet langer dan twee jaar of drie jaar

2010
01:43:15.520 --> 01:43:18.920
of vier of vijf, vijf is erg lang geloof ik tegenwoordig,

2011
01:43:19.280 --> 01:43:20.140
ergens blijven zitten.

2012
01:43:20.680 --> 01:43:25.220
Maar ik zie toch vaak dat de wat oudere werknemers

2013
01:43:25.220 --> 01:43:27.240
heel veel domeinkennis hebben

2014
01:43:27.240 --> 01:43:29.740
en vaak ook wel tot simpele oplossingen kunnen komen,

2015
01:43:30.260 --> 01:43:31.780
omdat ze gewoon die kennis per raad hebben.

2016
01:43:31.980 --> 01:43:34.880
En ik denk voor bedrijven als ze een goed product willen hebben

2017
01:43:34.880 --> 01:43:37.340
en dat voor langere periode in willen zetten,

2018
01:43:37.920 --> 01:43:41.400
zullen ze moeten investeren in hun mensen die daar werken

2019
01:43:41.400 --> 01:43:43.060
en ze goed betalen, ook netjes.

2020
01:43:43.200 --> 01:43:45.360
Zodat we niet iedere keer, iedere twee jaar wegvluchten

2021
01:43:46.640 --> 01:43:49.660
naar een land dat het gras wat groener is,

2022
01:43:49.760 --> 01:43:50.960
wat uiteindelijk niet zo goed is.

2023
01:43:51.580 --> 01:43:55.100
Nee. Ja, dat is absoluut zo,

2024
01:43:56.940 --> 01:43:58.580
want kennis is dan in die zin macht

2025
01:43:59.520 --> 01:44:01.980
en die kan je dus krachtig inzetten.

2026
01:44:04.760 --> 01:44:07.580
Maar inderdaad, als je dus opnieuw het wieltje,

2027
01:44:07.580 --> 01:44:09.090
dus ook in de kennis moet gaan opbouwen,

2028
01:44:09.700 --> 01:44:10.920
dan heb je weer andere opvattingen,

2029
01:44:10.920 --> 01:44:13.300
heb je de context niet van die zoveel jaar geleden

2030
01:44:13.300 --> 01:44:15.840
en dan ga je inderdaad al gauw fouten maken

2031
01:44:15.840 --> 01:44:18.070
en dan worden systemen complexer.

2032
01:44:18.070 --> 01:44:23.430
Dus ik zat toevallig net ook even te zoeken naar Conway's Law.

2033
01:44:24.470 --> 01:44:26.050
Ik moest even aan die law denken,

2034
01:44:26.070 --> 01:44:28.250
maar ik wist even niet dat er Conway daarvoor stond.

2035
01:44:28.470 --> 01:44:30.510
Dus dat heb ik net opgezocht en dat reflecteert.

2036
01:44:30.830 --> 01:44:32.290
Kijk, ook daar weet je,

2037
01:44:32.410 --> 01:44:35.110
de organisatie reflecteert uiteindelijk gewoon de communicatie

2038
01:44:35.870 --> 01:44:39.790
en ook uiteindelijk denk ik ook wel de architectuur van software.

2039
01:44:40.630 --> 01:44:47.030
Maar goed, het wordt een hele diepgaande filosofische discussie.

2040
01:44:47.030 --> 01:44:49.650
Maar goed, daar gaan we gauw even voorbij.

2041
01:44:50.810 --> 01:44:56.190
Maar in ieder geval, de most underrated developer skill is inderdaad,

2042
01:44:56.770 --> 01:44:58.470
ja, vind ik zelf ook inderdaad,

2043
01:44:59.110 --> 01:45:02.630
is zorgen dat je inderdaad goed begrijpt waarom je dingen doet.

2044
01:45:03.430 --> 01:45:04.050
Ja, precies.

2045
01:45:04.070 --> 01:45:06.310
Want software development is gewoon slechts een tool.

2046
01:45:07.010 --> 01:45:07.850
Klopt, klopt.

2047
01:45:08.010 --> 01:45:09.650
Dat heeft altijd een einddoel.

2048
01:45:10.650 --> 01:45:11.730
Ja, ineens.

2049
01:45:13.070 --> 01:45:17.350
Oké, nou dan hebben we nog één laatste, ja hoe heet dat,

2050
01:45:18.030 --> 01:45:20.790
vaste rubriek die ik even met jullie zou willen doornemen.

2051
01:45:21.710 --> 01:45:24.670
Dat zijn onze tips die we aan onze luisteraar zouden kunnen geven.

2052
01:45:24.770 --> 01:45:27.310
Ik denk dat we ook in de uitzending al een paar hebben gedaan.

2053
01:45:28.270 --> 01:45:31.330
Maar wellicht misschien dat je nu ook even denkt van,

2054
01:45:31.510 --> 01:45:34.170
hoi, die heb ik gemist, dus daar is even nu de tijd voor.

2055
01:45:36.830 --> 01:45:38.910
Robert heb ik nu even als eerste opgeschreven.

2056
01:45:38.990 --> 01:45:40.210
Heb jij nog een tip?

2057
01:45:40.210 --> 01:45:43.270
Het mag ook echt totaal niet met code te maken hebben hoor.

2058
01:45:43.630 --> 01:45:45.530
Ik denk dat het belangrijkste tip is,

2059
01:45:45.730 --> 01:45:48.190
investeer alsjeblieft in je gereedschap.

2060
01:45:48.650 --> 01:45:49.310
Oké man.

2061
01:45:49.630 --> 01:45:52.310
Sorry, het is een beetje, weet je, algemeen.

2062
01:45:54.090 --> 01:45:56.130
Gereedschap is zo ontzettend belangrijk.

2063
01:45:56.790 --> 01:45:59.630
Vooral bijvoorbeeld goede laptops,

2064
01:46:00.390 --> 01:46:02.290
goede workstation of iets dergelijks.

2065
01:46:02.350 --> 01:46:05.050
Het maakt je leven zoveel plezieriger,

2066
01:46:05.250 --> 01:46:07.430
dat als je code tikt,

2067
01:46:07.430 --> 01:46:10.110
dat je gewoon compaalt binnen een paar seconden.

2068
01:46:10.250 --> 01:46:12.750
Dat je snel resultaat hebt, dat die gewoon netjes reageert.

2069
01:46:13.090 --> 01:46:15.510
Dat als er een nieuwe versie van iets uitkomt,

2070
01:46:15.670 --> 01:46:17.830
dat je het gewoon lekker kan installeren in plaats van

2071
01:46:17.830 --> 01:46:21.090
dat je eerst een uur bezig bent om oude rotzooi op te ruimen en zo.

2072
01:46:22.950 --> 01:46:27.210
Dat is denk ik, en vraag je manager of sur gewoon net zo lang

2073
01:46:27.210 --> 01:46:29.930
tot die je gewoon toegeeft, want weet je hoeveel tijd en geld

2074
01:46:29.930 --> 01:46:32.430
het allemaal kost en ik snap dat die inkoopafdelingen af en toe

2075
01:46:32.430 --> 01:46:33.330
erg lastig zijn.

2076
01:46:33.330 --> 01:46:40.710
Maar 1000 euro voor iets uitgeven waar je drie jaar mee moet werken

2077
01:46:40.710 --> 01:46:43.750
of mee mag werken en dat je heel veel plezier ervan hebt,

2078
01:46:43.810 --> 01:46:45.350
dat is goud waard.

2079
01:46:45.810 --> 01:46:47.430
En hetzelfde geldt ook voor je tools.

2080
01:46:49.490 --> 01:46:55.310
Koop gewoon zeg maar voor 200, 220 euro heb je geloof ik

2081
01:46:55.310 --> 01:46:58.110
de JetBrains alle tools ongeveer per jaar.

2082
01:46:58.810 --> 01:47:00.330
Nou, echt fantastisch.

2083
01:47:02.410 --> 01:47:03.210
Gewoon doen.

2084
01:47:03.930 --> 01:47:09.050
Ja, ik zit nu ineens te denken aan alle medewerkers die met Citrix

2085
01:47:09.050 --> 01:47:09.510
moeten werken.

2086
01:47:11.750 --> 01:47:12.030
Ja, die dan.

2087
01:47:12.050 --> 01:47:13.310
Ik heb met ze te doen.

2088
01:47:14.590 --> 01:47:16.670
Hebben jullie dat soort dingen niet bij de AMWB op dit moment?

2089
01:47:17.010 --> 01:47:18.370
Dat jullie echt via een...

2090
01:47:18.370 --> 01:47:20.650
Wij werken allemaal op onze eigen machine.

2091
01:47:20.950 --> 01:47:21.330
Ja, precies.

2092
01:47:21.450 --> 01:47:23.010
En VPN waarschijnlijk ofzo.

2093
01:47:23.430 --> 01:47:23.810
Ja, klopt.

2094
01:47:24.010 --> 01:47:24.990
Ja, oké, dat wel.

2095
01:47:26.170 --> 01:47:26.910
Oei, oei, oei.

2096
01:47:27.070 --> 01:47:27.490
Nou goed.

2097
01:47:28.230 --> 01:47:29.110
Ja, een goede tip.

2098
01:47:29.110 --> 01:47:31.510
Ja, sorry, een beetje lastig maar.

2099
01:47:31.570 --> 01:47:32.630
Herre is gewoon die manager.

2100
01:47:33.610 --> 01:47:34.430
En laat hem gewoon...

2101
01:47:34.430 --> 01:47:36.230
Dus we willen altijd van die business cases zien.

2102
01:47:36.270 --> 01:47:40.910
Laat het gewoon maar eens even zien van hoeveel tijd het kost om gewoon die ellende

2103
01:47:40.910 --> 01:47:42.110
waar je af en toe mee moet werken.

2104
01:47:42.250 --> 01:47:42.950
Ja, precies.

2105
01:47:43.250 --> 01:47:46.770
Misschien kan je inderdaad je manager of je leidinggevende daar inderdaad even

2106
01:47:46.770 --> 01:47:47.730
tijd in laten investeren.

2107
01:47:47.910 --> 01:47:50.010
Van, joh, maak eens even dat rekenssommetje voor me.

2108
01:47:50.830 --> 01:47:51.450
Want, ja.

2109
01:47:51.530 --> 01:47:51.930
Nee, me eens.

2110
01:47:52.870 --> 01:47:53.550
Goede tip, man.

2111
01:47:54.390 --> 01:47:57.050
Ja, mocht er nog iets anders binnenkomen, het mag wel echt totaal alles zijn.

2112
01:47:57.050 --> 01:47:59.650
Favoriete muziek, favoriete film die je gezien hebt.

2113
01:47:59.650 --> 01:48:02.810
Je hebt zo net eentje gebdeeld, die WeHack.

2114
01:48:03.510 --> 01:48:04.510
It's the same, it's the same.

2115
01:48:04.590 --> 01:48:05.510
Echt fantastisch.

2116
01:48:05.830 --> 01:48:06.970
Ja, oké.

2117
01:48:07.590 --> 01:48:10.650
Nou, Jamie, heb jij misschien nog een paar tips?

2118
01:48:10.710 --> 01:48:14.570
Ik had er eentje al opgeschreven voordat we elkaar ontmoeten hier fysiek.

2119
01:48:15.930 --> 01:48:16.730
Je bent lekker aan het...

2120
01:48:16.730 --> 01:48:17.830
Of tenminste, nu wat minder.

2121
01:48:18.650 --> 01:48:22.470
Maar je producing skills, die kan je nog bewonderen, geloof ik, toch?

2122
01:48:23.210 --> 01:48:26.710
Ja, die kun je, denk ik, nog wel vinden op YouTube.

2123
01:48:28.530 --> 01:48:30.290
En onder welke naam moeten we dat zoeken?

2124
01:48:31.070 --> 01:48:32.370
Dat ga ik dadelijk even opzoeken.

2125
01:48:33.270 --> 01:48:34.310
Zo lang geleden, wauw.

2126
01:48:34.330 --> 01:48:35.470
Zo lang geleden, inderdaad.

2127
01:48:35.730 --> 01:48:37.950
Ik heb de LP's, de platen heb ik nog zelfs thuis.

2128
01:48:38.770 --> 01:48:38.890
Ja, ja.

2129
01:48:40.090 --> 01:48:40.590
Nou, mooi.

2130
01:48:40.830 --> 01:48:43.350
Dus je had ook je eigen label toen, of niet?

2131
01:48:43.350 --> 01:48:44.470
Geen eigen label.

2132
01:48:44.730 --> 01:48:47.270
Wij brachten onze muziek uit bij bestaande labels.

2133
01:48:47.470 --> 01:48:48.310
Ook aan bestaande labels?

2134
01:48:48.950 --> 01:48:49.290
Oké, nice.

2135
01:48:50.370 --> 01:48:51.030
Ah, mooi.

2136
01:48:52.510 --> 01:48:54.890
En ik had Opsilon ook al opgeschreven.

2137
01:48:54.890 --> 01:48:57.070
Ja, het heet Obsidian.

2138
01:48:57.290 --> 01:48:58.250
Obsidian, sorry.

2139
01:48:59.510 --> 01:49:00.610
Ja, Obsidian, sorry.

2140
01:49:00.990 --> 01:49:01.530
Ja, Obsidian.

2141
01:49:02.530 --> 01:49:02.670
Ja.

2142
01:49:03.510 --> 01:49:05.190
Nou, die had ik ook al verloopt.

2143
01:49:05.490 --> 01:49:08.090
En verder wat Robert ook zegt, investeer ook in je software.

2144
01:49:08.190 --> 01:49:14.150
Denk niet gauw van, ik maak dat tooltje ook wel, want ik wil geen 10 euro uitgeven aan dat tooltje.

2145
01:49:14.370 --> 01:49:15.550
En ken je development tools?

2146
01:49:17.890 --> 01:49:19.510
Dat is, denk ik, erg belangrijk.

2147
01:49:19.950 --> 01:49:21.610
Investeer daar ook tijd in om te leren kennen.

2148
01:49:21.610 --> 01:49:22.130
Ja.

2149
01:49:22.610 --> 01:49:26.410
En een leuke waar ik tegenwoordig mee bezig werk, is GitHub Copilot.

2150
01:49:26.530 --> 01:49:27.530
Ik weet niet of je dat kent.

2151
01:49:27.650 --> 01:49:27.850
Nee.

2152
01:49:28.270 --> 01:49:30.630
Ik sta er op de waitlist, potverdorie.

2153
01:49:30.870 --> 01:49:31.890
Ik wil het ook gebruiken.

2154
01:49:32.090 --> 01:49:33.610
Ja, dat is zeg maar een...

2155
01:49:35.170 --> 01:49:36.170
Copilot heet het?

2156
01:49:36.890 --> 01:49:38.110
Copilot, dat is C.

2157
01:49:39.730 --> 01:49:43.290
Een artificial intelligence voor je code completion.

2158
01:49:44.430 --> 01:49:45.290
Binnen je IDE.

2159
01:49:46.550 --> 01:49:48.610
Oh, die daarna stack overflow...

2160
01:49:49.130 --> 01:49:51.030
Ja, die GitHub scant.

2161
01:49:51.070 --> 01:49:52.330
Het is ook een tool van Microsoft.

2162
01:49:53.750 --> 01:49:57.830
En ja, je zou denken, wat kan die mij voor suggesties doen?

2163
01:49:58.270 --> 01:50:05.010
Maar je merkt vooral dat die suggesties kan doen voor dingen die je normaal gesproken wellicht op stack overflow moet opzoeken.

2164
01:50:05.070 --> 01:50:07.750
Omdat het iets is wat je niet heel vaak gebruikt.

2165
01:50:08.130 --> 01:50:11.150
Doet die dan een suggestie voor je binnen je IDE.

2166
01:50:11.730 --> 01:50:11.910
Ja.

2167
01:50:11.990 --> 01:50:13.650
Dus je blijft in je context zitten.

2168
01:50:13.950 --> 01:50:15.890
En dat is wel een heel krachtig middel.

2169
01:50:15.890 --> 01:50:19.510
Ja, productiviteit, die gaat gelijk met tien omhoog, joh.

2170
01:50:19.650 --> 01:50:20.950
Die gaat meteen met tien omhoog, inderdaad.

2171
01:50:21.030 --> 01:50:22.070
Ja, precies.

2172
01:50:22.690 --> 01:50:25.810
Eigenlijk begint stack overflow misschien ook wel een knowledge base te worden, dus.

2173
01:50:26.170 --> 01:50:27.230
Ja, dat is het zeker.

2174
01:50:27.530 --> 01:50:33.410
Het is vooral de vraag, hoe kom ik zo snel mogelijk tot de juiste kennis op dat moment dat ik het nodig heb.

2175
01:50:33.610 --> 01:50:36.030
En dit is wel iets wat je daarmee helpt.

2176
01:50:36.450 --> 01:50:37.450
En Copilot is van?

2177
01:50:38.410 --> 01:50:39.710
Van GitHub, van Microsoft.

2178
01:50:39.710 --> 01:50:45.670
Maar ze hebben dus inderdaad een plugin voor de JetBrains tools.

2179
01:50:46.890 --> 01:50:47.150
Ja.

2180
01:50:48.490 --> 01:50:49.990
Dus het werkt ook voor Swift.

2181
01:50:50.550 --> 01:50:51.650
Ja, klopt.

2182
01:50:52.150 --> 01:50:56.390
Want in principe, iedere taal die op GitHub staat, die scant hij.

2183
01:50:56.470 --> 01:51:02.510
Dus het maakt niet uit of je nou Ruby of .NET of Kotlin of Swift.

2184
01:51:03.230 --> 01:51:03.870
Ja, nice.

2185
01:51:04.310 --> 01:51:06.870
En je vertelde net, jij staat nog op de wachtlijst.

2186
01:51:06.870 --> 01:51:10.910
Dus voorgenen die moeten aanmelden, die moeten denk ik wel even lang wachten.

2187
01:51:11.570 --> 01:51:17.130
Ja, ik weet dat een collega van ons er een week op heeft moeten wachten.

2188
01:51:17.190 --> 01:51:18.170
Dus het verschilt.

2189
01:51:18.490 --> 01:51:20.630
Ik weet ook niet wat de criteria zijn.

2190
01:51:21.230 --> 01:51:23.750
Maar het is nu nog een beta, een wachtlijst inderdaad.

2191
01:51:24.150 --> 01:51:24.690
Oké, ja.

2192
01:51:25.410 --> 01:51:26.590
Nou, goed joh.

2193
01:51:27.230 --> 01:51:27.790
Ja, leuke tip.

2194
01:51:27.870 --> 01:51:28.210
Dank je wel.

2195
01:51:28.290 --> 01:51:30.330
Ja, ik had hem inderdaad wel eens voorbij zien komen.

2196
01:51:30.350 --> 01:51:32.650
Maar ik dacht altijd van joh, dat is één grote grap of zo.

2197
01:51:32.810 --> 01:51:33.030
Weet je wel.

2198
01:51:33.110 --> 01:51:33.990
Maar het is echt serieus.

2199
01:51:34.430 --> 01:51:34.990
Zeker, zeker.

2200
01:51:34.990 --> 01:51:35.690
Oké.

2201
01:51:35.730 --> 01:51:36.170
Nou, cool.

2202
01:51:38.050 --> 01:51:38.630
Even kijken.

2203
01:51:38.770 --> 01:51:39.930
Ja, ik had er ook eentje.

2204
01:51:41.270 --> 01:51:42.830
Ja, ik had ook mijn Twitter feed nog even bekeken.

2205
01:51:42.890 --> 01:51:44.330
Ik ben de laatste tijd niet zo heel erg.

2206
01:51:44.950 --> 01:51:50.210
Veel de laatste tijd ermee bezig met van die tips, de retweeten.

2207
01:51:50.450 --> 01:51:53.310
Maar ik kan wel delen dat ik een boek aan het lezen ben.

2208
01:51:53.610 --> 01:51:55.330
Genaamd Ego is the Enemy.

2209
01:51:57.510 --> 01:51:58.950
Nou, zullen er misschien heel veel mensen denken.

2210
01:51:59.490 --> 01:52:01.270
Goh, Kishen, je hebt een enorme ego.

2211
01:52:01.390 --> 01:52:02.930
Ja, die heeft iedereen.

2212
01:52:03.350 --> 01:52:04.230
Iedereen heeft een ego.

2213
01:52:05.850 --> 01:52:08.490
Hoe je ermee omgaat is natuurlijk een tweede.

2214
01:52:08.930 --> 01:52:16.570
En wat dat boekje leert is hoe je eigenlijk met succes om moet gaan.

2215
01:52:16.690 --> 01:52:18.310
Of kan gaan, laat ik zo maar even zeggen.

2216
01:52:18.910 --> 01:52:20.150
En natuurlijk ook met failures.

2217
01:52:22.590 --> 01:52:26.270
En het ding wat mij achtergebleven is, is die humbleness.

2218
01:52:26.650 --> 01:52:29.190
Dat je constant altijd humbel moet zijn.

2219
01:52:29.250 --> 01:52:31.570
Ook naar mensen die eigenlijk niks weten.

2220
01:52:32.030 --> 01:52:33.290
Over software development bijvoorbeeld.

2221
01:52:33.290 --> 01:52:35.330
Want die kunnen je ook weer dingen leren.

2222
01:52:35.490 --> 01:52:38.330
Want die zien dingen met een heel blind oog.

2223
01:52:38.790 --> 01:52:41.070
En gewoon niet logisch meer zien van...

2224
01:52:41.070 --> 01:52:43.530
Weet je wel, als je iets vertelt dat ze het gewoon niet logisch vinden.

2225
01:52:43.850 --> 01:52:45.610
En dat is ook een hele waardevolle feedback.

2226
01:52:45.770 --> 01:52:47.290
En heel vaak denken wij van...

2227
01:52:48.030 --> 01:52:49.550
Ja, tenminste, dat hoor ik dan in die boek.

2228
01:52:49.650 --> 01:52:50.330
Dat lees ik in het boek.

2229
01:52:51.590 --> 01:52:54.810
Er gaan mensen vaak in een soort van defensieve mode.

2230
01:52:54.990 --> 01:52:58.010
Van ja, maar hallo, ik heb die 15 jaar ervaring.

2231
01:52:58.210 --> 01:52:59.310
Wat kom jij me nou vertellen?

2232
01:53:00.070 --> 01:53:03.010
Maar mijn tip zou daarin zijn, laat dat alsjeblieft varen.

2233
01:53:03.010 --> 01:53:05.050
Maar luister die persoon nou even goed aan.

2234
01:53:05.350 --> 01:53:09.010
Of die junior, met wie je ook moet communiceren.

2235
01:53:11.930 --> 01:53:12.930
Keep always learning.

2236
01:53:12.950 --> 01:53:13.850
Dat zeiden we net ook al.

2237
01:53:14.010 --> 01:53:15.010
Blijf altijd maar leren.

2238
01:53:15.650 --> 01:53:16.290
Ja, goed tip.

2239
01:53:16.770 --> 01:53:17.090
Ja, heel goed.

2240
01:53:17.130 --> 01:53:18.830
En dat boek is wel...

2241
01:53:18.830 --> 01:53:19.870
Het is wel taai, moet ik zeggen.

2242
01:53:20.470 --> 01:53:21.650
Je moet er wel even doorheen.

2243
01:53:22.070 --> 01:53:23.450
Het is niet eens zo dik of zo.

2244
01:53:23.950 --> 01:53:27.050
Maar de schrijven gaat wel in allerlei voorbeelden.

2245
01:53:27.770 --> 01:53:32.170
Dus ik ben uiteindelijk ook nu een soort van samenvatting aan het opbouwen.

2246
01:53:32.170 --> 01:53:35.850
Waar voor mij een paar mantra's in staan.

2247
01:53:35.990 --> 01:53:36.230
Weet je wel?

2248
01:53:36.370 --> 01:53:37.030
Waarmee ik om kan gaan.

2249
01:53:37.610 --> 01:53:43.290
Dus zeker een tip voor degene die misschien een beetje op zoek zijn naar hoe je daarmee

2250
01:53:43.290 --> 01:53:43.890
om kan gaan.

2251
01:53:44.790 --> 01:53:45.470
Met ego.

2252
01:53:45.870 --> 01:53:48.450
En misschien ook wel mensen die een enorme ego hebben.

2253
01:53:48.690 --> 01:53:48.870
Weet je wel?

2254
01:53:48.930 --> 01:53:50.510
Daar staan ook hele handige tips voor.

2255
01:53:52.870 --> 01:53:53.330
Oké.

2256
01:53:53.590 --> 01:53:55.130
En Robert, heb je nog een...

2257
01:53:55.130 --> 01:53:56.190
Ja, ik zat te denken.

2258
01:53:56.250 --> 01:53:57.390
Ja, ik zie het aan je hoofd.

2259
01:53:57.430 --> 01:53:59.110
Dat is het mooie van in real life.

2260
01:53:59.870 --> 01:54:01.950
Nou, ik zat te denken.

2261
01:54:01.970 --> 01:54:04.510
Misschien tv tips en zo.

2262
01:54:04.770 --> 01:54:05.810
Ik heb er misschien twee.

2263
01:54:07.410 --> 01:54:10.390
Ik ben wel zeg maar een Marvel fan.

2264
01:54:10.470 --> 01:54:12.070
Een beetje van de films in de tv-series.

2265
01:54:12.190 --> 01:54:19.510
Maar ik vond op Disney Plus de What If serie vond ik echt best wel goed.

2266
01:54:19.650 --> 01:54:21.210
Want het is een tekenfilm.

2267
01:54:21.610 --> 01:54:22.690
Maar het gaat er dus over.

2268
01:54:22.750 --> 01:54:24.830
Dus bijvoorbeeld van wat als Captain America.

2269
01:54:25.070 --> 01:54:26.550
Geen Captain America maar is geweest.

2270
01:54:26.550 --> 01:54:29.430
Maar zijn vriendin, Captain Carter.

2271
01:54:29.550 --> 01:54:30.990
Wat een Britse dame is.

2272
01:54:31.930 --> 01:54:35.610
Dan krijg je niet Captain America, maar Captain Britain of iets dergelijks.

2273
01:54:35.750 --> 01:54:37.490
En ik vond het zo grappig.

2274
01:54:38.490 --> 01:54:41.790
En bijvoorbeeld de tweede aflevering was van...

2275
01:54:41.790 --> 01:54:46.510
Wat als Star-Lord van Guardians of the Galaxy.

2276
01:54:48.110 --> 01:54:49.670
Dus het is niet Star-Lord was geweest.

2277
01:54:49.830 --> 01:54:52.570
Maar degene die Black Panther is Star-Lord geweest.

2278
01:54:52.770 --> 01:54:53.730
Wat was er dan gebeurd?

2279
01:54:55.070 --> 01:54:58.810
En dan wordt hij dus onderdeel van Guardians of the Galaxy.

2280
01:54:59.370 --> 01:55:02.610
Maar dan Thanos, de grote bad guy uit de Avengers films.

2281
01:55:02.690 --> 01:55:07.690
Wordt dan onderdeel van de crew van Guardians of the Galaxy.

2282
01:55:07.910 --> 01:55:10.290
En ik dacht eens wat een mindfuck is dat.

2283
01:55:10.630 --> 01:55:12.090
Ik vond het zo ontzettend gaaf.

2284
01:55:12.790 --> 01:55:14.310
En het zit best wel goed in elkaar.

2285
01:55:14.530 --> 01:55:16.110
En het zijn een aantal tekenfilms.

2286
01:55:17.010 --> 01:55:19.290
Ik dacht in het begin van het samen losse verhalen.

2287
01:55:19.390 --> 01:55:21.390
Maar aan het einde komt het weer samen.

2288
01:55:22.610 --> 01:55:24.130
Ik vond het echt heel tof om te zien.

2289
01:55:24.250 --> 01:55:26.830
Ik dacht in het begin van nou, het is een tekenfilm waar we zitten.

2290
01:55:27.710 --> 01:55:29.810
Ik vond het echt de moeite waard.

2291
01:55:30.310 --> 01:55:33.650
Ik denk dat je samen misschien op een tip hebt gegeven.

2292
01:55:33.730 --> 01:55:35.070
Want die is ook heel erg in Toon Marvel.

2293
01:55:36.290 --> 01:55:38.170
Ja, ik ga hem ook op mijn lijst zetten.

2294
01:55:38.810 --> 01:55:39.150
Oké.

2295
01:55:39.630 --> 01:55:40.370
En jij nog een tweede?

2296
01:55:41.010 --> 01:55:41.970
Nog één, nog één.

2297
01:55:42.650 --> 01:55:46.390
Ik kijk ook, en dat vind ik ook echt heel tof, foundation op...

2298
01:55:47.050 --> 01:55:50.210
Nou goed, ik heb een iPhone, dus ik heb ook Apple TV+.

2299
01:55:51.690 --> 01:55:53.270
Dat is van Isaac Asimov.

2300
01:55:54.550 --> 01:55:55.670
Verhaal, serie.

2301
01:55:56.430 --> 01:55:58.590
En het doet me een beetje denken aan Dune.

2302
01:55:58.710 --> 01:56:00.390
Beetje diezelfde sfeer en zo.

2303
01:56:01.090 --> 01:56:08.030
Maar goed, omdat er over Asimov gaat, is het natuurlijk allemaal een beetje wetenschappelijk, mathematician-achtig.

2304
01:56:08.130 --> 01:56:12.130
En het is een soort keizerrijk, wat echt heel erg lang bestaat.

2305
01:56:12.690 --> 01:56:16.070
En er is een keizer die heeft bedacht dat hij zichzelf kan klonen.

2306
01:56:16.210 --> 01:56:18.790
Waardoor hij eigenlijk het eeuwige leven heeft.

2307
01:56:19.850 --> 01:56:28.730
En er is een of andere matematicus die heeft berekend dat waarschijnlijk het keizerrijk ten onder gaat.

2308
01:56:28.950 --> 01:56:31.110
Tenzij je die bepaalde stappen neemt.

2309
01:56:31.590 --> 01:56:34.870
En hij zegt van, het keizerrijk gaat ten onder voor dertigduizend jaar.

2310
01:56:35.030 --> 01:56:38.250
Tenzij je mijn plannetje volgt, dan gaat hij maar onder voor duizend jaar.

2311
01:56:38.430 --> 01:56:40.270
Dat is natuurlijk allemaal strubbelingen en dingen.

2312
01:56:40.830 --> 01:56:44.050
Ik vind het echt prachtig hoe dat om elkaar is gezet allemaal.

2313
01:56:44.050 --> 01:56:48.630
Ja, dat iemand dan ook dat echt helemaal gaat uitwerken natuurlijk.

2314
01:56:48.810 --> 01:56:50.050
Zo'n director die dan...

2315
01:56:50.990 --> 01:56:54.530
En het is volgens mij door David S. Goyer.

2316
01:56:55.370 --> 01:57:01.530
Die heeft geloof ik ook Game of Thrones, dacht ik, gedaan.

2317
01:57:02.250 --> 01:57:04.050
Dus de productiewaardes zijn weer...

2318
01:57:04.770 --> 01:57:05.650
Het is weer heerlijk.

2319
01:57:05.890 --> 01:57:06.690
Ja, heerlijk man.

2320
01:57:08.130 --> 01:57:10.890
Nu we het over tv en series en zo hebben.

2321
01:57:11.670 --> 01:57:12.150
Twin Peaks.

2322
01:57:12.590 --> 01:57:14.670
Kijkt iemand hier te wallig Twin Peaks?

2323
01:57:15.210 --> 01:57:16.510
Dertig jaar geleden of zo.

2324
01:57:16.810 --> 01:57:18.310
Ja, dat is echt ontkomst.

2325
01:57:18.510 --> 01:57:19.410
Maar ze hebben sinds...

2326
01:57:19.410 --> 01:57:20.270
Oh ja, dat was een nieuwe.

2327
01:57:20.290 --> 01:57:22.290
Een nieuwe seizoen hebben ze op Vierderland uitgebracht.

2328
01:57:23.610 --> 01:57:25.170
Of tenminste op allerlei verschillen.

2329
01:57:25.410 --> 01:57:27.410
Maar keken jullie dat nog wel eens?

2330
01:57:28.470 --> 01:57:29.370
Ik niet, ik niet.

2331
01:57:29.450 --> 01:57:30.250
Ik heb het wel gekeken.

2332
01:57:30.470 --> 01:57:31.250
Ja, wat dacht je toen?

2333
01:57:32.870 --> 01:57:35.150
Ik dacht, ik weet niet of ik...

2334
01:57:35.150 --> 01:57:37.030
Ja, dit nog even door kan blijven kijken.

2335
01:57:37.370 --> 01:57:37.670
Ik ook.

2336
01:57:37.930 --> 01:57:39.430
Ik had precies hetzelfde als jij.

2337
01:57:39.430 --> 01:57:42.470
Dat ik dacht echt van, wat gaat dit nou eigenlijk over?

2338
01:57:43.610 --> 01:57:46.270
Welke sicko moet je zijn om dit door te kunnen kijken?

2339
01:57:46.410 --> 01:57:47.530
Nou, blijkbaar ik dus.

2340
01:57:48.950 --> 01:57:49.750
Maar ik heb het...

2341
01:57:49.750 --> 01:57:52.190
Ik ben de laatste seizoen dus aan het bekijken.

2342
01:57:53.970 --> 01:57:55.590
En ja, het blijft me wel...

2343
01:57:56.210 --> 01:57:56.850
Ik weet niet.

2344
01:57:57.150 --> 01:57:58.870
Ik ben gewoon een beetje hoek eraan of zo.

2345
01:57:58.890 --> 01:58:00.190
Aan al die gekke scènes.

2346
01:58:00.850 --> 01:58:04.330
Dus je moet even doorbijten en dan...

2347
01:58:04.330 --> 01:58:04.590
Ja.

2348
01:58:04.590 --> 01:58:04.790
Oké.

2349
01:58:04.850 --> 01:58:08.990
Ja, maar ik denk wel dat je een sick mind van moet hebben om er doorheen te komen.

2350
01:58:08.990 --> 01:58:11.850
Want het is inderdaad af en toe dat je echt denkt...

2351
01:58:11.850 --> 01:58:13.450
Waar heb ik nou naar zitten kijken?

2352
01:58:13.770 --> 01:58:14.150
Weet je wel?

2353
01:58:14.350 --> 01:58:17.070
Van dat iemand zo heel vreemd in de camera zit te kijken.

2354
01:58:17.130 --> 01:58:19.310
En dan echt soms twee, drie minuten lang.

2355
01:58:19.370 --> 01:58:19.790
Weet je wel?

2356
01:58:20.330 --> 01:58:22.230
Of naar hele foute muziek aan het einde.

2357
01:58:22.370 --> 01:58:22.650
Weet je wel?

2358
01:58:22.750 --> 01:58:25.130
Dat je echt denkt van, waar heb ik nou naar zitten luisteren?

2359
01:58:25.190 --> 01:58:27.910
Maar toch, het blijft op een of andere manier interessanter naar te kijken.

2360
01:58:28.490 --> 01:58:28.890
Oké.

2361
01:58:29.110 --> 01:58:29.510
Goed.

2362
01:58:29.930 --> 01:58:30.990
Nou, ik...

2363
01:58:31.590 --> 01:58:35.250
Ja, jullie nog op tevallen heeft misschien nog één laatste.

2364
01:58:35.450 --> 01:58:36.530
Een filmtip misschien nog?

2365
01:58:36.670 --> 01:58:37.270
Ja, zeg maar.

2366
01:58:37.270 --> 01:58:39.170
Er zijn toch vreemde films aan.

2367
01:58:39.170 --> 01:58:42.650
In de Marvel-hoek natuurlijk, maar we hebben natuurlijk ook de DC-hoek.

2368
01:58:42.830 --> 01:58:45.710
Sommigen zeggen, als je een Marvel-fan bent, dan ben je geen DC-fan.

2369
01:58:46.050 --> 01:58:47.650
Maar ik denk dat dat allebei kan.

2370
01:58:48.230 --> 01:58:48.270
Ja.

2371
01:58:48.270 --> 01:58:54.390
Als je toch een hele vette film wil zien, vond ik, was de Snydercut van Justice League.

2372
01:58:56.370 --> 01:58:58.590
Dat kan Robert veramen, denk ik.

2373
01:58:59.290 --> 01:59:00.270
Die van...

2374
01:59:01.490 --> 01:59:02.470
Nee, hoe heet die ook alweer?

2375
01:59:02.530 --> 01:59:03.670
Die vorige andere regisseur?

2376
01:59:04.330 --> 01:59:05.330
Wade'n ofzo?

2377
01:59:06.350 --> 01:59:07.150
Joss Whedon.

2378
01:59:07.150 --> 01:59:07.990
Ja, volgens mij wel.

2379
01:59:08.030 --> 01:59:13.670
Die van Firefly, die had die film overgenomen van Snyder.

2380
01:59:13.910 --> 01:59:15.850
Omdat de studio het niet eens was, geloof ik.

2381
01:59:15.870 --> 01:59:18.050
Of het kostte veel geld of iets dergelijks, weet ik wel wat.

2382
01:59:18.650 --> 01:59:19.590
Het was niet populair genoeg.

2383
01:59:19.590 --> 01:59:20.590
Het was niet mainstream genoeg.

2384
01:59:20.630 --> 01:59:22.770
Het was niet mainstream, maar dat was een beetje een matige film.

2385
01:59:23.090 --> 01:59:29.170
Wouter heeft dus die andere het weer gedaan en die heeft gewoon zijn originele visie neergezet.

2386
01:59:29.690 --> 01:59:30.770
Echt een super vette film.

2387
01:59:30.850 --> 01:59:33.910
Een film van vier uur, maar echt de moeite waard.

2388
01:59:34.110 --> 01:59:34.970
Oké, oké.

2389
01:59:34.970 --> 01:59:35.610
Cool, cool, cool.

2390
01:59:35.670 --> 01:59:36.570
Ik heb hem opgeschreven.

2391
01:59:37.190 --> 01:59:38.430
Dus ja, die gaat er tussen.

2392
01:59:39.710 --> 01:59:42.290
Nou, jongens, ik denk dat we het toch maar even gaan afsluiten.

2393
01:59:42.390 --> 01:59:47.690
Volgens mij zitten we nu echt twee uur en tien minuten ongeveer lekker te kletsen.

2394
01:59:48.870 --> 01:59:50.590
En het is ook alweer laat en donker.

2395
01:59:50.670 --> 01:59:51.410
Nou, donker was het altijd.

2396
01:59:51.410 --> 01:59:52.030
Donker was het altijd.

2397
01:59:52.070 --> 01:59:52.890
Ja, precies.

2398
01:59:53.490 --> 01:59:54.910
Dank jullie wel voor het luisteren allemaal.

2399
01:59:55.070 --> 01:59:55.970
Dat je het helemaal vol hebt gehaald.

2400
01:59:56.650 --> 01:59:56.710
Ja, ja.

2401
01:59:56.770 --> 01:59:57.310
Knap, knap.

2402
01:59:57.550 --> 01:59:59.630
Ja, het is heel knap elke keer van iedereen.

2403
02:00:00.490 --> 02:00:03.130
Maar ja, goed, het is ook een hele interessante onderwerp natuurlijk.

2404
02:00:03.230 --> 02:00:04.730
Het gaat natuurlijk wel een beetje alle kanten op.

2405
02:00:04.730 --> 02:00:10.230
Maar aan de andere kant is het ook wel weer zo interessant dat je er toch altijd wel wat mee neemt.

2406
02:00:10.630 --> 02:00:14.110
Dus, nou, in ieder geval bedankt Robert en Jamie voor jullie deelname, Vlaamand.

2407
02:00:14.250 --> 02:00:14.650
Graag gedaan.

2408
02:00:14.830 --> 02:00:15.550
Graag gedaan hoor.

2409
02:00:15.730 --> 02:00:16.330
Ja, tuurlijk.

2410
02:00:17.350 --> 02:00:20.110
En ja, we hebben natuurlijk veel geleerd over mobile development.

2411
02:00:20.490 --> 02:00:21.950
Maar natuurlijk ook alle dingen eromheen.

2412
02:00:22.190 --> 02:00:25.390
Zoals, ja, het belangrijkste wat hier achterblijft volgens mij is.

2413
02:00:25.690 --> 02:00:27.470
Je gebruiker, vergeet die niet, vergeet die niet.

2414
02:00:27.470 --> 02:00:28.070
Juist, ja.

2415
02:00:29.390 --> 02:00:33.870
Ook wil ik even Salves test services bedanken voor het gebruikmaken van het kantoor.

2416
02:00:33.870 --> 02:00:38.810
Ja, ik moet toch wel toegeven dat ik echt heel blij ben dat we weer in real life kunnen opnemen.

2417
02:00:39.210 --> 02:00:42.730
Want dan, sowieso zie ik jullie weer na zoveel jaar.

2418
02:00:42.830 --> 02:00:45.250
Dat is sowieso wel even wel leuk om te zien.

2419
02:00:45.610 --> 02:00:50.970
Want ja, Robert die ken ik uit de Xebia-tijd en Jamie Crank van mijn Q&A-tijd samen.

2420
02:00:52.230 --> 02:00:55.030
En Saber overigens ook. Saber, die kent Jamie ook.

2421
02:00:55.150 --> 02:00:56.910
Maar helaas kon hij vandaag niet aanwezig zijn.

2422
02:00:58.830 --> 02:01:02.050
En verder natuurlijk ook alle luisteraars bedanken voor het luisteren.

2423
02:01:02.050 --> 02:01:05.810
Ga naar codeklets.nl om meer afleveringen te luisteren.

2424
02:01:06.290 --> 02:01:11.450
En ik zou het ook wel eens leuk vinden als jullie nog eens een keertje langskomen op ons Slack kanaal.

2425
02:01:11.590 --> 02:01:12.710
Kom eens even gedag zeggen.

2426
02:01:13.210 --> 02:01:14.650
Leve je feedback ook vooral.

2427
02:01:14.770 --> 02:01:18.370
Misschien ook wel opmerkingen die je hebt over deze aflevering.

2428
02:01:18.610 --> 02:01:22.510
Ik zou ook Jamie en Robert ook graag willen uitnodigen om daarna te komen.

2429
02:01:23.110 --> 02:01:25.390
Want ja, ligt hier wel een leuke vraag voor jullie.

2430
02:01:26.350 --> 02:01:27.550
Nou, nogmaals bedankt.

2431
02:01:28.070 --> 02:01:28.990
En tot de volgende keer.

2432
02:01:30.010 --> 02:01:30.390
Doei!
