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
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
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
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!)
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.
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.
Also member of local group for stimulation of solar energy.
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
Publications
Scientific publications.
Self asserted Skills & Proficiency
Java
C#
JavaScript
Java EE
Docker
Ansible
Elasticsearch
Azure Functions
Azure
AWS
Ruby
SQL
Scala
F#
Haskell
Education
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.
Higher education that gives access to university. Graduated on the following subjects:
- Dutch
- English
- Mathematics A
- Mathematics B
- Chemistry
- Physics
- Economics I
Higher education that gives access to college. Graduated on the following subjects:
- Dutch
- English
- Mathematics B
- Biology
- Chemistry
- Physics
- Economics I
Base 2, 3 …n counting
Reading a 12-hour clock. This is important, it is a Monad doing modulo 12 addition!