Career Profile

Senior Engineer at Innovalor

Every line of code that doesn’t exist, is correct!

Ansible is my hammer.

My focus areas are, server side development and testing using Java, Elasticsearch, Logstash, Kibana and Ansible.

I live in the city of Deventer, the Netherlands, and commute to work 4 days a week to Enschede. One day per week I work from home.

Experiences

Senior Engineer

2017 - Present
Innovalor, Enschede, the Netherlands

2019-2022:

Responsible for:

  • Created a proof of concept for automated setup of Elastic stack, Grafana and Prometheus using Ansible.
  • Wrote a custom Ansible roles collection.
  • Setup of Ansible based test environments for Elastic stack.
  • Ansible based setup of production Logstash pipelines.
  • Proof of concept of Ansible based schema and pipeline setup for Elasticsearch; Elasticsearch ingestion pipelines using readable and maintainable YAML and Jinja templates instead of JSON.
  • Modernize Logstash pipeline setup.
  • Dockerized Logstash environments.
  • Migrate to Elastic cloud.
  • Documenting the existing ELK infrastructure and troubleshooting guides.
  • Presentations on Elastic stack setups and Ansible usage
  • Refactored and migrate a large Ruby based Logstash filter script into more manageable chunks
  • Assist in proof of concept for using Elastic-Agent.
  • Maintenance and extension of existing Java based (analytics) related code and tests.
  • Migrate Junit4 based tests to Junit5.
  • Help colleagues to write better tests using parameterized tests, property based testing and mutation testing.
  • Day to day maintenance of existing ELK setup.

Courses:

  • Elastic engineer course, now preparing for the exam.

2018-2019:

Continue being loaned out to DNB ID Solutions (Die Norkse Bank) until early 2019 to help create their IDmee product, a mobile onboarding solution for banks. Within an international team based in the UK, Norway and the Netherlands, I did technical consulting on integrating the ReadID service for ID verification. I was responsible for developing the signed PDF generation and upload service for IDmee. Most development was remote, but it also involved regular travel to London.

Responsible for:

  • Maintain the Elastic stack based data mining solution for ReadID, A lean tree structured keyword based system. Full text search is not used.
  • Maintain a Java library that translates privacy-sensitive data from passports into less privacy-sensitive data.

Other things:

  • Work on parts of the ReadID server software for mobile verification using NFC chip in passports and other identity documents.
  • Some minor bits of Android programming.
  • Technical assistance for a group of students during their internship

Technologies:

  • AWS EC2, S3 and SQS
  • Android
  • Ansible
  • Azure Functions (serverless), Azure Keyvault and Azure blob storage
  • Docker
  • ELK (Elasticsearch Logstash Kibana, Beats, Fleet, Elastic-agent)
  • Java (EE)
  • JavaScript
  • Lombok
  • OData
  • Postgres
  • Ruby
  • SQL Server

Courses:

  • Free online Youtube course on Ansible by Jeff Geerling.
  • Free Kubernetes tutorials

Research Engineer

2015 - 2017
Innovalor, Enschede, the Netherlands

Most of my time being loaned out to DNB ID Solutions (Die Norkse Bank) to help create their IDmee product, a mobile onboarding solution for banks. Within an international team based in the UK, Norway and the Netherlands, I did technical consulting on integrating the ReadID service for ID verification. I was responsible for developing the signed PDF generation and upload service for IDmee. Most development was remote, but it also involved regular travel to London. I experimented with Azure Functions in C# and learned Ansible.

Responsible for:

  • Developed the Elastic stack based data mining solution for ReadID, A lean tree structured keyword based system. Full text search is not used.
  • Developed a Java library that translates privacy-sensitive data from passports into less privacy-sensitive data.
  • Created and gave initial internal course on how to use Kibana with our data.
  • Responsible for integrating a third party server side verification web service into the ReadID service product.
  • Wrote parts of the ReadID OData REST API documentation

Participated in the 2016 Dutch blockchain hackathon

Software Engineer

2009 - 2015
Centric, Deventer, the Netherlands

Worked on Centric’s offering for document and case management for local government Suite4DM.

Responsible for:

  • investigating and setting up new OData based web services
  • Knowledge transfer on OData to other team members.
  • Coached less experienced colleagues on software engineering matters.
  • Knowledge transfer on JavaScript/Typescript, LINQ or WCF by giving presentations or sometimes pair programming.
  • Remote support customers with more complicated technical problems.
  • Responsible for writing most of the development manual of the then current DMS connector.
  • Technical consulting on this connector for Centric HR & Payroll solutions to both local developers in other Dutch offices and developers in Romania.
  • Technical consulting for a partner company.
  • Responsible for creating an integration test suite on the DMS connector using property based testing with MSTest and C#.
  • Participated in development of the then current DMS connector using VB.NET with SharePoint Server side Object Model, CMIS and Intraoffice.
  • Improved performance of a legacy solution to allow for +/- 200 concurrent users.
  • Participated in writing conversion software.
  • Wrote parts of the front end of the Centric Archive and DMS solution.
  • Was responsible for writing large parts of a metadata registration tool, “module documenten Distributie”, for local government using VB.NET and JavaScript.
  • Coached colleagues in upgrading legacy code. Especially I coached on converting the JavaScript code to TypeScript and using web services based on the Dutch StUF standard.

Some of the technologies used are

  • WebAPI
  • OData
  • WCF
  • VB.NET
  • C#,
  • TypesScript
  • JQuery
  • CSOM and SharePoint Serverside Objectmodel

Courses:

  • Coursera Scala course.(Certified, but I would not hire myself as Scala developer!)

Software Engineer

2007 - 2009
IKM Engineering, Emmen, the Netherlands

IKM Engineering was an ISV that is specialized in decision support systems and advanced calculating models. Working on location in Emmen, from home in Deventer and in Cologne and Heidelberg.

  • Helped the company transfer to .NET and web oriented software Development. Part of the job was teaching both local and remote employees C#.
  • Was project lead for the first new product, a DotNetNuke(DNN) based HRM performance feedback system, for international engineering firm Royal Haskoning.
  • Participated in integration and development, Python/Zope based, in the International Fliwas project. An international project on crisis management in the context of water management between “waterschappen” in the Netherlands and Germany. (Cologne and Heidelberg). This was in close cooperation with developers from German partner company Leiner & Wolff Gmbh.
  • Responsible for maintenance and performance analysis on their existing Delphi based software for portfolio analysis and predicting paint analysis for housing (AKZO paint).
  • Saved time on internal IT; simplifying, consolidation and moving services to the Google and Amazon cloud.

Application Engineer

1999 - 2007
Novay (former Telematica Instituut), Enschede, the Netherlands

Telematica Instituut later renamed Novay was a national research institute that brought together business, science and society. Developing prototype software for groupware, presence, healthcare, public transport, decision support, and remote control.

A list of weird and wonderful prototypes and experiences:

  • Within the Gigaport Awareness project I wrote a demonstrator that showed presence of colleagues on a map and in a building. Using Ajax longpolling, Google Maps and a X3D(predecessor of WebGL) model of a building. Presented this at technology conference (ICT Delta Congres).
  • For ‘Kanalen in Balans’ Multichanneling advice for financial agents, I converted Excel based models to a Web Application using Javascript and Drupal.
  • Participated in securing access to fast internet via fiber using Radius,DNSSEC and SAML.
  • Rewrote the secure file transfer for the remote control of Electronic Microscopes for material analysis from a non-performing messaging system to plain ftp over OpenVPN. Demonstrated on a conference in Amsterdam RAI.
  • For a management event, I created a demo environment for Second Life, with coupling to external REST services.
  • For Prorail (Dutch National Rail infrastructure authority) & NS (Dutch National Railway company):
    • Participated in development of a train simulator for efficient driving for cargo and passenger trains. (Scenario: trains on Texel island).
    • Did technical advice on location based services for maintenance in the rail sector.
    • Saved a trial on location based train timetables from being aborted. I wrote a working prototype service in 1 short line of code, with a working mobile Symbian client in 3 short lines of code in a Friday afternoon. Trial made the national paper “De Volkskrant”.
  • Sponsored by Microsoft:
    • prototyped presence for business , Messenger, sensor data, calendar, phone exchange and the device used. Presented this at CeBIT. Currently known as Lync.
    • Was invited to Cambridge University by Microsoft Research for a three-day conference. Looked especially in integrating options for their CRM offerings.
    • Visited TechED 2005 in Amsterdam RAI nad brought back VSTO technology for a few small demos.
    • Spent a day in Disneyland Paris for a mobile development conference on the .NET compact framework.
    • Looked into the .NET compact framework for prototpye development on early PocketPC handhelds with before-WiFi and beta WiFi network.
    • Created a prototype mobile application, using .NET compact framework, for patients with Alzheimer disease.
    • Prototyped the CocoWare Groupware Framework.
    • First in Java, later in cooperation with Microsoft in the early betas of NET 1.1.
  • Presented a Shared browsing(WebDAV presence) on CSCW 2000 Philadelphia.(Cloned ICQ Surf for business use)
  • Worked on a prototype for a national patient record system using the .NET compact framework.
  • Created server side code for a proof of concept that was used in the care for patients with a stroke.

Volunteer citizen participation board member

2008 - 2009
Municipality of Deventer

Also member of local group for stimulation of solar energy.

Student assistant

1995 - 1998
University of Twente

Assisting jobs at labs teaching students programming both for first years and elder students.

One of the jobs was testing the then new integration project that let new first year students integrate their gained knowledge into a mock-up situation of flood protection/coastal protection, (Maeslant Kering).

Another was introduction into programming with C++, where I had to prepare the subject in my summer holiday. I also had to give one of the courses because the teacher was not present.

Blogs and Side Projects

My blogs and side projects

Noaber Java - Noaber, the Java version. An experimental Java based library; providing extension for Functional Programming in Java
Noaber .NET - Noaber, the .NET version. An experimental C# based library; providing extension for Functional Programming in C# or VB.NET

Publications

Scientific publications.

Demonstration proposal, Collaborative Component Software, The CoCoWare Framework and Its Application
Hans Kruse, Henri Ter Hofte, Robert Slagter
ACM CSCW 2000 Philadelphia

Self asserted Skills & Proficiency

Java

C#

JavaScript

Java EE

Docker

Ansible

Elasticsearch

Azure Functions

Azure

AWS

Ruby

SQL

Scala

F#

Haskell

Education

MSc. in Computer Science

1994 - 1999
University of Twente, Enschede, the Netherlands

Ir. (Msc.) degree in 1999 on designing a specification language(and tools) for non-functional properties in distributed systems. We would now recognize this as cloud mapping. Today you would choose to have a tool that generates an Ansible script.

I graduated thesis at Hollandse Signaal Apparaten(now Thales), a French electronics company delivering information systems and services for the Aerospace, Defense, and Security markets.

Earlier I did my internship also at Hollandse Signaal Apparaten. I investigated the usefulness of Java Beans.

Most of my advanced subjects where mainly taught by the sub department of Telematics and Formal Methods, but also by the sub department of Software Engineering or the department of Mathematics. Some of the more advanced and interesting subjects read were:

  • Software Engineering
  • Advanced compiler building
  • Communication protocols
  • Application protocols
  • Discrete event systems
  • Conceptual Structures
  • Ergonomics

Active member of study association Inter-Actief. Mainly involved in editorial and design work for the Inter-Actief magazine.

Atheneum

1992 - 1994
Schravenlant, Schiedam, the Netherlands

Higher education that gives access to university. Graduated on the following subjects:

  • Dutch
  • English
  • Mathematics A
  • Mathematics B
  • Chemistry
  • Physics
  • Economics I

HAVO

1987 - 1994
Schravenlant, Schiedam, the Netherlands

Higher education that gives access to college. Graduated on the following subjects:

  • Dutch
  • English
  • Mathematics B
  • Biology
  • Chemistry
  • Physics
  • Economics I

Primary school

1981 - 1987
De Ouverture, Schiedam, the Netherlands

Base 2, 3 …n counting

Kindergarten

1979 - 1981
De Mallemolen, Schiedam, the Netherlands

Reading a 12-hour clock. This is important, it is a Monad doing modulo 12 addition!