About Me

Hi! My name is Niels Dommerholt. I am an independent contractor (ZZP) specialised in the Java ecosystem. I generally work as a lead software engineer or software architect in complex enterprise microservice architectures. I have a passion for software engineering and am primarily focused on adding business value through software development.

My Skills

I firmly believe in the notion of T-Shaped Skills. My speciality is the Java ecosystem of tools, libraries, frameworks and languages. While most of my career I have worked in Java, I my favorite language is the Kotlin 'Java dialect'. While I’m not married to the Spring framework (I don’t have very strong personal preferences) it is where I have most of my experience, which also reflects itself in that it’s a common subject in my blog.

Aside from the Java ecosystem I’m also a proponent of the CI/CD 'way of working': having fully automated and repeatable processes allows developers to focus on what is important: adding value frequently. And just like development itself CI/CD tooling is something that deserves frequent attention and improvements.

In addition to being a Java specialist I’m also a generalist with broad experience. I pick the best tool for the job; whether that is creating a simple script in Bash or Python, or helping out in JavaScript or TypeScript in a front-end.

I have good social skills and can relate to 'the business' just as well as I can relate to other developers. I like acting in a role where I can act as a bridgehead between these different specialities. I like working in multidisciplinary / feature teams that solve 'real' problems. I am good at striking a balance between software quality and value add both in the short term and over longer maintenance periods.

As my blogs, articles and talks show: I like teaching almost as much as I like learning. My goal as a senior developer is to also help others to learn and improve, while at the same time learning from them.

My Experience

The last 6 years I worked on a variety of interesting projects for great clients. A few notable examples are:

  • Bol.com - Team Cerberus: Lead developer creating a service that decides which external offers are allowed on the shop. We allowed the business to open up offers in a flexible way, gaining productivity improvements as well as additional revenue.

  • Intergamma: Software architect; setting guidelines, improving developer productivity, creating architecture targets and introduced Kotlin

  • Yolt (by ING) - Action Team: Software engineer in charge of the partner platform. The partner platform was the main revenue stream for the Yolt app.

  • Philips Healthcare: Software architect; from a conceptual prototype created an online 3D visualisation tool allowing patients to fit breathing masks to a 3D scan of their face.

  • Netherlands Forensic Institute: Software engineer working on the Hansken Digital Forensics as a Service platform.

For a more in depth and up to date overview check out my LinkedIn profile.

My Company

As an independent contractor I am generally working close to full time on existing projects. However if you need someone for a short 1-3 day training please do contact me. Anything that is within my focus area I am more than happy to teach others. In the past I have given training on:

  • Programming in Kotlin

  • Kubernetes

  • The Spring framework

  • Cassandra

  • Kafka

  • CI/CD

A training will always be hands-on; this way developers can learn enough in 1 to 3 days to be able to self-teach from there on.

My Blog

For me Software Engineering is a hobby turned into a job. I however still like that hobby enough to go out and discover things on my own! For me the puzzle element, solving challenging problems, is the icing on the cake. Nothing really beats that Eureka moment! I also take pride in my trade; for me Software isn’t Software unless it’s proven correct and provides value.

I care enough about my trade to want to 'entertain and enlighten' others. The entertainment bit means that I aim to make what I write easy to digest. I prefer not to go into unnecessary details and I try to make my examples small and straightforward. I also really enjoy helping others, which is the main reason for me to write this blog. When I encounter hurdles or just little things that I enjoy to dabble with I often write about them. As an additional benefit this also forces me to actually finish my tasks!

A while ago I was challenged by a colleague to send in one of my blog posts as a proposal for a Devoxx BE talk and got accepted, leading to me doing my first ever Devoxx talk in front of a large crowd.

Contacting Me

If you have any questions or remarks, feel free to contact me. You can find links to my Github, Twitter and LinkedIn at the bottom. One small caveat for recruiters; while I don’t mind connecting with you at all at least please introduce yourself properly when you send a link request. I also encourage anyone to issue pull requests on the repositories if find a bug or spelling error! And if something in a repository is unclear feel free to raise an issue and I will answer it to the best of my ability.