Summary
Overview
Work History
Education
Timeline
Hobby's
SeniorSoftwareEngineer
Bastiën Bonsel

Bastiën Bonsel

Senior Software Engineer
Rotterdam

Summary

Ambitieuze Java/Kotlin developer (met veel Angular ervaring), geïnteresseerd in nagenoeg alles dat met IT te maken heeft. Mijn grootste motivatie is mijn persoonlijke ontwikkeling. Daarbij is de belangrijkste eigenschap dat ik mijzelf goed ken. Ik erken mijn eigen kennis en vaardigheden, maar ook de gaten in die kennis en vaardigheden. Die gaten vormen altijd de drijvende kracht achter mijn verdere ontwikkeling. Daarnaast sta ik altijd open voor het herzien van mijn huidige kennis. Ik ben altijd op zoek naar nieuwe uitdagingen, waardoor ik ook buiten werktijden om veel aandacht heb voor het ontdekken van nieuwe technologieën.

Overview

6
6
years of professional experience
4
4
years of post-secondary education

Work History

Senior Java Developer

ING
03.2023 - Current

Binnen ING werk ik in het True International Payments (TIP) domein. We werken hier aan tientallen microservices welke met elkaar en met de centrale betalingsengine integreren. Een groot project waar ik een centrale rol in heb gespeeld is het ontwikkelen van een set nieuwe microservices welke de nieuwe manier van ontsluiten richting het Accounting domain vormen. Dit is een onderdeel van het uitfaseren van het product waar op dit moment al het internationale betalingsverkeer doorheen loopt.


Een greep uit de technologieën waarmee we werken bij ING:


  • Azure DevOps
  • Java 11/17
  • Spring Boot
  • Spring Integration DSL
  • JUnit Jupiter
  • Kafka
  • Tibco EMS


Full-stack Kotlin/DevOps Engineer

Compilit
03.2022 - Current

Binnen mijn eigen bedrijf ontwikkel ik inmiddels al langere tijd aan een eigen platform dat het gemakkelijker moet maken om persoonlijke gegevens te beheren en te delen met derden. Het product is inmiddels in een vergevorderd stadium en staat op het punt om officieel live te gaan.


De stack voor dit project:

  • Angular frontend vanuit een Docker container
  • Kotlin + Spring Boot backend in een Docker container
  • Neo4j database in een Docker container
  • Ubuntu VPS gehost op DigitalOcean


Omdat deze protocollen een essentieel onderdeel vormen van deze app, heb ik me verdiept in OAuth2.0 en OpenID Connect. Omdat Spring Boot/Security nog enigszins achterlopen met de ontwikkeling aan hun eigen implementatie van deze protocollen, heb ik deze zelf geïmplementeerd. Hoewel ik voornemens ben dit gedeelte ooit alsnog naar Spring te verplaatsen, geeft dit enorm veel kennis en inzicht in hoe deze protocollen precies werken.


Wanneer je op een opdracht zit krijg je zelden de kans om buiten het werkgebied waarvoor je bent aangenomen te werken. Het feit dat ik verantwoordelijk ben voor de volledige life-cycle, het design en de stack van de app, maakt het bijzonder leuk en uitdagend om aan een dergelijk project te werken.


Senior Java Developer

Otentica
07.2022 - 02.2023

Otentica is opgericht om het screenen van kandidaten en medewerkers te versnellen, vergemakkelijken en veiliger te maken. Dit wordt bewerkstelligd door een grote applicatie welke met vele applicaties van derde partijen communiceert om geverifieerde data te kunnen leveren. Voor dit project werd gebruikgemaakt van Java met Spring Boot voor de backend en Angular voor de frontend. Samen met één andere developer was ik verantwoordelijk voor de complete lifecycle van het product. Dat wil zeggen:


  • Het uitdenken/bouwen/toevoegen van nieuwe features (zowel front- als backend)
  • Complexe (geäutomatiseerde) tests uitvoeren en bouwen
  • Deploymentscripts beheren/aanpassen
  • Deployments uitvoeren naar verschillende omgevingen
  • De VPS beheren
  • De PostgreSQL databases beheren
  • DB migratiescripts schrijven
  • De architectuur uitwerken en implementeren


Gebruikte technologieën:

  • Java 17+
  • Spring boot
  • PostgreSQL
  • Flyway
  • JPA + Hibernate
  • Docker
  • Angular
  • Selenium

Senior Java Developer

de Volksbank
07.2021 - 08.2022

Binnen Volksbank werkte ik samen met mijn team aan het uitfaseren/herbouwen van de oude CRM applicatie. Omdat onderdelen van deze legacy-applicatie enkel nog werken middels Internet Explorer en Internet Explorer vanaf juli 2022 zou verdwijnen, moest deze applicatie met grote spoed vervangen worden. De focus lag voornamelijk op het ontsluiten van de bestaande klantcontactgegevens en de mogelijkheid om nieuwe te kunnen registreren. Dit project was een bijzonder complexe uitdaging omdat er vrij weinig echt bekend was over de legacy-applicatie en we enkel vanuit een nieuw design moesten redeneren.

“Het is alsof we een USB-C stekker middels verschillende adapters aan een Scart stekker moeten zien te koppelen.”
– aldus het team

Om te voorkomen dat de nieuwe applicatie uiteindelijk niet te onderhouden werd qua complexiteit, is er rekening gehouden in de architectuur met het in de toekomst compleet los kunnen koppelen van de legacy-database. Er lag al langer een wens om met een eigen, vernieuwde database te gaan werken. Maar helaas waren systemen bij de Volksbank nog teveel in elkaar verweven. De oude legacy-database werd nog volop gebruikt door het data warehouse voor het maken van allerlei analyses.

Naast dit project hebben applicaties verhuisd naar de cloud (AWS + Kubernetes). En migreerden we verouderde Java 6/8 applicaties naar Java 11/17.


Gebruikte frameworks, technologieën en technieken

  • Java 8 & 11
  • HTML
  • CSS
  • JavaScript
  • Typescript
  • Spring (Boot)
  • Hibernate
  • Angular
  • Kubernetes
  • Jfrog Artifactory
  • SonarQube
  • Sonatype Nexus
  • Docker
  • Microsoft SQL Server
  • Jira
  • Maven
  • BitBucket
  • Jenkins
  • XlDeploy
  • SOLID
  • EFK (ElasticSearch, FluentD, Kibana)
  • Confluence
  • Scrum/Agile
  • Design Patterns
  • REST
  • CI/CD
  • TDD
  • Clean Architecture
  • Ports & Adapters Architecture
  • Microservices

Java & C# Developer

KVK
09.2018 - 07.2021

Als onderdeel in de online opgave-ketens van de KVK (dat wil zeggen, de ketens voor het online registreren/muteren van gegevens in het handelsregister), heb ik een applicatie gebouwd die verantwoordelijk is voor het asynchroon verwerken van alle digitaal ondertekende opgaves. Dit zijn er zo´n 25000 per week.

Tevens werkte ik samen met het IAM team van de KVK om de login-pagina's te verbouwen en migreren zodat er gebruikgemaakt kon gaan worden van OpenID Connect in plaats van SAML. Hier heb ik veel geleerd over OAuth2 en OpenID Connect.


Ik heb aan verschillende andere applicaties binnen deze ketens meegewerkt aan het verbeteren en implementeren van features. Dit zijn zowel C# .NET Core applicaties als Java applicaties.

Voor C# en Java applicaties heb ik met mijn team een grote set aan generieke libraries ontwikkeld om boilerplate code te verminderen, complexiteiten te delegeren en time2market omlaag te brengen.

Door gebruik te maken van Clean Architecture in alle werkzaamheden, zijn alle libraries en applicaties goed onderhoudbaar/aanpasbaar.

Middels TDD kon ik garanderen dat de applicatie te allen tijde een hoge test coverage had en kon ik zonder stress deployen naar productie.

Ik heb bijgedragen aan het verbeteren van de logging en monitoring door het implementeren van tracing. Hierbij maakte ik gebruik van de EFK stack.

Ik heb altijd met Gitlab CI/CD pipelines gewerkt in combintatie met Kubernetes/Docker om mijn applicaties gecontaineriseerd te deployen en beheren.

Education

Gecertificeerd Software Engineer - Software Engineering

MakeITWork - Omscholingstraject Van De HVA
Amsterdam/Hilversum
04.2018 - 04.2019

Bachelor of Arts - Music Performance

HKU - Conservatorium
Utrecht
09.2009 - 05.2012

Timeline

Senior Java Developer

ING
03.2023 - Current

Senior Java Developer

Otentica
07.2022 - 02.2023

Full-stack Kotlin/DevOps Engineer

Compilit
03.2022 - Current

Senior Java Developer

de Volksbank
07.2021 - 08.2022

Java & C# Developer

KVK
09.2018 - 07.2021

Gecertificeerd Software Engineer - Software Engineering

MakeITWork - Omscholingstraject Van De HVA
04.2018 - 04.2019

Bachelor of Arts - Music Performance

HKU - Conservatorium
09.2009 - 05.2012

Hobby's

  • Muziek maken (gitaar, contrabas, basgitaar)
  • Koken
  • Lezen
Bastiën BonselSenior Software Engineer