My main programming language is Java.
Over the past few years all of my projects contained some combination of the Spring Framework, Hibernate, Maven, Unit testing (mostly EasyMock and Mockito libraries in a TDD setup) and integration testing using Citrus and Cucumber in a BDD setup.
Within the Spring Framework I worked mostly with Spring Boot, Spring Batch, Spring JDBC, Spring MVC, Spring Rest and Spring Web. On some specific projects I have worked with Spring Security and a little bit of Spring Cloud.
Other than the Spring Framework I have daily on the job experience with the following Java libraries:
- Apache Commons
- Google Guava
In 2016 and 2017 I was part of a team that worked on an old monolithic application that used Struts and JSP as frontend, Java 6 as backend and was deployed on an OC4J server. As a result of migrating the old application to more modern technology the application is currently running on Java 8 and a light weight Jetty server and is being used by over 30.000 users. It is the crucial piece of software that lies in the centre of a chain of applications maintained by and owned by multiple big governmental organizations.
My current language focus is a healthy combination of backend (Java 8, Spring Boot, Postgresql) and frontend (Angular 7, Karma) to transform beforementioned monolithic application into smaller Java services.