About me
I am a Software Programmer with over 25 years of experience. I started my career as a full stack Active Server Pages (ASP) Web Developer, where I was responsible for the full lifecycle of the software from business/requirements analysis, development and testing to production support. In 2002 when ASP.NET was released, I changed my career to specialise in business/requirements analysis for the next 9 years. During this time I mastered using UML and Use Cases for documenting requirements and clearly communicating between programmers and the business. In 2006, while still working as a Business Analyst, I started learning Java and Jakarta EE. In 2012 I transitioned from Business Analysis to Java development on a project I started as the Lead Business Analyst. I have been working as Java programmer ever since. I have also fulfilled the role of team lead and Software Architect on a few projects.
From the start of my career I have worked in an agile way and had many successes on agile projects. I have encountered a number of teams along the way that struggled with agile adoption. This started a career long passion of mine to help teams be truly agile and to develop better quality software faster and cheaper. I firmly believe that the secret to success of software development projects starts with the identification of software requirements from the perspective of the users of the software.
I am passionate about User Stories, Domain Driven Design (DDD), Test Driven Development (TDD), Behaviour Driven Development (BDD) and Continuous Integration / Continuous Deployment (CI/CD). Most of all I am passionate about good design. For me good design is rooted in simplicity. A design does not reach it's optimal state when there is nothing more to add, but rather when there is nothing more to remove.
Open source contributions
I have created the following Spring Boot starter projects published them to Maven Central to help myself and other developers to use the involved technologies more easily.
This project is a custom Spring Boot starter project with auto configuration. It is used to simplify text localization / internationalization when using the Java Template Engine (JTE) with Spring Boot.
The goal of this starter is to automatically inject an instance of the interface gg.jte.support.LocalizationSupport into all JTE templates without any additional code in the Spring MVC controllers.
Talks are underway to merge this project into the official JTE Spring Boot starter project.
This project is a custom Spring Boot starter project with auto configuration.
It is used to render HTML fragments using the Java Template Engine (JTE) and emitting the HTML as Datastar MergeFragments Server Sent Events (SSE). It also emits the other Datastar event types.