<hi>I'm Stijn</hi>

I'm a software engineer
with a for Java & web

Yep, that's me...
slow dancing with a laptop

arrow

In 100 words

My passion lies in software development, because it is the place where logical thinking and creativity meet each other, stilling my endless appetite to make things better.

Thriving in motivated teams, I keep an eye out to seek out opportunities to mentor and guide coworkers and help everyone reach their full potential, in every aspect.

I always try to push my limits by getting involved in all kinds of projects, as well professionally as in my spare time. While I focus on the latest advancements within the Java world, you'll also find me tinkering with machine learning, design, cloud, ...

Projects

Vind een werknemer en vacature

2023-now, lead developer at VDAB

VDAB, which stands for "Flemish Service for Employment and Vocational Training," is a government organization in Belgium that primarily focuses on the labor market in Flanders.

I lead the PONOS team, which is responsible for services for employers. We assist them in finding and matching the best candidates for the job.

While this might not sound particularly glamorous, it has been quite a rollercoaster ride. We're navigating a mix of both outdated and cutting-edge technologies, all while managing a team of up to 20 people to meet extremely tight deadlines.

<tech>Spring Boot, Prometheus, Grafana, Microservices, CQRS, Domain Driven Design, Kafka, Axon, Angular, AWS S3, Openshift, Docker, Kubernetes, Flyway</tech>
Vind een werknemer en vacature

Inzicht and CEBUD

2021, Presales at Thomas More

Presales investigation into the necessary steps to make an existing older applications deployable in the cloud, and maintainable by a third party.

Over several days, I conducted an in-depth investigation into the state of the applications and what modifications are necessary to achieve the set objectives. I documented this in a comprehensive report.

<tech>Java EE, Ruby on Rails</tech>
Inzicht and CEBUD

Woonzorgcentra, mobiliteitshulpmiddelen and gespecialiseerde zorg

2019 - 2023, Lead & senior developer at Smals

A portal designed for handling all reimbursements related to admissions in hospitals, elderly care, mobility aids and revalidations. Acquired data is validated using a rule engine to subsequently calculate the reimbursement amount.

The challenge lies in the enormous amount of data that need to be processed in a timely and reliable fashion. This is where a microservice-based architecture comes in place, using CQRS with event sourcing and domain driven design. We also treat medical information, which needs to be stored in a GDPR-compliant and secured way.

<tech>Spring Boot, Prometheus, Grafana, Microservices, CQRS, Domain Driven Design, Event sourcing, Angular, Spring Security, AWS S3, Openshift, Docker, Kubernetes, Flyway, Gitlab CI</tech>
Woonzorgcentra, mobiliteitshulpmiddelen and gespecialiseerde zorg

UnionVMS

2016 - 2019, lead developer at Flemish government Agriculture & Fisheries

The European fishery business is going through a big transition. The European Union demands more communication between the member states, in a unified way.

Our team contributed as Belgium to several open-source microservices in order to exchange and inspect info about fishery sales. An amazing project which involved international collaboration and reverse-engineering communication with sattelites.

<tech>Java EE, Microservices, JMS, Spring Boot Batch, Angular, Elastic Search, Drools, SoapUI, Azure, Liquibase, Jenkins</tech>
UnionVMS

Price & Promotion

2016, lead developer, coach, innovator at Colruyt

In 2016, Colruyt was making a big switch, from mainframe-based applications to Java EE web applications.

During my time at Colruyt, I've had a very broad role. I've spent my time on:

  • projects
  • coaching, by pair-programming, writing tutorials and giving presentations
  • bringing the right people together, to introduce improvements in their tooling
  • researching what their current tools can do, and where they are limited
<tech>Java EE, Dynatrace</tech>
Price & Promotion

B-ERRU

2015 - 2016, lead developer, coach at FPS Mobility and Transport

The European Union has developed the European Register of Road Transport Undertaking. The purpose is for every member state to exchange information about professional transportation.

FOD Mobility Transport is responsible for the Belgian implementation, called B-ERRU. This was implemented in Cool-Gen technology. We got the assignment to migrate this to a Java + Angular JS project.

<tech>Java EE, AngularJS</tech>
B-ERRU

Eva and Lise get married!

2015, developer

Friends of a colleague, Eva and Lise, were getting married! They didn't want any wedding presents. But, you know how it goes: no-one will likes to come empty handed, so everyone would still buy a present. So, let's think out of the box...

<tech>web, PHP</tech>
Eva and Lise get married!

Contributions

2014 - 2015, developer at Smals

In 2011, France had a big problem with leaking breast implants.

In order to avoid the same issue in Belgium, we have built several applications for tracking these implants. To subsidize these applications, the Belgian government decided to tax companies who work in the world of medical implanted devices.

Contributions is the application which calculates and invoices taxes. Even more: we make it possible for the business to adapt the business rules and -flow themselves!

<tech>Activiti, Java EE, Primefaces</tech>
Contributions

SADN

2014, developer at Smals

In 2011, France had a big problem with leaking breast implants.

In order to avoid the same issue in Belgium, we were asked to build a web application which registers, checks and does a follow-up of everything that has to do something with medical implanted devices.

<tech>Java EE, Primefaces</tech>
SADN

Insisto

2013 - 2015, developer at Smals

Insisto is a great initiative from the Flemish government to streamline youth care management.

Youth care in Flanders is organized at several levels, by several instances. Insisto is web application which makes all information accessible and transparant for all these parties.

<tech>Java EE, Primefaces</tech>
Insisto

Management of special proxies

2013, intern developer at VDK Spaarbank

I did an intership of 3 months at VDK Spaarbank (Savings Bank). At the IT department, I built a Silverlight application that uses a 3-tier back-end.

My task was to build an easy-to-use application with which such special rules can be set up. I could count on the support of great colleagues, which made it a great internship.

<tech>Silverlight, C#</tech>
Management of special proxies

Keywi

2010 - 2014, developer at Virtual Ignition

For a startup company, I've helped developing and integrating Keywi.

This is a little box that allows cars to be opened with your smartphone. This helps sharing your car, which would lead to having less cars in the world!

<tech>Android, PHP, C</tech>
Keywi

Tapazz

2010 - 2014, lead developer, designer at Virtual Ignition

On average a car is only used less than 2 out of the 24 hours a day. By renting your car when you don’t need it, you’re able to save a lot of money. In this way you won’t only earn some money with your stationed car but you also take care of the environment.

<tech>PHP, Android, iOS</tech>
Tapazz

Heritage Bank Herzele

2013, developer, designer at The city of Herzele

The city Herzele asked the students Applied Informatics to build a site on which people could find all the beautiful heritage Herzele has to offer. The content on that site must be easily modifyable with an back-end Java application. The best work would be selected as the official website.

And guess who won! :D

<tech>Java SE, ASP .Net MVC</tech>
Heritage Bank Herzele

Labs

This portfolio

2023 - 2024

A personal portfolio that is super-simple to maintain, using as little code as possible and providing all contents via YAML and Markdown files. All this wrapped in a minimilastic design. And the best part? I'm having a blast experimenting with SvelteKit while doing this!

This portfolio

Wedding

2023

We're tying the knot! Being a developer, I couldn't resist the urge to add a tech twist to our wedding preparations. So, we're sending out our invitations uniquely - as QR codes! Simply scan to RSVP on our specially designed website. This also gives me the perfect opportunity to experiment with some React, Parcel, and Nest. Let the coding and celebrations begin!"

Wedding

Birthlist

2021

I'm thrilled to announce that I've become the proud father of Tibo. While many opt for a single store to manage their birth list, we decided to take a different route. I'm excited to create a more personalized birth list myself, allowing us to shop at different stores.

Birthlist

Portal

2018 - now

Jumping on the microservices craze (which allows me to experiment with all kinds of technologies), I've built a personal portal. It's helping me simplify my life. Or at least, that's the purpose :)

Portal

Unitils Selenium Extension

2014, developer

At the time, Unitils was an awesome Java framework that simplifies writing automated tests.

I wrote an extension on unitils-selenium to make it possible to record Selenium tests as video files.

<tech>Java</tech>
Unitils Selenium Extension

Nostalgia

2010 - now, developer, designer

I've been fascinated by computers for as long as I can remember. Out of nostalgia, I like to keep some older stuff around.

<tech>PHP, Angular, Java SE, Java EE, ASP .Net MVC</tech>
Nostalgia

Studies and trainings

Kafka deep dive

2024 at Cloud Guru
Kafka deep dive

Certified Kubernetes Application Developer

2023 at The Linux Foundation
Certified Kubernetes Application Developer

Software Architecture: Principles and Practices

2019 at Software Engineering Institute Carnegie Mellon University

This course introduces the essential concepts of software architecture. A software architecture is an abstract view of a software system distinct from the details of implementation, algorithms, and data representation. Architecture is, increasingly, a crucial part of a software organization's business strategy.

Software Architecture: Principles and Practices

Coaching and leading a team

2016 - 2018 at Cevora

Multi-day trainings about the basics of leading a team, and how to deal with conflict situations

Coaching and leading a team

SOA Certified Professional

2017 at Arcitura
SOA Certified Professional

SCRUM, Kanban and SAFe

2016 at Realdolmen
SCRUM, Kanban and SAFe

Teambinding for ICT-teams

2015 at Cevora

Read people and react intelligently with the aid of the Insights-framework.

Teambinding for ICT-teams

Oracle Certified Expert, Java EE 6 Java Persistence API Developer

2015 at Oracle
Oracle Certified Expert, Java EE 6 Java Persistence API Developer

Web application security

2014 at SAI

An introduction to the basic security measures in order to not only build a great web application, but also a safe one.

Web application security

Oracle Certified Professional, Java SE 7 Programmer

2014 at Oracle
Oracle Certified Professional, Java SE 7 Programmer

Oracle Certified Professional, Java SE 7 Associate

2013 at Oracle
Oracle Certified Professional, Java SE 7 Associate

The Realdolmen Java AcADDemICT-traject

2013 at Realdolmen

This Java developer training program, spanning at least ten weeks, equips participants with essential technical skills for efficiency. It covers JavaEE, Spring, JPA, Hibernate, EJB, JSF, Web Services, and more, taught by seasoned consultants actively using these technologies in their projects.

The Realdolmen Java AcADDemICT-traject

Thesis

2013 at HoGent

Start-ups in the IT-world: the lean start-up method

Thesis

Bachelor's degree Applied Informatics

2010 - 2013 at HoGent
Bachelor's degree Applied Informatics

Blogposts

Make sense of your logs with Elastic Search - part 5: be a data wizard with Kibana

2019-04-20

We mapped our log lines to useful fields. Now, it's time to deliver: let's visualize our data with Kibana. At the end of the road, we'll be able to search through our logs, discover new connections by visualizing data and... finally make sense of your logs.

Make sense of your logs with Elastic Search - part 5: be a data wizard with Kibana

Make sense of your logs with Elastic Search - part 4: mapping log lines to useful data with Logstash

2019-04-13

In the previous part, we've set up the first component in the process: Filebeat. This component sends all the log lines to Logstash. We will now configure Logstash to interpret the log lines and map it to useful, searchable, filterable and groupable data.

Make sense of your logs with Elastic Search - part 4: mapping log lines to useful data with Logstash

Make sense of your logs with Elastic Search - part 3: reading log lines with Filebeat

2019-04-06

In the previous parts of this series, we've discovered what Elastic Search is and how it can help us analyzing our logs.

In the previous part, we've downloaded and installed the necessary software. Now, the time has come to configure the components, starting with: Filebeat.

Make sense of your logs with Elastic Search - part 3: reading log lines with Filebeat

Make sense of your logs with Elastic Search - part 2: what is Elastic Search?

2019-03-30

Ok! Hopefully we're now at a point where we have logs with timestamps, tons of information, all structured in a recognizable way.

Let's now pump our logs in an Elastic Search database, so that we can start searching, filtering, distilling information out of them!

Elastic Search, work your magic please! Right?

Make sense of your logs with Elastic Search - part 2: what is Elastic Search?

Make sense of your logs with Elastic Search - part 1: tips to improve your logs

2019-03-14

In my current project, when something goes wrong, we have trouble finding out what and where exactly.

Why? Can't we just see what happens in the logs?

Yeah… but with great effort… We have several issues making sense of our logs.

In this article, I'll demonstrate how Elastic Search can help us to address these needs.

Make sense of your logs with Elastic Search - part 1: tips to improve your logs

Building an app for my grandmother: barriers and solutions

2019-02-10

One of my grandmothers has difficulties hearing. Doing phone calls has become impossible, even with adapted phones that yell in your ear.

To avoid losing contact, we've tried to teach her how use send texts over sms. This wasn't a great success: the keyboard confused her, there were too many steps, too many buttons: it went wrong easily.

Hell, I'm a developer. I surely can come up with an appropriate solution, right? I've got an old Samsung Galaxy S5 lying around that my grandmother can use... so let's develop an easy mail app!

Building an app for my grandmother: barriers and solutions

Help! An unremovable Docker network!

2018-09-07

Due to disk space problems, I've experienced a weird issue which causes a network to become unremovable. This is how I've solved it...

Help! An unremovable Docker network!

Want to save a failing project? Be positive!

2018-02-08

In my few years as consultant software developer, I've been in great projects. Some went exactly as planned, smooth as a whistle. Others went completely wrong, rendering the team and myself stressed or even furious.

I've had the luck - yes, luck - to start in a big project that was completely failing. Every day, we were struggling with what had to be delivered, an enormous list of bugs that needed to be fixed, and the constant updates that we needed to release. Working late nights were no exception.

"How can we ever save this project?", was the big question. Serious change was needed, but there was no time, no money, no environment to support it. What to do?

Want to save a failing project? Be positive!

Experiments with Arquillian on Wildfly

2017-11-11

For my current project, the need for deep integration tests rises.

A few years ago, there was a lot of buzz about Arquillian, a framework that let's you setup Integration tests for a Java EE environment.

Basically: It lets you run JUnit tests on a server. This allows you to create realistic integration tests.

Now that the framework has matured, let's experiment with the Arquillian test framework! I want to see what it can and cannot do.

Experiments with Arquillian on Wildfly

Best practices in open source projects

2017-05-23

How can you collaborate when you don't have any guarantees about the members of the team, their availability, their goals or their deadlines?

Being dependent on open source software is a risk. You can lower the risk by following best-practices. In this article, I try to define the most important practices.

Best practices in open source projects

Make your Primefaces app load faster with lazy loading

2014-08-14

Every web developer has experienced this before: the client wants to show "almost everything" on the same page, but is very unhappy when he opens the site and has to look at a blank page for more than a couple of seconds.

Nowadays, developers have the means to optimize a lot (and fix everything that broke in the process), but we still cannot cast a magic “load superfast” spell and get rid of all loading time. Can we do more?

Make your Primefaces app load faster with lazy loading
Me and my son

Stijn Hooft

Software engineer, specialized in Java and web technologies

Mail LinkedIn Github