Dennis Dam

Senior Software Engineer


Jan 2022 - current
Senior Software Engineer
Nov 2019 - Dec 2021
KPN (Amersfoort)
Senior Software Engineer

At KPN Netwerk I worked on +/- 10 Java/Angular applications. The applications are used by KPN to handle the process concerning new fiber connections. Technologies I worked with include Java 8-15, Spring (Boot), Angular 7- 12, Hibernate, SOAP/REST, AWS, Kubernetes, Docker, Elastic Search/Kibana, Jenkins, GIT and many more. My biggest accomplishments were:
– migrate the CI/CD stack from Reggefiber stack to KPN stack
– introduce new integration test setup, replacing overly complex “drag/drop” system
– migrate stack from Linux to Kubernetes
– lead developer on two new-built projects which were realized on time

May 2016 - Nov 2019
ING (Amsterdam)
Fullstack Java Developer

At the ING I was part of the Consumer Lending DevOps team. Together with my team I was maintaining and extending a couple of applications related to the lending of money to consumers. There were several frontend-only, smaller “tool applications”, and one large frontend (AngularJS) / backend (REST) application for the actual money lending process. In 2017, the AngularJS frontend was migrated to Polymer. The REST application gathers and updates data using TIBCO calls. The logging of the application was stored in Logstash and monitoring dashboards were created in Kibana/Grafana, based on data from logstash. Deployment was done via Nolio with numerous checks in different systems before deployment is authorized. One of the most challenging aspects of the work was to get the requirements clear with so many stakeholders.

Jan 2015 - May 2016
Rabobank (Utrecht)
Lead Java Developer

At the Rabobank I was involved in several web-based projects and one processing application. I worked mostly on implementing new Web projects and maintaining an existing (portlet) application. I set up one new web project from the ground up, in the role of lead developer. This project involved a frontend AngularJS application with a REST/JSON web application built with Jersey/Spring. The REST application gathers and updates data using Soap calls. At the beginning of the project I performed a major refactoring of the Maven structure of the project, in preparation for a SVN to GIT migration which I then carried out. We use Sonar and code reviews to ensure quality of code.

May 2014 - Dec 2014
Yamaha Motors Europe B.V. (Schiphol-Rijk)
Java Developer

Development of a web application for Yamaha dealers. Dealers can order parts and units, register sold cars and enter warranty claims. The system is coupled to an AS400 back-end system of the Yamaha warehouse, which processes orders. Iprofs has migrated the old Struts application to Spring MVC. My work consisted mainly of capturing requirements, developing new functionalities, and solving bugs. We worked in a small team, where code is being peer-reviewed. The most part of the work is
development of Java components, or related technologies. Iprofs introduced a few modern technologies, such as AngularJS, Groovy test framework (Spock, very intuitive), Jasmine (Javascript unit testing), Play Framework (worked with it briefly).

Oct 2010 - Apr 2014
Sungard (Amsterdam)
Senior Consultant

Working for Sungard (now FIS), I worked for several financial institutions (banks, brokers) to give them advice on the implementation of Sungard’s financial products.
I worked mostly with Front Arena. An important aspect was being a sparring partner and source of knowledge concerning the software product that they used, Front Arena. Front Arena is a trading package mainly focused on Front Office activities with support for exchange connectivity, entering quotes (supporting market making activities), trade capturing, risk management, third party data vendor integration (Bloomberg, MarkIT, ICE, etc) and other business data processing.

May 2009 - Sep 2010
Ministery of Foreign Affairs (The Hague)
Java programmer / Hippo consultant

In 2008 the central Dutch government initiated the project Overheid Nieuwe Stijl (ONS), which translates as “Government New Style”. One of the goals of the project is to integrate the websites of all departments into one new umbrella website, This is a very complex project, both politically speaking as well as technically. The ONS project team selected Hippo as their supplier for content management solutions. Project management requested two senior developers from Hippo to help out with the development of both the CMS (Content Management System) as well as the development of the website This is how I became involved in the project, in may 2009. My daily tasks while working on the project consisted of 75% actually helping to implement the CMS and website, and the other 25% providing consultancy in the form of coaching the other programmers (not from Hippo) and giving advice on how to solve complex problems.
Implementing the website consisted mainly of Java development plus configuration of Hippo CMS. De Java components of the website were small to medium in size. Quality
of the code was ensured by several techniques, such as peer code reviews (part of the Scrum methodology we used), unit tests using Junit, integration tests with Selenium / Webdriver and code formatting rules were enforced using Checkstyle. Quality metrics could be obtained from a running Sonar server on the network. The test coverage of the website components was around 80%. An average website component fetches configuration from the CMS, executes some JCR (Java Content Repository) queries and generates the JSP beans for the view layer. I also worked on extending the CMS (based on Hippo CMS) with custom plugins, which were based on the Apache Wicket framework. Lastly, I took care that the configuration of the CMS was kept clean and working.
The consulting / coaching role I fulfilled was both on an ad-hoc basis, as well as in an organized context. While implementing the website I regularly supplied the other programmers with relevant information about Hippo software and made sure their work complied with the best practices of Hippo. During planning meetings (Scrum estimation meetings) I advised project management on the complexity of the features they wanted and estimated how much time it would cost to implement them. I also frequently provided input to the functional designers, so that they could design technically feasible solutions for new features. Next to these tasks, I had regular contact with the CMS product team back at Hippo to discuss the requirements of the project and to request features / bugfixes.

Jan 2008 – Sep 2010
ICTU (The Hague)
Java/Cocoon programmer / Hippo consultant

As a Hippo consultant I have been involved in the project for more than two years. The project was initiated by the Department of Economic Affairs and outsourced to the ICTU, the Dutch central government’s executing ICT organization. The goal of the website is to make the government more accessible for companies. Via the website, companies can get an overview of licenses, regulations, procedures, etc., of the government that are relevant for them. The idea is that companies find out quicker which institutions they need to contact for the information they need.
My role at the ICTU consisted of two parts, an implementing role (80%) and an advising/consultancy role (20%). The implementation work consisted mainly of building and modifying the website, which was based on Apache Cocoon. Cocoon is an XML publishing framework, which makes it easy to aggregate and transform XML streams. Publication to multiple media channels is possible, e.g. (X)HTML, mobile, PDF/Word. In 2009/2010 I was on location 1 day per week to solve complex problems or bugs, mostly related to Hippo / Cocoon technology. Besides that, I gave advice to the development team about parts of the website that can be improved, e.g. with respect to performance or maintainability of the code. The development work itself comprised the modification of Cocoon / Hippo CMS configuration, XSLs and the implementation of custom (Java) Cocoon components.

Hippo (Amsterdam)
Java programmer / Apache Jetspeed Portal committer

In these 2,5 years I was part of the Hippo Portal product team to set up a new product, Hippo (now Bloomreach) Portal and developed several intranet portals for customers, based on the new product. Hippo Portal was built on top of the portal framework Apache Jetspeed. During the development of Hippo Portal I contributed so much to Apache Jetspeed, that I obtained the status of Apache committer for the Apache Portals project. That allowed me to modify the Jetspeed code by myself, instead of sending in patches which needed to be approved. One of my big contributions to Jetspeed is a component that synchronizes LDAP data with an internal security database. Another big contribution is the complete refactoring of the Single Sign On module, which was partly necessary to better integrate with a new security model that was being introduced in Jetspeed.
Next to my committer work I also implemented several portal websites for customers like ICTU, ROC Eindhoven, the Municipalities of Weert and Schijndel, the ANWB and Randstad. For the last two projects my role was mostly consulting / coaching, because the implementation was outsourced to partner companies. Building the portals consisted of a lot of Java programming, plus some Hippo CMS / Jetspeed configuration.

Hippo (Amsterdam)
Cocoon developer / Hippo CMS 6 developer / Java programmer

During my early years at Hippo, I helped to develop the CMS product (Hippo CMS 6), as well as implementing a number of websites for customers using CMS 6 / Apache Cocoon. I estimate that I spent half the time on CMS development, and the other half on developing websites. For the CMS I designed and developed the search interface. This interface can be configured by XML and is pluggable with custom search criteria. Furthermore, I was known as the “editor” expert of Hippo CMS 6, due to the fact that I was one of the main developers of the XML document editor in Hippo CMS. The CMS part involved XML/XSD/XSL/HTML/JavaScript work.
I also have implemented several websites, sometimes within a team, sometimes independently. The websites were based on a custom distribution of Apache Cocoon, called Hippo Cocoon. The “extra sugar” on top of Apache Cocoon is, as you might guess, the ability to implement content-driven websites, where the content comes from Hippo CMS 6. The biggest customers were: ABN AMRO Asset Management, TUI, VNU UK and the Departments of Finance and Foreign Affairs. Developing the websites involved XML/XSD/HTML/Javascript/CSS work, but once in a while Java components needed to be written to handle non-standard behaviour. The main criteria for a good website were transparency of the code and performance. For performance optimization we used a lot of different tools to tackle bottlenecks.

2003 - 2004
Océ (Venlo)
Internship. Researcher at Océ Technologies
Thales Nederland (Hengelo)
Fortes Solutions (Enschede)
Freelance Java Developer
Fides V.O.F. (Emmen)
Delphi developer

Delphi developer for own company, mainly working on a Pipeline Engineering program and related tools.


Front Arena Fix Toolkit Certification (With Distinction)
Front Arena AEF Base Certification
Chartered Financial Analyst (CFA) Level 1 - 3
University of Twente
Master Technical Computer Science
Hondsrug College