I am a senior software engineer with over 34 years of experience.
I've been active in the following business domains: finance, mobile telecom,
medical imaging, medical blood analysis & port infrastructure.
As an analyst, I liaise customers and other stakeholders with
the development team, to transform requirements into working
software.
I am an excellent team player with a keen interest in group
dynamics.
Sr. Java Developer at Port of Antwerp-Bruges
May 2023 — January 2025
Amaris develops all software for Port of Antwerp-Bruges.
Responsibilities
Technical Skills
Added functionalities to a wide range of applications:
- APICS: extending functionality, both backend and frontend
(Adobe Flex)
- Combase: CBS-messages.
- APICSNG: Angular related changes to the new APICS frontend. (storm procedure
changes)
- Adaptions to Jenkins pipelines.
- Location: added new REST-endpoints (Spring-boot application)
- Apics-berth: check depth of ship vs depth of berth
- Apics-portsituation: storm procedure implementation.
- Antwerp-port-maps: adding new functionality.
- Port Asset Meldingen: Full backend development & integration with IBM Maximo,
Jira Servicedesk and Microsoft Power Platform.
- Java 11, 17 & 21
- Oracle 19 & 21
- Amaris-frame
- Guice 4
- Spring boot 2 & 3,
- JPA 2
- Angular 16
- Adobe Flex
- Apache Kafka
- Resteasy REST-services
- Maven
- ELK-stack
- Docker
- Kubernetes
- Junit & Mockito
- Jackson (XML & JSON)
- Gitlab
- Nexus
- SonarQube
- Jetbrains IntelliJ
- Jenkins (devops)
Sr. Developer at Resengo
Mar 2022 — April 2023
Resengo is an online reservation platform for restaurants, spa’s, hotels, …
See resengo.com
Responsibilities
Technical Skills
- Extend functionality for the online reservation system
using a mixed breed of old and new .NET technologies.
Depending on the module, the frontend was written in
Angular 13, Angularjs 1.5 or Reactjs 17
- Implementation of location-based search.
-
Migrating old modules of the Resengo platform written in
ASP.NET with VB-script towards a microservice architecture in
C#, using react as frontend.
- C#
- EF Core 6.0
- .NET 6.0; 4.5 and 3.1
- ASP.NET
- VB-script
- SQL-Server
- Azure
- Docker
- Angular 13
- Angularjs 1.5
- React 17
- Jetbrains – Rider
Sr. Java Developer at Port of Antwerp for Amaris/Brabo
Jan 2020 — February 2022
Amaris develops all software for Port of Antwerp-Bruges.
Brabo is a subcontractor for the port dealing with pilots, mooring,
unmooring of ships and various other port related tasks.
Responsibilities
Technical Skills
- Extend Brabo functionalities, separating Brabo code as a first step into transforming it
into a microservice.
- Terminal planner: backend development in Amaris-frame, frontend Angular 8.
- Nautical messages: Spring boot 2 and angular 9.
- APICS: extending functionality and interacting with previous mentioned applications.
- Participant in a pilot project for migrating from Amaris – frame towards Spring Boot
2.
- Java 8 & 11
- Oracle 12 & 19
- Amaris-frame
- Guice 4
- Spring boot 2,
- JPA 2
- Angular
- Adobe Flex
- Apache Kafka
- Resteasy REST-services
- Maven
- ELK-stack
- Docker
- OpenShift (Kubernetes)
- Junit & Mockito
- Jackson (XML & JSON)
- Gitlab
- Nexus
- SonarQube
- Jetbrains IntelliJ
Sr. Full Stack Developer at Cegeka for Viollier
February 2018 — December 2019
Viollier is a Swiss medical laboratory that specialises in all kinds
of analyses. Doctors go through a website to order their blood
analyses or give tissue samples.
Results can be viewed on either website or mobile phone.
I aided in the development of both back and frontend using a wide
array of technologies
Responsibilities
Technical Skills
- Extend V-Consult application both back and frontend.
V-consult is the part where new analyses orders are
entered
(Spring 4, Webflow, JSF 2.0, Primefaces, DB2)
- Co-created Patient-UI
Application where doctors give consent to patients for
viewing their analyses results, based on their mobile
phone. Runs embedded in v-consult
(Angular 7)
- Extend Consult-API
Application where analysis results are stored
(Spring boot, Couchbase, REST-services)
- Extend Consult-UI
Application where doctors can see the laboratory results of
the analyses they’ve requested.
Runs embedded in v-consult.
(Angular 1.5)
- Extended Notification-API
Application that sends SMS to doctors when critical or
urgent results have come in from the lab.
(Firebase cloud messaging)
- Extended User-Management:
Application that deals with doctor and patient accounts,
access rights and registration tokens for the mobile apps.
(Spring boot, Firebase, Axon framework (CQRS), Swagger
- Java 8
- RxJava
- Swagger
- Angular 1.5 and 7.0
- RxJS
- Jasmine, Karma, Protractor
- Geb and Sahi
- Javascript ECMAscript 6
- Typescript
- Active MQ
- Apache Kafka
- Spring 4 & Spring boot 1.5, Data JPA, webflow, MVC, HATEOAS
- CQRS (Axon Framework)
- JSF 2.0 with PrimeFaces
- Firebase cloud messaging
- Zookeeper
- Junit / Mockito / JMockit
- Docker
- DB2, hsqldb
- Couchbase 5.5 (NoSQL)
- Gradle / Maven / Git / Jenkins / Rundeck / Nexus / Artifactory
- Jira & Confluence
- ELK-stack
- Jackson (XML & JSON)
- Postman
- SOAP webservices (interface with AS400)
- Jetbrains IntelliJ IDE
- Sonarcube
- Kubernetes (followed in house course, no hands-on experience.)
Sr. J2EE Developer NOVA-Project at Essent
March 2017 — January 2018
NOVA is a pilot project for “Utilities as a Service”: an online
platform for energy suppliers to manage B2B and B2C user’s gas
and electricity.
NOVA deals with all aspects of market communication, invoicing, changing energy supplier, etc…
Responsibilities
Technical Skills
- Adapted the Activiti workflows to make them compliant with the Belgian energy market
MIG6.
- Setting up Energycomm in a Docker container for local testing purposes.
- Implemented bidirectional market communication for MIG6. (XML)
- Extending bidirectional market communication for MIG4. (XML)
- Creating / adapting REST endpoints.
- Implemented end to end MIG6 tests using JMockit and Mockito.
- Stepped in PHP7 development of the frontend, based upon SuiteCRM.
- Making the bi-weekly release of Java components.
- Rewriting the release jobs in Jenkins (pipeline script).
- Java 8
- Alfresco Activiti (workflow)
- Camel
- Active MQ
- Spring 4 (REST services)
- Lombok
- Junit / Mockito / JMockit
- Docker / Vagrant
- PostgreSQL / MySQL
- Maven / Git / Jenkins (pipeline) / Nexus
- Confluence development stack: (Jira, Bitbucket)
- Jetbrains (IntelliJ, PHPStorm, Datagrip)
- Energycomm (MIG4 & MIG6)
- XML / JSON(-schema)
- Postman
- PHP7 / SuiteCRM (some knowledge)
- Codeception / Mockery (some knowledge)
Sr. J2EE Analyst / Developer ROCS-project at Siemens
September 2014 — February 2017
ROCS is a concentration software layer for the Belgian railways.
It interconnects 30 signalling boxes so they can be controlled by a
single traffic management system.
Responsibilities
Technical Skills
- In a team of five people, I performed the initial project setup. Including Maven,
Artifactory, Jenkins & Git.
- Wrote design documents regarding:
- Train movement lines.
- Interaction with Traffic Management System (TMS), by means of JMS.
- Interaction with individual signal boxes. (I.e. interface with legacy
systems.)
- Implementation of interface between ROCS and TMS using JMS, XML, Spring JMS, ActiveMQ &
Tibco EMS.
- Implementing various aspects of movement line transformation. (1 TMS movement line needs
to be split up in partial movement lines for each signalling box.) using Spring data,
JPA, Infinispan IMDG, Hibernate, PostgreSQL
- Implementation of interface between ROCS and signalling boxes using Spring JMS &
ActiveMQ.
- Implementation of various fixtures to aid the integration test team, using FitNesse &
Spring.
- Implemented various POCs for high availability/failover using Apache Storm & AKKA.
- All features developed are tested automatically using JUnit & FitNesse.
- Wrote heart of ROCS-emulation: VNC images over sockets and DDS.
- Java 8
- Javaslang 2.x (vavr.io)
- RxJava (ReactiveX)
- Java FX
- Spring 4 (Core, Data, JPA, JMS)
- Hibernate
- JPA
- JBoss Infinispan 7 In Memory Data Grid
- Apache Storm
- AKKA
- XML
- JAXB
- Git
- Maven
- Artifactory
- Jenkins
- SonarCube
- Jira
- Stash
- JUnit
- JMockit
- FitNesse
- PostgreSQL
- Tibco EMS
- ActiveMQ
- IntelliJ IDEA
Business Analyst / Sr. Developer MAERSK-project at SunGard
January 2012 — Augustus 2014
TRAX is a payment factory for SWIFT.
Banks, pension funds and large corporations use TRAX for their payments.
Responsibilities
Technical Skills
- Wrote the scoping document (Project Definition Study),
which is a key part of the contract between A.P. Møller
Maersk (APMM) and SunGard. This includes scope for
payment types, banks and countries.
- Perform bank analysis for payment formats and types
(ISO20022 PAIN.001.001 SCOR and CGI, pain.002.01.x,
camt053, camt052, Swift MT101, MT94x, MT9xx). This
involves > 900 payment types with ±10 banks in over 80
countries.
- Co-inventor of payment type classification, enrichment and
validation framework (CEV-framework), currently part of
Trax product)
- Organize user acceptance test sessions with APMM and
banks, globally.
- Writing user stories for sprints (scrum methodology)
- Supervise test coverage of the acceptance tests.
- Interface analysis from ERP to bank and back.
- Walkthrough with APMM on ERP interfaces.
- Wrote tool that generates CEV-rules automatically from
MS-Excel.
- Coach other BA’s with their payment type analysis.
- Setup Swift communication with banks.
- Stakeholder analysis
- Interface analysis
- Data modelling
- Business process modelling
- Wire frames
- User stories, backlog (scrum)
- Non-functional req.
- Requirement workshops
- Observations
- Interviews & surveys
- Structured walkthrough
- Defect tracking
- Lessons learned
- Java 1.6/1.7
- J2EE (JBoss)
- Webstart
- EJB’s (2.1)
- Hibernate
- Oracle 11
- Subversion
- Maven
- JUnit
- Apache POI
- Velocity macro
- IntelliJ IDEA
- Swift FIN/FileAct
Senior Developer ING-project at SunGard
January 2011 — December 2011
TRAX is a payment factory for SWIFT.
Banks, pension funds and large corporations use TRAX for their payments.
Responsibilities
Technical Skills
- Perform various conversions from in-house ING mainframe formats to Swift MT9xx and
ISO20022 CAMT05x XML.
- Coding & unit tests account statements workflows.
- Customisations for account statement screens.
- J2EE (Websphere 6.1.2)
- Webstart
- EJB’s (2.1)
- Hibernate
- Oracle 10
- Subversion
- Ant
- JUnit
- IntelliJ IDEA
Senior Developer at Clear2Pay
January 2010 — December 2010
C2P’s eBanking is a revamp of an existing product from C2P.
Responsibilities
Technical Skills
- Write various code generators based upon excel-sheets given to me by the BA’s.
- Parsing and validation Swift MT9x files, integrating in eBanking
- Developing server side business logic of eBanking.
- J2EE (Websphere 6.1.2 & WID)
- EJB’s 2.1
- Oracle 11
- Hibernate
- C2P’s OPF framework
- Junit
- Apache POI
- Velocity
- Subversion
- CenOS (linux)
Senior developer ITG (Integrated Traffic Guidance) at IXOR
August 2009 — December 2009
IXOR’s Integrated Traffic Guidance allows monitoring of various
parkings across a city. It keeps track of available spaces in those
parkings and routes this data towards various types of indicator
boards in the city.
Responsibilities
Technical Skills
- Extend the REST communication between client and server & add basic authentication.
- Add audit log capabilities.
- Add new protocols for new parking and board types.
- Issue resolving.
- J2EE (JBoss)
- Webstart
- Groovy
- Spring 2.5
- Spring AOP
- REST
- Liquibase
- JPA
- Postgres
- Subversion
- Maven2
- JUnit
Senior developer KPN-Project at SunGard
January 2009 — June 2009
TRAX is a payment factory for SWIFT.
Banks, pension funds and large corporations use TRAX for their payments.
Responsibilities
Technical Skills
- Extending the TRAX-framework to make it suitable for KPN.
- Implementing CMS-security (signing & encrypting) for payment envelopes.
- Implementing FTPS and SFTP connectivity for ING and ABN-AMRO banks.
- Coding & unit tests of bulk payment and account statements.
- Development unitary payment screens.
- J2EE (JBoss)
- Webstart
- CMS-security
- FTPS and SFTP libraries.
- EJB’s (2.1)
- Hibernate
- Oracle
- Subversion
- Ant
- JUnit
- Bouncy Castle
Senior developer Philips-Project at SunGard
July 2008 — December 2008
TRAX is a payment factory for SWIFT.
Banks, pension funds and large corporations use TRAX for their payments.
Responsibilities
Technical Skills
- Extending the TRAX-framework to make it suitable for Philips.
- Integrate the TRAX-framework with SAP-XI
- PGP-encryption of payment data
- Implementing validation and conversion rules.
- Coding & unit tests of unitary payments, bulk payment and account statements.
- Websphere 6.1
- Webstart
- SAP-XI web service integration.
- EJB’s (2.1)
- Hibernate
- Oracle
- Subversion
- Ant
- JUnit
- Bouncy Castle
- JProfiler
Lead developer ABP-Project at SunGard
January 2007 — June 2009 (part time)
TRAX is a payment factory for SWIFT.
Banks, pension funds and large corporations use TRAX for their payments.
ABP uses TRAX with TIBCO to perform monthly payments in the scale of € 5.000.000.000,00
SunGard regards the ABP-project as a reference for TRAX in The Netherlands.
Responsibilities
Technical Skills
- Extending the TRAX-framework to make it suitable for ABP. (TIBCO–EMS connectivity)
- Performance enhancements of the TRAX-framework for reporting purposes.
- Coding & unit tests of unitary and bulk payment, account statements (business logic)
- Development unitary payment screens.
- Integration with ABP (TIBCO-EMS, secure queues)
- JBoss configuration for use of TIBCO EMS instead of JBossMQ.
- J2EE (JBoss)
- Webstart
- TIBCO EMS
- EJB’s (2.1)
- Hibernate
- SQL Server 2005
- Subversion
- Ant
- JUnit
Senior developer IKEA-project at SunGard
January 2007 — June 2007 (part time)
TRAX is a payment factory for SWIFT.
Banks, pension funds and large corporations use TRAX for their payments.
Responsibilities
Technical Skills
Responsible for coding and unit testing of unitary payments and (intraday) account statements.
- J2EE (JBoss)
- Webstart
- Tibco EMS
- EJB’s
- Hibernate
- Oracle 10g
- Subversion
Senior J2EE-Developer at Telenet
July 2007 — June 2008
TINA is a web application for BROBA wholesale.
Responsibilities
Technical Skills
I was involved in a large offshore development project.
My main responsibilities were data clean-up and implementing new features using JSF, Spring and
Spring WebFlow.
I also performed root-cause analysis for data-corruption in the system.
- J2EE (Weblogic)
- Spring
- Spring WebFlow
- Struts and later JSF
- Hibernate
- Maven
- Oracle
- BPM
- SOA
- CVS
Senior Java-Developer at IXOR for Meteo
October 2006 — December 2006
METEO is a webstart application used in forecasting frost on Flanders’ highways.
Responsibilities
Technical Skills
I designed and implemented the thermal map, which reads data from the Vaisala webservice and
stores it in a database.
I designed and implemented the GUI part, which displays the thermal map of Flanders.
- J2EE (JBoss)
- Spring
- Hibernate
- SOAP / WSDL (webservices)
- SAX-parsers
- Swing
- Ant
- Postgres
- Subversion
Senior Analist/Developer at Siemens for Mobile Presence Management
April 2005 — August 2006
CSDM is a presence and availability manager used in mobile networks. (MSN for mobile
phones).
Responsibilities
Technical Skills
- I designed and implemented the digest authentication for this web service.
Implemented a JCA1.5 connector, which interacts with the HSS legacy system using the
SH-interface over
diameter protocol.
- I analysed, designed and developed various cross-product common components for
performance
monitoring, Flex LM licence manager, and active subscriber licences.
- I extended an existing framework (WMEE) so code generation for JUnit tests was done.
- J2EE (SJSAS 8.1)
- EJB2.1
- JCA1.5 (connector)
- XML
- SOAP/WSDL
- Digest Authentication
- SH and Diameter protocols
- JMeter
- JUnit
- Tomcat
- Oracle 10
- Spring
- WMEE
- Flex Licence Manager API
Senior Analyst & Lead-Developer at Proximus
January 2004 — March 2005
NSUP and NSAP are applications that are accessed during call setup.
Responsibilities
Technical Skills
- Lead developer for NSUP and NSAP a session bean façade for LDAP accessed by other
applications to get user and application profiles.
This carrier-grade application sustains an average load over 450TPS in a clustered
environment.
I did full roundtrip development cycles.
- In FIONA, I wrote parts of the SOLA (Solution Architecture and Design) document.
- In FIONA, I designed and developed the connections of the provisioning system with JMS,
TIBCO-RV and MDS/SAS.
I also extended the workflow engine with fork- and join tasks.
FIONA processes provisioning changes at a sustained rate of 600 TPS!
- In IFTAT (Integration Framework Test Automation Tool), I was the co-architect of this
webservice based test automation tool.
This tool was compliant with MM7 and LIF-protocols used by MMS and LBS (Location Based
Services)
- Use Cases / UML
- SOLA documentation (Apollo process, PMI derivate.)
- Java/J2EE
- Silverstream 4.0
- BEA WebLogic 8.1
- Oracle
- Sybase
- JCA 1.0
- JMS
- JMX
- TIBCO-RV
- XML / SOAP / WSDL
- Axis
- Rational Rose
- JMeter
- JUnit
- Tomcat
- Sun One LDAP
Technical Project Lead at Smals-MVM
March 2003 — November 2003
DmfA is a web application used for declaring contributions to the Belgian social security
system.
Responsibilities
Technical Skills
I coordinated the work of 7 developers.
I was responsible for requirement capturing, implementation of an enrichment component and
integration testing.
Daily scrums were held for monitoring project progress and unblocking team-members.
- Java/J2EE (Weblogic 6.1)
- EJB
- XML (Xerces)
- JUnit
- Use Cases
- TogetherJ
- RUP
- Scrum
Senior Analyst/Developer at Agfa-Gevaert for Delano
November 2001 — July 2003
Delano is a web-based workflow and online proofing system for the printing industry.
Responsibilities
Technical Skills
I participated in the initial requirements capturing with use cases.
I wrote parts of the server side workflow logic and persistence layer using session beans and
DAO.
I also designed and implemented the communication between Delano and Agfa’s Apogee subsystems
using XML/JDF over JMS.
- Use Cases / UML
- Java/J2EE (JBoss)
- EJB
- JDBC
- XML (DOM, SAX)
- JDF
- JMS
- JMX
- Postgres
- JUnit
Product Leader & Architect of Forum at Reef
November 2000 — October 2001
Forum is a web-based application for online discussions and is part of Reef’s Internetware
suite.
Responsibilities
Technical Skills
I was responsible for the analysis, architecture, design and the backend part of the
implementation of forum.
I coordinated the work of 4 developers.
Using the Catalysis methodology, I wrote use cases and interface documents for various
components of the Forum application.
With one of my team members, I designed and implemented another forum prototype capable of
handling millions of messages using a CNews server, JavaMail and a Java NNTP-protocol
implementation for accessing the news-server.
- Use Cases / UML
- Catalysis interface documents.
- Java/J2EE (Weblogic)
- Oracle
- TogetherJ
- Toplink3.0
- JUnit
- JSP
- Struts
- Servlets
- JavaMail
- NNTP
- CNews
- Loadrunner
Various Projects and Companies
September 1990 — October 2000
Worked at different companies, mostly financial or telecom related.
Companies
Technical Skills
- Cimad/FICS: Bank Reporting System
- Afga Gevaert: IMPAX medical imaging.
- Alcatel: 3G RNC (Radio channel allocation)
- Lucent Technologies
- Siemens: GSM call processing
- Solid State: 3XIT
- Use Cases / UML / OMT / Booch
- C++ / CHILL
- Java/J2EE (Jboss 2.x)
- CORBA (Visibroker)
- Java/IDL
- Tomcat
- Servlets
- JDBC
- Rijndael encryption
- Delphi
- Sybase
- Rational Rose