Chai Stofkoper - DevOps - Development

Profiel

‘Scherp, kritisch, gedreven en samenwerken’ zijn woorden waar ik me in kan vinden. Ik stel vragen en onderzoek mogelijkheden om tot oplossingen te komen. Uitdagingen zie ik vooral als aanknopingslpunten om weer iets nieuws te leren en verder te groeien in mijn vak en als mens. Ik sta altijd open voor suggesties, houd van duidelijke communicatie en een informele sfeer.
Vanuit mijn werk als testautomatiseerder heb ik een oog voor detail ontwikkeld en ben ik me bewust van op zowel risicos en kwaliteit.
Ik heb me de laatste jaren verdiept in allerhande technieken en talen waaronder: Docker, Terraform, Jenkins, AWS, Java, Typescript, Angular, Spring, NestJs, (S)CSS, RxJs. Ik ben vooral dieper in gegaan op DevOps, Cloud computing architectuur, Containerization en Pipelines.

Fan van Linux, Vim, containers, exotische muziek en wiskunde!

Ambities

De afgelopen periode (2 jaar) heb ik me voorbereid op een overstap naar Devops enhineer / fullstack development. Hiervoor heb ik cursussen gevolgd in onder meer Java, Typescript, Spring, Angular, NestJs, CSS en RxJs. Daarnaast ben ik erg geinteresseerd in cloud technologie en DevOps. Ik heb me dan ook verdiept in onderwerpen zoals Docker, Kubernetes, AWS, Terraform en Jenkins. Ik ben bezig met een aantal projecten in de praktijk, onder meer een samen met mijn collega’s waar we samen werken aan een microservice applicatie. Een opdracht in een omgeving waar die zaken samen komen zou een mooie plaats zijn om bij te dragen met wat ik nu kan, en om verder te leren!

Uitgelicht

2020 - Heden: Devops - Development (Fullstack) @ InQuisitive (Intern)

Opzetten en onderhouden van de infrastructure as code met Terraform in AWS, zowel voor de app als voor Jenkins. Bouwen en onderhouden van de build en deploy pipeline in Jenkins (JcasC, JobDSL). Schrijven van de code voor de Angular frontend.

2019 - 2022: Testen - Testautomatisering @ Ministerie van Buitenlandse Zaken

Ketentesten en verbeteren en uitbreiden van de automatische test suites voor de UI en de Api’s.

2017 - 2019: Testen - Testautomatisering @ Rabobank

Voornamelijk test automatisering met protractor en api tests met Java. Meewerken aan de migratie naar de cloud en zorg dragen voor monitoring en dashboarding met Splunk binnen ons team.

Werkervaring

Client: Intern @ InQuisitive

Period: Oktober 2020 - Heden
Role(s): DevOps - Development
Knowledge: Typescript, Java, Spring, Angular,Terraform, CloudFormation, Jenkins, Docker, Git, Agile Scrum.
Context: Binnen Inquisitive zijn we gestart met een kleine groep om ons om te scholen tot developer / DevOps engineer. Hiervoor hebben we tijd en mogelijkheden gekregen om cursussen te volgen en samen een project te doen. We bouwen een applicatie “Mosar” voor flashcards. De opzet is om zoveel mogelijk relevante technieken te gebruiken en er praktische ervaring mee op te doen en het leren te bekrachtigen.
Tasks:

  • Schrijven en onderhouden van alle infrastructure as code

  • Opzetten van alle omgevingen, rollen en resources in AWS

  • Opzetten en onderhouden van de build and release pipelines

  • Schrijven van de frontend code en frontend unit tests

Results: Ik heb de infrastructure as code gebouwd en herbouwd. Eerst heb ik gebruik gemaakt van AWS CloudFormation en later ben ik omgeschakeld naar Terraform. Dit behelst zowel de modules als de projects/ workspaces (die gekoppeld zijn aan workspaces in Terraform Cloud) die deze modules gebruiken. Alle resources zoals VPCs, ECS Clusters, EC2 Servers, secrets, ECR repositories, rollen en policies voor zowel Jenkins als voor de app worden hier onderhouden. Daarnaast heb ik ook alle pipelines gebouwd in Jenkins. Gebruik makend van JcasC en JobDSL om zoveel mogelijk alles as code te hebben en best practices te volgen. De build pipelines worden getriggered bij het openen van een PR. Ze bouwen de artifacts, runnen de tests en uploaden een image, dat gebouwd wordt met Kaniko, naar AWS s3. De deploy pipeline haalt dit weer op en voert Terraform code uit om een ECS Task te runnen binnen het bestaande cluster.
Hiernaast heb ik alle frontend code geschreven inclusief HTML, CSS, animations, en tests. Voor het backend werk werk ik nauw samen met mijn collegas in de vorm van pair programming en code reviews.

Client: Ministerie van Buitenlandse Zaken

Period: Maart 2019 - April 2022
Role(s): Testen - Testautomatisering - DevOps - Ketentesten
Knowledge: Agile, Scrum, DevOps, Testautomatisering, Java, Javascript, Typescript, Property Based Testen, Backend Testing, Frontend / Angular, Azure, Complex Chain, Codecept, Cypress
Context: Ik heb hier meegewerkt aan de vervanging van een aantal systemen waarmee het proces van visum aanvragen wordt behandeld. Het gaat hier om alles vanaf de aanvrager in elke uithoek van de wereld, via alle verschillende processen en rollen binnen buitenlandse zaken, naar een besluit tot uitgifte of afwijzing en het printen van de juiste waarde documenten en vastleggen in externe systemen. Dit zijn dan zowel systemen in het buitenland zoals het europees visum registratie systeem als het beschikbaar stellen van de informatie aan Nederlandse partijen zoals de IND of politie.
Tasks:

  • Testen

  • Testautomatisering (BDD, Java, Javascript, Typescript, Codecept, Cucumber, Cypress)

  • Ketentesten

  • Frontend code schrijven (Bug fixing, kleine research taken)

  • Containerization (opzetten lokale omgeving)

  • Pipelines (klein onderhoud)

Results: In deze opdracht heb ik me bezig gehouden met twee hoofdtaken. Enerzijds testautomatisering een impuls geven en anderzijds het opzetten en regisseren van de ketentest. Dit eerste heb ik gedaan door verbeteringen voor te stellen en uit te voeren voor de frontend e2e testen en anderzijds door integratie testen op te zettenwaarbij we op niveau van de api’s de functionaliteit testen. Voor de UI en e2e testen heb ik gewerkt aan het verbeteren en uitbreiden van de bestaande codecept (Javascript) testen en later aan het opzetten van Cypress icm Typescript. Bij de api tests heb ik ook property based testen geïntroduceerd om zo dekking te verhogen en specificaties te veralgemenen. Verder heb ik me bezig gehouden met het scherper krijgen van de acceptatie criteria om zo kwaliteit en testbaarheid in het hele proces en product te verbeteren. Het opzetten en uitvoeren van de ketentesten was een uitdaging vanwege de vele koppelingen met externe partijen in binnen en buitenland met elk hun eigen eisen en limieten naast onze eigen criteria.

Client: Rabobank

Period: April 2017 - December 2019
Role(s): Test - Testautomatisering - DevOps - Scrum Master
Knowledge: Agile, Scrum, Devops, Testautomatisering, Browser Testing, Splunk, Java, Javascript, Backend Testing
Context: Ons team heeft zich bezig gehouden met applicaties die de marketeers in staat stellen om uitingen naar klanten zoveel mogelijk te personaliseren.
Tasks:

  • Testrn

  • Testautomatisering

  • DevOps

  • Scrum Master

Results: De Rabobank is een organisatie waar heel snel veranderingen plaats vinden, zowel in de manier van werken als in het complexe technische landschap. We hebben een aantal legacy-systemen onder ons beheer gehad, waarvoor ik een geautomatiseerde regressie suite heb geschreven. Het frame dat ik daarvoor schreef is ook door andere collega’s, binnen en buiten het team, gebruikt.
Ook hebben we nieuwe software geschreven die volgens de nieuwere architectuur standaarden naar de cloud (PCF op Azure) gebracht is. Tevens heb ik voor de applicaties monitoring dashboards gemaakt in Splunk, om zo snel en goed inzicht te hebben. Kritisch denken, assertief comminiceren en samenwerken is hierbij van groot belang om zo fouten en risico’s te vermijden voordat de daadwerkelijke bouw begint.

Client: Provincie Gelderland

Period: April 2017 - April 2019
Role(s): Testen - Testautomatisering
Knowledge: Agile, Scrum, Testautomatisering, Chain Testing, Acceptance Testing, Migrations (Open Text and Sharepoint), Java, Selenium, Python
Context: Als tester ben ik betrokken geweest bij uiteenlopende projecten waaronder migratie van Open Text (Enterprise information management), en ontwikkeling van een nieuwe applicatie tbv subsidieverlening, migratie Sharepoint(2010-2013).
Tasks:

  • Testen

  • Agile Teamlid

  • Begeleiden van Acceptatie Testen

Results: Binnen de provincie zijn veel processen tegelijk bezig; het professionaliseren van het testen (waar men nu sinds een 2 jaar mee bezig is), onderhouden van oude systemen, ontwikkeling van nieuwe systememn en de overgang naar een regie- organisatie, waarbij alle IT geoutsourced wordt en de vraag om kwaliteitsbewaking des te groter. De uitdaging was erin om veel verschillende projecten en applicaties tegelijk te testen en in het oog te houden en tegelijkertijd wel echt in de diepte de systemen te kennen, die veelal legacy systemen zijn met (deels) ontbrekende documentatie. Ik heb mee mogen werken aan de projecten zelf, en ook aan de verbeterslag in het testproces waar het gaat om inzichtelijk maken van de verantwoordelijkheden, beschikbaarheid en beheer van omgevingen, en de mogelijkheden voor testautomatisering. Ook waar het de communicatie betreft, het samenbrengen van de ambtenaren met de ontwikkelteams en afstemmen van wensen en verwachtingen is hier een belangrijk deel van het werk geweest.

Client: Homefashion Group

Period: September 2016 - Februari 2017
Role(s): Testen
Knowledge: Jira, Trac, Youtrack, XML, Java, Selenium, Python, Exploratory Testing
Context: In de hectische omgeving van een retailer die een moderniseringsslag wil en moet maken testen van zowel frontend (webshop) als legacy backend systemen (ERP, logistiek).
Tasks:

  • Testen

  • Testautomatisering

  • Ketentesten

  • SOAP service Testen

Results: Bij de Homefashion Group was ik samen met twee andere testers verantwoordelijk voor het testen van de Webshop die vernieuwd werd, nieuwe webshops die er bij kwamen, en als enige had ik ook de taak om het legacy ERP systeem (progress) te testen. Vooral dit laatste was een mooie uitdaging! Vanwege de vernieuwingen in productlijnen, transportlijnen en verkoopkanalen werd er constant aan dit systeem gewerkt. De applicatie leren kennen en zinnige uitspraken kunnen doen over de risico’s van het gedane werk was niet eenvoudig, maar binnen de organisatie waar hoge tijdsdruk op lag wel heel belangrijk.
Voor de webshops heb ik een testframework gebouwd in Java (met selenium) waar we samen met een van de andere testers onze scenario’s in schreven.

Client: Exact

Period: Juli 2016 - Augustus 2016
Role(s): Testen
Knowledge: Testing, Testautomatisering, Team Foundation Server, C#, Selenium
Context: Bij Exact heb ik als scrum team lid gewerkt binnen het accounting-core team van Exact Online.
Tasks:

  • Testen

  • Testautomatisering

  • Regressie Testen

Results: Exact Online levert bedrijfsadministratie software en daarbinnen was ik deel van het team dat werkte aan de kern functionaliteit, accounting-core. De kwaliteits eisen liggen daar hoog en een kritische doortastende blik werd vereist. Ik heb door middel van enerzijds exploratory testen, en anderzijds automatiseren van regressie scenarios bijgedragen aan de opleveringen die we hebben gedaan. Daarnaast heb ik me bezig gehouden met het verbeteren van het scrum proces (mn User stories en acceptatie criteria).