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.
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:
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:
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.
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:
Gebruikte technologieën:
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
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.