Hi! My name is Sander and I am a passionate full stack java developer since 2014.
If you are interested in finding out how I became a developer and what I am doing right now, check out one of the paragraphs below.
My first encounter with any form of software was back in 1995. Hello MS-DOS! At the age of 7 I started executing command line arguments and trying to figure out how to open the famous game Pac-Man. From that moment on I was hooked and computer technology has ever since been a very important aspect of my life.
It wasn’t until my 16th age that I first started on some coding. I was gifted a “HTML for Dummies” book and I started created tables, rows, columns, spans, divs and what not. I even built a small website and started a small blog.
At that time I was way more interested in playing computer games then doing any coding and the focus shifted away from doing HTML and CSS to slaying virtual monsters in the dark corners of virtual realms. I never stopped playing computer games and up to this day it is a really fulfilling hobby of mine.
When I finished high school I chose to study economy at the university of the beautiful city Groningen. Carreer perspective, job certainty and some other considerations made me chose not to study a more IT related subject. Looking backwards on that decision, I could not have been more wrong. After a short carreer as an economy consultant I realised this and I felt it was time to truely follow my heart. I became a software developer!
After completing all the free courses on Java that I could find on the internet I did some coding in Java with the help of some YouTube tutorials. I built my first Java program which was a small retro game Tic-Tac-Toe. I attached this small game as proof of concept to my job application for a Java Traineeship and I got accepted into the traineeship.
After a half year of courses, trainings and alot of studying I certified myself for OCA7. Shortly after, early 2015, I continued my carreer at the Dutch bank ING as a DevOps engineer. During this time I also worked some off hours to help a startup built their desired applications. After 1,5 years I switched from ING to the CJIB, a government institution that is responsible for collecting different kinds of fines and measures. During my time at CJIB I participated in a collaboration with the Dutch Police Force for half a year. You can find more specific details on all my projects in the portfolio section.
Near the end of 2016 I decided to continue my work as a freelancer and I founded Mieras Made.
Begin 2017 when I first setup this site one of my main goals was to increase my frontend developer skills to achieve a better full stack balance portfolio and experience sheet. At the time of writing this paragraph (begin 2019) I can proudly look back and conclude that I learned AngularJS and the newer Angular 4 (and later versions) in the summer of 2017 and have been working on active production projects that combine backend and frontend since end 2017.
Staying up to date with the newest Java versions (9, 10, 11) is my main focus for the first quarter in 2019 as Java 12 is to be released on the 19th of March 2019. As such I am currently studying the book Mastering Java 11.
Looking towards more long term goals I would like to participate in a project and be part of a team where I can fulfill a more coaching role with respect to Java. Due to lack of resources there was no real opportunity nor time to guide junior developers in the projects I have been involved with.
In the spare hours that I am not busy coding, either for a client or in my own time, I love listening to music and discover new music. I frequently attend concerts of my favorite bands.
When I was a student at uni I did alot of working out (running and fitness). When I started working that drastically decreased. Fortunately I started working out again since the start of 2017 and I now visit the gym at least two times a week.
Like a proper nerd I am very much in to science fiction movies and as such you can find me at the local cinema quite often. And in case you are wondering, Star Wars, not Star Trek ofcourse (although I like Star Trek too).
Last but not least, I love playing computer games. I played World of Warcraft for over 10 years and still do so now and then. On a regular basis I follow some e-sports on twitch.tv. Currently I play Dota 2.
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.
During my IT training RUP, Agile and Extreme programming methodology was educated and applied.
In practise I have worked primarily with Agile / Scrum, working in iterative sprints with daily stand ups, refinement and retrospective sessions.
Work Tools And Environments
During my first hands on project at a big bank I worked on a very data heavy proces. The proces included the transformation of all kinds of data gathered from multiple types of databases (primarily mainframe DB2 z/OS and Oracle RDBMS). Performance of the Java proces was crucial as daily batch tasks were executed and needed to fit in a strict daily refresh time window. Due to this requirement most of the CPU intense tasks were executed on data that was kept in memory. As such memory footprint reduction, lookup times improvement and compression of data were basic ingredients of the code that needed to be writen and maintained.
I discovered that I absolutely love coding Java to the bits and bytes and making sure the least amount of memory is being used. The website http://java-performance.info/ is my go to site when it comes to all things related to optimization and I learned a great deal from it.
My areas of expertise with regard to performance can be summarised as follows:
- Profiling Java applications to find potentional big memory consumers
- Memory optimization by replacing default Java library implementations with specialized libraries that reduce the memory footprint
- Compression of data depending on the Java version the application is running on
- Improving overall speed of the application by reducing required CPU cycles