Category Archives: Software

SteemFest interview

Op 11, 12 en 13 november 2016 was het dan eindelijk zover: de eerste internationale Steemfest conferentie werd gehouden in Amsterdam! Ik heb genoten van de vele persoonlijke verhalen van mensen over hoe zij betrokken zijn geraakt bij Steemit en blockchain.

Het waren drie prachtige dagen waarop de Steemit gemeenschap haar ware gezicht kon laten zien. Tot dan toe kende de gemeenschap elkaar voornamelijk van het revolutionaire sociaal netwerk, Steemit. Het is een platform waar bloggers/schrijvers cryptogeld (Steem) kunnen verdienen met de content die zij creëren.

De conferentie toonde duidelijk de grote verscheidenheid aan mensen. Er waren 206 deelnemers uit 32 verschillende landen zoals Rusland, China, India, Japan, Panama, Litouwen, Cambodja, Mexico en de Verenigde Staten. Ongeveer 35% van de deelnemers was vrouw en 25% was software ontwikkelaar. De grote verscheidenheid is iets wat je zelden ziet bij andere crypto-evenementen.

Het evenement trok beroemde schrijvers als Neil Strauss (The Game), bitcoin artiesten als Tatiana Moroz en de Steemit oprichter Ned Scott. Ik heb ook een oude huisgenoot ontmoet van Vitalik Buterin, de oprichter van Ethereum, die enkele leuke anekdotes over hem heeft gedeelde met mij. Daarnaast ben ik goed bevriend geraakt met een dakloze die probeert te leven op Steem.

Ik genoot van de positieve sfeer die de gemeenschap uitstraalde. Ik was ook één van de 35 sprekers op dit evenement en werd geïnterviewd door de documentairemaker Matthijs Diederiks over mijn libertarisch  anarchistische filosofie. Het interview kun je hierboven zien. Jeff Berwick van Anarchast en Anarchopulco zou ook worden geïnterviewd, maar kon onverhoopt niet aanwezig zijn op SteemFest. Ik denk dat wij anders een prima duo zouden vormen waarin we konden discussiëren in hoeverre onze libertarisch anarchistische filosofiën elkaar complementeerden.

Mijn presentatie ging over Seasteading alszijnde een praktijk die parallel loopt aan het decentralisatieproces van overheidsmonopolie. Cryptogeld brengt competitie in de overheidsmonopolie over geld en Seasteading brengt politieke competitie in de industrie van overheden. Ik zal binnenkort nog een filmpje plaatsen van de presentatie.

Tot slot wil ik nog één interessante anekdote delen van de eerste grootinvesteerder in Steemit. Hij was ook aanwezig bij de eerste internationale Bitcoin conferentie in Londen 2011 en vertelde mij dat deze eerste Steemit conferentie vele malen grootser, mooier en leuker is dan de Bitcoin conferentie.

Als je mij wil volgen of meer van mij wil lezen op Steemit, ga dan naar @chhaylin.

Introductie tot Steemit – een platform waar je geld kunt verdienen voor je content

Zoals sommigen van jullie weten ben ik een fervent supporter van Bitcoin en blockchain technologie. Nu wil ik iets waar ik zelf razend enthousiast over ben en waar ik de afgelopen maanden intensief mee bezig ben geweest delen met jullie. Het heet Steemit en bestaat nog maar een half jaar. Steemit is een revolutionair social media platform waar je geld (cryptocurrency) kan verdienen d.m.v. bloggen of online content te creëren.

Facebook, Youtube en andere social media gebruiken jouw content voor advertentiedoeleinden en verdienen er miljarden mee. Ook al krijg je 1000’en likes voor je mooie foto’s of teksten op Facebook, je verdient er helemaal niets aan. Steemit daarentegen geeft jou geld voor elke like die je ontvangt.

Ik ben door mijn enthousiasme langzamerhand een Steemit evangelist geworden en heb laatst een video opgenomen om Steemit meer onder de aandacht te brengen onder mensen.

Bitcoin/blockchain technologie voor dummies (Part 1: De blockchain)

Bijna iedereen heeft ondertussen al wel gehoord van Bitcoins. Bitcoin is elektronisch geld dat direct kan worden verstuurd van een persoon naar een ander zonder dat er een tussenpartij voor nodig is. Omdat deze tussenpartijen, zoals bijvoorbeeld banken, overbodig zijn wordt het versturen van geld goedkoper. Als je geld wilt versturen van bijvoorbeeld Nederland naar Cambodja moet je soms, afhankelijk van hoe je het geld verstuurt, wel 5-15% betalen. Bitcoins kun je daarentegen versturen voor enkele centen.

Wat ik wil doen in deze post is niet uitleggen wat Bitcoin is, maar uitleggen aan de leek hoe de onderliggende technologie – de blockchain technologie – werkt. Bitcoin is slechts een voorbeeld die gebruik maakt van de blockchain technologie, maar deze technologie heeft oneindig veel toepassingen. De kern van deze technologie bestaat uit de volgende 3 delen die ik elk in een aparte post zal behandelen:

  1. De blockchain (de digitale boekhouding);
  2. Cryptografie om transacties te autoriseren;
  3. Een gedistribueerd netwerk van computers die transacties verifiëren en de blockchain updaten.

In deze post behandel ik wat de blockchain is en zal ik zoveel mogelijk technische termen proberen te vermijden.

PART 1: DE BLOCKCHAIN

De blockchain (Nederlands vertaald als een ‘keten van blokken’) is niks anders dan een digitaal boekje of database waarin

(1) transacties worden opgeslagen en
(2) transacties worden bevestigd dat ze juist zijn zodat gesjoemel met transacties onmogelijk is.

Hoe ziet het boekje eruit?
Het boekje bestaat uit pagina’s waar alle oude transacties in staan. Nieuwe transacties worden toegevoegd aan een nieuwe pagina waardoor het boekje steeds dikker wordt. In de blockchain is de pagina een blok en komen nieuwe transacties in nieuwe blokken die worden gekoppeld aan de vorige blokken waar oudere transacties in staan – op die manier ontstaat er een ‘keten van blokken’, genaamd de blockchain.

Welke informatie staat er in de transacties?
Bij een transactie op een blockchain kan je allerlei verschillende informatie opslaan. De belangrijkste informatie van een transactie is:
(a) wie de verzender is;
(b) wie de ontvanger is;
(c) wat het tijdstip van de verzending is;
(d) en wat er is verzonden.

De eerste keer dat de blockchain werd gebruikt was het om een nieuwe valuta als ruilmiddel te maken op internet, de Bitcoin. In het voorbeeld van de Bitcoin, hebben alle computers die aangesloten zijn op de blockchain netwerk allemaal een kopie van de blockchain waarmee de computers kunnen verifieren of jij in jouw transactie niet meer Bitcoins uitgeeft dan jij hebt. Het feit dat alle computers op het netwerk een kopie hebben van de geschiedenis van alle transacties maakt het lastig om te sjoemelen. De blockchain is hierdoor betrouwbaar.

Wat zijn de voordelen van de blockchain?
Er zijn vele voordelen van de blockchain. De belangrijkste voordelen zijn de volgende:
(a) Goedkoop: transacties kunnen direct plaatsvinden tussen verzender en ontvanger zonder dat er een tussenpersoon te pas komt;
(b) Snel, 24/7 realtime: elke transactie gaat zo snel als een e-mail. De enige vertragende factor is de snelheid waarmee andere blockchain gebruikers een transactie goedkeuren, maar dat is slechts een kwestie van seconden of hooguit minuten;
(c) Betrouwbaar: de juistheid van de transactie moet worden geverifieerd door alle computers die aangesloten zijn op het blockchain netwerk. Als er een computer is die sjoemelt met de boekhouding en een andere boekhouding naleeft dan moet deze computer proberen alle andere computers ervan te overtuigen dat zijn boekhouding juist is.

Wat is de blockchain dus eigenlijk?
De blockchain is niks anders dan een betrouwbare digitale boekhouding. In plaats van dat de transacties worden vastgelegd in een boekje met pagina’s wordt het vastgelegd in een keten dat bestaat uit blokken. Het is betrouwbaar, omdat de betrouwbaarheid van transacties wordt geverifieerd door de computers van alle andere mensen die met hun computer op de blockchain netwerk aangesloten zijn.

YOUNGCAPITAL C# .NET TRAINEESHIP – MIJN ERVARINGEN

De afgelopen zes weken heb ik de C# .NET Traineeship van YoungCapital doorlopen. Dit is een terugkerende Traineeship die één keer in de zoveel maanden plaatsvindt. De werving van de volgende Traineeship is reeds begonnen en meer info kun je hier vinden op de officiële pagina van YoungCapital.
De Traineeship leidt jonge high potentials met een bèta-achtergrond op tot software developer. In deze post wil ik beschrijven hoe mijn algehele ervaring is geweest vanaf mijn eerste sollicitatiegesprek tot het afsluitende MCSD 70-483 examen.

Sollicitatie
Hoewel ik wist dat er in de vacature nadrukkelijk werd gevraagd naar high potentials met een bèta-achtergrond, besloot ik toch om op de vacature te reageren in de hoop dat mijn achtergrond in Filosofie dit gevraagde kon compenseren. Op het moment van reageren twijfelde ik nog sterk tussen het volgen van een PhD in Politieke Filosofie en het ambiëren van een software development carrière. Gelukkig kreeg ik kort na het versturen van mijn CV en motivatiebrief een telefoontje van de recruiter Afke Schuurmans die me uitnodigde voor een kennismakingsgesprek in Eindhoven. De eerste indruk die ik kreeg toen ik het kantoor binnenliep was hoe jong het team was. De tafelvoetbaltafel die er stond en een mini-voetbal waar één van de werknemers mee speelde gaven mij verder de indruk dat de organisatie ook speels was. Er hing daarnaast een open sfeer in de organisatie die mij hetzelfde vertrouwde gevoel gaf dat ik ook bij mijn vorige werkgever, UTZ Certified, had. Naast Afke was er ook een account manager, Carlo Teeuwissen, aanwezig om het gesprek met mij te voeren. Er werd ingegaan op mijn motivatie, mijn werkervaringen, mijn vooruitzichten op mijn toekomst en hoe mijn achtergrond in Filosofie aanhaakt bij software development. Het gesprek verliep mijns inziens uitstekend en waarschijnlijk waren Afke en Carlo ook uiterst positief, want ik werd uitgenodigd om voor een tweede keer langs te komen voor het maken van een cognitieve assessment en daar aansluitend een presentatie assessment op voorwaarde dat ik zou slagen voor de cognitieve test. Daarnaast moest ik voordat de tweede ontmoeting begon thuis nog een ‘Connector Big Five Personality’ test maken waarvan de uitslag besproken zou worden bij de tweede ontmoeting. Bij deze ontmoeting zou overigens ook Linda Reekers, de Recruitment Manager, aanwezig zijn.

De cognitieve test bestond uit figuurreeksen, cijferreeksen en matrixen. Deze heb ik als zeer lastig ervaren en ik was dan ook vrij nerveus tijdens het afwachten van de resultaten ervan. Eerlijk gezegd verwachtte ik niet veel goeds, maar toen Afke binnenliep had ze me gelijk gerustgesteld dat ik uitstekend de test ben doorgekomen. Het bleek dus zo te zijn dat de test zich aanpastte aan je niveau waardoor je vanzelfsprekend vragen kreeg die moeilijker werden naarmate je meer goede antwoorden gaf. Na afloop van deze assessment volgde nog een gesprek over de resutaten van de persoonlijkheidstest. Opvallend was dat ik als ontwikkelbaarheid voor alle competenties[1] op basis van mijn persoonlijkheid ‘gemakkelijk’ had gescoord met als enige uitzondering voor de competentie ‘discipline’. Discipline is hierbij gedefinieerd als “zich voegen naar het beleid en de procedures van de organisatie.” Het is interessant om te zien dat er ook bij een ander persoonlijkheidstest, PAPI-I die ik had gemaakt bij Sogeti, naar boven kwam dat ik niet altijd veel waarde hecht aan het beleid en de procedures van de organisatie. Er werd bij Sogeti nog nadrukkelijk gevraagd om een toelichting waarop ik antwoordde dat hoewel ik begrijp dat bedrijfsregels de efficiëntie van bedrijfsprocessen verhogen, het ook beklemmend kan werken als je regels boven menselijke relaties plaatst. Ik hecht namelijk veel waarde aan vertrouwen en wederzijds begrip en ik geloof dat deze gevierd wordt zolang elk partij de ander beschouwt als autonome entiteit die rationeel en volwassen is. Door middel van rede en argumentatie kan er voortdurend ondwangmatige verantwoording worden afgelegd wat contextueel wederzijds begrip voedt en wat naar mijn idee niet alleen belangrijker, maar ook menselijker is dan zich simpelweg te schikken naar stricte procedures.[2] Na het persoonlijkheidsgesprek gaf ik nog een presentatie over mijzelf, vertelde ik wat ik weet van programmeren en waarom ik een geschikte kandidaat zou zijn. Uiteindelijk heb ik een aanbod van YoungCapital gekregen om in te stromen bij de C# .NET Traineeship.

De Traineeship
Op 15 juni was het dan eindelijk zover. De Traineeship zou beginnen en als locatie werd IT Performance House Isential in Zwolle gekozen. Voor mijn 3 uur durende treinreis had ik de avond ervoor 4 nummers op mijn telefoon gezet en deze bij elkaar gevoegd tot mijn C# playlist bestaande uit Richard Strauss – Also Sprach Zarathustra, Joe Hisaishi – My Neighbor Totoro, Pink Floyd – Shine On You Crazy Diamond en Friedrich Nietzsche – Allegro. Ik heb gekozen voor Also Sprach Zarathustra, omdat deze mij inspireert om het beste uit mezelf naar boven te halen. My Neighbor Totoro om mezelf eraan te herinneren dat ik ondanks de serieusheid van het Traineeship toch moet blijven relativeren en plezier moet blijven houden. Pink Floyd om lekker weg te dromen en Nietzsche, omdat het simpelweg Nietzsche is – mijn favoriete filosoof.

Start Traineeship

In totaal zijn er 13 mensen vanuit het hele land geselecteerd om deel te nemen aan de Traineeship. Van deze 13 zijn er 6, onder wie ook ik, die door de verre reisafstand in de door YoungCapital geregelde Bed & Breakfast Onder De Peperbus zouden verblijven. Terugkijkend op het sollicitatieproces en na het leren kennen van de medetrainees, begrijp ik nu dat er duidelijk geselecteerd is geweest op intelligentie, communicatieve vaardigheden en op persoonlijkheid. Eén van de leukste aspecten aan de Traineeship is dat de groep qua achtergrond uiterst divers is. Zo hebben we in ons groep een internationaal schaakmeester en afgestudeerd biomedisch student, een lecturer aan de Hogeschool van Beeldende Kunsten, een organische chemicus en commercieel econoom, een technische natuurkundige, een microbioloog, een industrial designer, een analytische chemicus, een wiskundige, een biochemicus, een neurocognitieve wetenschapper, een leraar natuurkunde, nog een industrial designer en tot slot een filosoof met een diepere achtergrond in economie en international mangement. Kortom, de groep bestaat enkel uit hoogopgeleide afgestudeerden met een bèta-achtergrond. Ik was de enige uitzondering die met een alfa-achtergrond was ingestroomd.

Het niveau en het tempo van de Traineeship lag, vond ik persoonlijk, bijzonder hoog. Ik heb het dan ook niet gemakkelijk gehad en heb daarvoor vele avonden en weekenden opgeofferd om de stof bij te houden en mezelf bij te blijven spijkeren. De eerste twee dagen bestonden uit het maken van basisoefeningen met C# in Visual Studio. Wat ik uitermate fijn vond aan de trainer was dat hij ons vrij liet om ons eigen tempo te bepalen. Degenen die eerder klaar waren met de basisoefeningen konden zo bijvoorbeeld beginnen met het programmeren in Unity, een game development platform. Op de derde dag zetten we de basisoefeningen en het programmeren in Unity op stop en gingen we een rekenmachine programmeren. Na afloop van de rekenmachine moesten we een adressenboek programmeren en deze migreren naar het web. Voor de meesten gold dat ze hun adressenboek al aan het begin van de tweede week naar het web migreerden. Dat betekent dat we in de eerste twee weken al hebben geprogrammeerd in C# en een kennismaking hebben gekregen met HTML5 met JavaScript en CSS3. Zoals ik al had vermeld: het tempo lag bijzonder hoog. Ik geloof dat we mede hierdoor ook geselecteerd werden op persoonlijkheid – het hoge niveau vereist namelijk mensen die niet snel gestresst raken, die volhardend zijn in het bereiken van hun doelen, die een sterk aanpassingsvermogen hebben en die zich snel nieuwe informatie en ideeën eigen kunnen maken en deze effectief kunnen toepassen. Deze eigenschappen zag ik sterk terug bij mijn medetrainees.

Zodra het adressenboek af was konden we beginnen aan onze casus die we uiteindelijk in de laatste week moesten presenteren aan YoungCapital. Iedereen was vrij om zijn of haar casus in te richten naar eigen behoeftes en interesses wat uiteindelijk heeft geleid tot een grote diversiteit aan eindproducten. Ik zal later meer vertellen over de eindpresentaties. In de derde en de eerste helft van de vierde week konden we verder werken aan onze casus met dagelijks een onderbreking van de trainer om enkele onderwerpen uit het Programming in C# Exam Ref 70-483-boek te bespreken. We namen op woensdag afscheid van deze trainer en op donderdag en vrijdag kregen we een trainer van KeyResult, Rolf Teekens, die ons kennis liet maken met het Scrum proces.

Scrum
Scrum is een agile softwareontwikkelmethode die veelal wordt gebruikt in ontwikkelteams. Het is kort gezegd een methode waarbij het Scrum-team multi-disciplinair en zelfsturend is en waarbij een product increment in korte sprints van 2 tot 4 weken wordt opgeleverd. Het doel van Scrum is om ontwikkelprocessen te faciliteren die het mogelijk maken om complexe producten te ontwikkelen. Scrum doet dit door het creëeren van transparantie, inspectie en adaptatie.[3] Het probleem waar veel ontwikkelteams tegenaan lopen is dat de opdrachtgever vaak geen duidelijk beeld heeft van het eindproduct dat hij opgeleverd wilt krijgen en dat hij behoefte heeft om functionaliteiten gedurende het ontwikkelproces aan te passen of uit te breiden. In het traditionele ontwikkelproces werd er allereerst een definitiestudie gedaan. Hierop volgden dan namens een ‘watervalmethode’ het basisontwerp, het technisch ontwerp, de bouw van de applicatie, het testen, de integratie en het beheer en onderhoud. Echter, om beter om te kunnen gaan met de behoeften van de klant werd het noodzakelijk om een methode te hanteren waarbij tijd en kosten vastgelegd werden, maar de features variabel waren.

Aangezien er van ons wordt verwacht dat we na de Traineeship mee zullen draaien in ontwikkelteams, is het goed dat we niet alleen leren over de technische aspecten van softwareontwikkeling, maar ook over de management methodiek erachter. Tijdens de Scrum-training simuleerden we de samenwerking in Scrum-teams en moesten we als team een Lego zoo bouwen. Allereerst werd er individueel nagedacht over ‘backlog items’ die opgeschreven op post-its op onze ‘scrum wall’ werden gehangen. Deze ‘backlog items’ werden daarna in onze ‘sprint planning’ geordend op basis van ‘value’ en met ‘planning poker’ kaarten werd er aangegeven hoeveel ‘effort’ elk item zou vereisen. Tot slot onstond er een mooi geordende ‘sprint backlog’ en kon het ontwikkelteam beginnen met het bouwen van de Dino zoo. Het project bestond uit twee sprints. In de eerste sprint werden de ‘must-haves’ van de zoo gebouwd. Tijdens deze sprint werkte ik samen met Anne en Patrick aan de bouw van een rode T-Rex. In de tweede sprint ging het ontwikkelteam aan de slag met de ‘should-haves’ en werkten Martijn, Anne en ik aan de bouw van de plattegrond. Zie hieronder het geweldige resultaat van onze twee sprints:

IMG-20150728-WA0002

Naast het feit dat we meer bekendheid hebben verworven van Scrumprocessen, is de Scrum-training ook een prima manier geweest om team-building op te bouwen. Een belangrijk karakteristiek van Scrum is namelijk dat het team centraal staat. Het gehele team wordt verantwoordelijk geacht voor het wel of niet verkrijgen van succes en het is om deze reden dat waarden als openheid en vertrouwen cruciaal zijn binnen Scrum. Ik denk dat het dan ook niet opmerkelijk is dat er onderling tussen de trainees een sterkere gebondenheid is ontstaan dankzij de Scrum-training. Wat uiteraard ook heeft bijgedragen aan deze gebondenheid is het plezier dat we hadden tijdens de opdrachten. Ook al hadden we tijdens de Traineeship geen aparte uren vrijgemaakt voor team-building terwijl dit wel in de originele planning is opgenomen, dit werd meer dan voldoende goedgemaakt door de Scrum-training.

De week na de Scrum-training stond een vrij studieweek gepland waarin we de tijd kregen om ons voor te bereiden op het Scrum-examen dat die week zou plaatsvinden. Na eerst de Scrum guide doorgenomen te hebben en enkele hoofdstukken te hebben gelezen van Succes met Scrum! van Wouter Tengeler (2014), ben ik de oefenvragen van KeyResult gaan maken. De handige memorytrainer en de vele oefenvragen op hun website bleken een goede voorbereiding te zijn geweest op het examen. Alle trainees hebben in hun eerste poging het examen gehaald op een paar enkelingen na. Degenen die niet waren geslaagd waren alsnog in hun tweede poging geslaagd. Ook konden we in deze week verder werken aan onze casus of konden we ons voorbereiden op het uiteindelijke MCSD examen.

Nieuwe trainer, nieuwe technologie en meer stress
In de vijfde week kregen we een nieuwe trainer die ons kennis liet maken met de ASP.NET MVC technologie. MVC staat voor Model View Controller en helaas hebben we er door de tijdsdruk weinig mee kunnen werken. Van wat ik heb gezien is het een prima technologie om databases mee op te bouwen, weer te geven en te behandelen met controllers. Het MVC model biedt daarnaast ook een uitstekende controle over HTML, CSS en JavaScript en is geïntegreerd met vele of misschien wel alle bestaande ASP.NET features als Master Pages, Security en Authentication.

Tot dusver was er ook nog niet veel bekend over de voorwaarden waar onze eindpresentaties aan zouden moeten voldoen. Het MCSD examen kwam ook akelig dichtbij en ik voelde me gedurende de week steeds meer gespannen over hoe ik het best mijn tijd moest indelen. De trainer toonde begrip voor onze situatie en gaf ons de gelegenheid om op donderdag 2 uur te werken aan onze casus en op vrijdag 4 uur. Uiteindelijk was dit een week geworden waarin ik samen met mijn Bed & Breakfast genoten dagelijks tot 19:00 of 19:30 op het kantoor van Isential bleef. Ik waardeer het ook enorm dat de trainer net zo lang bleef als wij voor het geval dat we vragen over de casus hadden. Uitgeput als we waren hadden we bij terugkomst van Isential de hele week fast-food gegeten zodat we daarna weer tot diep in de nacht verder konden werken aan onze casus of aan de voorbereiding op het examen. Dit was voor mij persoonlijk al met al de stressvolste week.

Eindpresentaties en SIME Cambodia webshop
De gehele maandag erop was ingeroosterd voor de eindpresentaties met aansluitend een lichte borrel. Het was leuk om iedereen te zien presenteren in zijn of haar ‘zondagse pak’. Het was de bedoeling om tijdens de presentatie aan te tonen hoe je de kennis van de afgelopen 5 weken hebt toegepast in het bouwen van je casus. Aanwezig waren naast de trainees ook de trainer van de laatste week en mensen van YoungCapital zoals de Businessline IT Manager Bart-Jaap van den Berg, HR Manager Dorith Korving, Consultant Ankie Verbeek en de Recruitment Manager Linda Reekers. Ik moet zeggen dat ik zeer onder de indruk ben geweest van de presentaties en eindproducten van mijn mede-trainees. Iemand heeft bijvoorbeeld een mooi grafisch spel ontwikkeld waarbij je een balletje moet schieten van een begin- naar een eindpunt toe met er tussenin allerlei obstakels. Een ander heeft ‘Ultimate Tic-Tac-Toe’, een uitdagender variant dan de welbekende Tic-Tac-Toe, ontwikkeld waarbij twee spelers tegen elkaar kunnen spelen. Iemand anders heeft een website gebouwd waarmee uren geregistreerd kunnen worden voor kinderdagverblijven en weer iemand anders heeft een ‘blorum’, een mix tussen blog en forum. Daarnaast is er ook een Beverbende applicatie, een grafisch zeer sterke Tic-Tac-Toe, een spelletjesforum, een website waarop developers zich kunnen opgeven om ingehuurd te worden door werkgevers, een applicatie waarbij game characters aangemaakt kunnen worden met verscheidene properties, een kaartenspel, een game waarmee je blokjes en torens kunt bouwen en een muziek streaming website. Ikzelf heb een webshop gebouwd voor ons familiebedrijf, SIME Cambodia.

Hieronder kun je een filmpje zien van mijn webshop.

SIME Cambodia handelt in irrigatiesystemen en het doel van mijn webshop is om aan Cambodjaanse gebruikers producten te verkopen die hun watermanagement verbeteren. Hiervoor heb ik mijn webshop ingedeeld in een back- en een front-end. Aan de back-end kan een administrator zijn productendatabase managen. Dat betekent dat:
a. De administrator zich kan inloggen op de webshop om bij de database management te komen;
b. Hij producten kan toevoegen met bijbehorende data als productomschrijving aan de productenlijst;
c. Hij producten kan verwijderen uit de productenlijst;
d. Hij van de producten die toegevoegd zijn de eigenschappen kan aanpassen zoals bijvoorbeeld de ‘available stock’.

Aan de front-end moet de bezoeker een aankoop kunnen doen. Dat betekent dat:
a. De gebruiker door de webshop heen moet kunnen browsen;
b. Er informatie moet zijn over wat de onderneming verkoopt, waar de producten voor gebruikt kunnen worden en een korte geschiedenis van de onderneming;
c. Er een productenpagina moet zijn waarin de aangeboden producten worden getoond;
d. De gebruiker een product moet kunnen toevoegen aan de shopping cart;
e. De gebruiker moet kunnen uitchecken;
f. De opmaak van de webshop moet passen bij het product dat we verkopen. In dit geval, omdat we irrigatiesystemen verkopen voor beter watermanagement, heb ik gekozen om veelvuldig gebruik te maken van de kleur blauw wat representatief is voor helder water.

Tussen de presentaties door werden nog foto’s geschoten en interviews afgelegd waarin we onze ervaringen konden delen. Na deze dag werd het weer tijd om onze volledige focus te plaatsen bij het komende MCSD examen.

MCSD Examen
Dinsdag, de dag na de eindpresentaties, hadden we een vrij studiedag waarop ik me volledig heb gestort op het Exam Ref 70-483-boek. De dagen erna was er nog een examentraining bij Isential en een vrij studiedag. Toen was het eindelijk zover: ik moest om 7:30 de trein nemen richting ‘s Hertogenbosch om om 9:30 aan te komen bij de assessment centre in Nieuwkuijck. Omdat Martijn en ik op dezelfde locatie onze examen zouden hebben, hadden we afgesproken om elkaar te ontmoeten op het station van ‘s Hertogenbosch. Ik voelde me totaal niet optimaal voorbereid en schatte dat ik nog een weekje zelfstudie nodig had om de lesstof indringender te begrijpen en het examen te kunnen halen. Bij aankomst vroeg de receptioniste aan ons om onszelf te legitimeren, werden we geleid naar een kluisje om onze spullen in op te bergen en nam ze ons mee naar de assessmentkamer. 55 vragen later stuurde ik met een muisklik al mijn antwoorden in en verscheen er een venster waarop stond dat ik het examen had gehaald. Ondanks mijn opluchting probeerde ik me toch gedeisd te houden, omdat ik zag dat Martijn links voor mij nog achter de computer zat. Ik liep bevrijd van spanning de trap af naar beneden, werd gefeliciteerd door de receptioniste en kreeg een print van mijn testscore in mijn handen geschoven. Een minuut later kwam ook Martijn de trap WP_20150724_12_07_01_Proaflopen. Hij stak zijn duim op en ik wist meteen dat ook hij was geslaagd voor het examen.

Hierna hebben we samen nog een bistro opgezocht in het centrum van ‘s Hertogenbosch om onszelf te feliciteren met de geslaagde dag: we deden een drankje, hij nam een dubbele burger, ik een Angus beef burger en zo kwam er een mooi einde aan de zware 6 weken van de Traineeship.

Bed & Breakfast
Tot slot wil ik nog wat vertellen over de Bed & Breakfast en mijn medetrainees die er ook verbleven. Als ik dagelijks heen en weer zou moeten reizen vanuit Breda dan zou me dat ongeveer 6 uur per dag kosten, maar gelukkig heeft YoungCapital een B&B geregeld voor degenen die op langer dan 2 uur reisafstand wonen van Isential. De B&B lag gelegen in hartje Zwolle tussen twee kerken; de Grote Kerk en de Basiliek van Onze-Lieve-Vrouw-ten-Hemelopneming. Hoewel het op een gezellige locatie lag, was het ook vervelend om de kerkklok om de zoveel tijd te horen luiden of om tijdens je nachtrust dronken lui als gewetenloze gekken te horen schreeuwen. De eerste paar dagen heb ik hierdoor weinig nachtrust gehad, maar na verloop van tijd begon het te wennen en werd het voor mij persoonlijk minder storend. Helaas hadden sommigen van ons zoals bijvoorbeeld Anne en Laura er wel meer last van dan ik.

De trainees die er verbleven waren Laura, Anne, Gilberto, Patrick, Martijn en ik. Ieder van ons kreeg een eigen kamer, behalve Patrick en Martijn die samen een kamer deelden. We kregen gratis ontbijt in de ochtend wat dagelijks om 7:45 klaarstond en wat bestond uit een smoothie, een ei, afbakbrood, ham, kaas, komkommer, ander beleg en koffie. Omdat Anne alleen glutenvrij brood kon eten, kreeg ze een apart dieet. Daarnaast hield Gilberto niet van de smoothie en wij beiden niet al te veel van de broodjes dus verloste ik hem van zijn smoothie om mijn buik nog enigszins vol te krijgen en at hij naast de broodjes geregeld zijn zelfgemaakte ontbijt.

Ik denk dat we met ons zessen een heerlijk hechte groep hebben gevormd. We namen altijd samen de bus naar Isential, kwamen altijd samen terug, deden geregeld samen boodschappen en kookten afgezien van de laatste week waarin we enkel fast-food hadden gegeten vrijwel altijd samen. Gilberto en ik zijn nog samen enkele keren om 6:00 opgestaan om buiten te joggen voordat we richting Isential gingen.

De hechtheid nam sterker toe naarmate we meer tijd met elkaar doorbrachten. De hechtheid werd ook sterk bevorderd doordat onze karakters vrij neutraal zijn en er geen enkel karakter overheerst. Ook had ik het idee dat iedereen open stond om de ander te helpen als die ander even geen oplossing ziet voor een programmeer probleem. Zo liep ik regelmatig de kamer binnen van Patrick en Martijn wat gedurende ons verblijf steeds implicieter de gemeenschappelijke woonkamer werd om enkele vragen te stellen. Hier gingen wij, ‘the boys’, ook vrij vaak tot laat in de nacht door met programmeren. Toch was er naast het vele programmeren ook voldoende ruimte voor ontspanning. Zo vonden Patrick, Martijn en ik op de tweede dag een kroeg genaamd De Belgische Keizer die later onze stamkroeg werd. Op deze dinsdagavond heb ik voor het eerst een kriek op gehad en als ik me nog goed herinner varieerden onze gesprekken op deze avond van de economische crisis, het geldsysteem en het libertarisch anarchisme tot Patricks microbiologische onderzoek om micro-organismen beter te identificeren met behulp van laser spectrometrie. We waren drie geeks die onszelf prima vermaakten met geek-talk. Wat mij nog verder is bijgebleven aan leuke conversaties of andere activiteiten van de afgelopen 6 weken zijn Gilberto’s hilarische avonturen met zijn twee gekke broers, de speech van Carl Sagan genaamd ‘The Pale Blue Dot’ over de staat van de mensheid die Gilberto ons liet toehoren, mijn gesprek met Anne en Martijn over thuisonderwijs tegenover publiek onderwijs, het gesprek met Laura, Patrick, Martijn en Gilberto over onze samenleving alszijnde een ‘systeem’ waarin we worden meegezogen en onze autonomie verliezen, mijn gesprek met Patrick en Martijn over het experimenteren met nieuwe vormen van sociale organisaties door middel van seasteads, de avond dat ik samen met Patrick en Martijn de film Ip Man heb gekeken en de nachtelijke onweersbui toen we converseerden over de steeds mieteriger wordende generatie. Achteraf gezien hebben we samen heel wat meegemaakt, samen leuke activiteiten ondernomen en samen succesvol de Traineeship doorlopen.

Hieronder, een foto van alle B&B-genoten met v.l.n.r. Patrick, Laura, Martijn, Anne, ik en Gilberto.

YC_Trainees_Lo_0265

Conclusie
Terugkijkend op de Traineeship heb ik totaal geen spijt dat ik heb deelgenomen. De Traineeship was een rijke ervaring en ik zou iedereen die ook een carrière in software development ambieert aanraden om deel te nemen aan de Traineeship. Ik sluit me volledig aan bij Martijns statement dat deze Traineeship heeft aangetoond dat wij, de trainees, moeilijk kapot te krijgen zijn. Het vereist namelijk veel doorzettingsvermogen en de competentie om goed te kunnen omgaan met een hoge werkdruk en stress. Sommigen van ons hebben al een werkplek gevonden en ik ben benieuwd wie mijn werkgever gaat worden. Hoe dan ook, alle trainees kennende geloof ik dat elke werkgever die één van ons aanneemt een uitermate gemotiveerde Junior Software Developer in huis haalt die bereid is om veel bij te leren binnen dit mooie vak.

Mocht je er zelf over nadenken om ook een Traineeship te volgen in software development en mocht je vragen hebben, dan kun je ze altijd in de comments stellen. Mocht mijn artikel je trouwens hebben geïnspireerd om zelf ook aan te melden voor de Traineeship, dan kun je hier lezen wat je moet doen om ook in aanmerking te komen: https://www.youngcapital.nl/info/it-traineeship.

Voetnoten
[1] De volledige lijst van competenties bestaat uit: plannen en organiseren, voortgangsbewaking, probleemanalyse, leervermogen, organiseren eigen werk, aanpassingsvermogen, inzet, zelfontwikkeling, discipline en kwaliteitsgerichtheid.

[2] Hieruit blijkt maar weer dat ik beïnvloed ben door Jürgen Habermas’ pragmatische filosofie over communicatieve rationaliteit als bijdrager aan het floreren van de mens door middel van gemeenschappelijk begrip, vrij van communicatieve overheersing.

[3] Zie http://www.scrumalliance.org/why-scrum voor een verdere verdieping.