This page provides a verbose overview of my journey into IT. If you are looking for a summary of my skill set checkout the resume page or my LinkedIn.
About me
I am a 25-year-old software engineer located in the Netherlands, currently employed at ING. My main focus lies on back-end projects where I use languages such as C and Python, but I am quite adept in more front-end based languages like HTML5 and JavaScript.
If you are interested, check out some things I have done on the Projects page.
My journey
The start
My journey into the world of informatics began after graduating from (T)VWO. I decided to go practical and pick a HBO institution. Even then I still had quite a number of options to choose from. Eventually I picked the study Technical Computing at the Hogeschool van Amsterdam (HvA). I liked this study more than the other informatics studies that the HvA provided because of the excessive interaction with hardware. I was really intrigued how a program can interact with something in the real world, the ease at which a number can influence an actuator.
I had never programmed anything substantial before and in the first year in Technical Computing we started with the Java programming language. I loved it. After a few weeks I even produced my very own sudoku solver! There were also other subjects that provided insight in networking capabilities and later in the year we dove into hardware architectures. To my surprise we also did several subjects focusing on user interaction and other soft skills.
In the first half of the year I participated in the project known as: Fasten Your Seatbelt. In this project we had to automate several functions in a small house, think of the thermostat, door locks, lights, etc. It was a really cool project, and also my first introduction to the Raspberry Pi. In the image below you can see my RPI with a custom made case that contains a powerbank. This turned out to be a handy development server with a wifi hotspot to connect embedded hardware.
At the end of that first year I was doing multiple projects at home, all related to programming. I solved a number of puzzles from the Project Euler website.
Going further
In my second year I applied to be a mentor for first year students, which was a fun and interesting experience.
Also, during the second year, we started a project called Robots on Wheels. In this project each team was given a robot, on wheels, which had a number of sensors; such as an ultrasonic distance sensor, a compass, camera and even more gimmicks. The robot was controlled by a Raspberry Pi. It was up to the teams to apply logic to the device. It was a really fun project. After a while we had created an Android application to control the robot, with simple sliders it was possible to get the robot to move about. On the mobile app you could see a real-time camera view and the measurements from the sensors. At the end of the project we even managed to add a license-plate reader. It was a tremendous amount of fun the cross all over the school floors, using your own software. During this project I did a tremendous amount of work and learned a lot.
A new chapter
After that it was time to apply for an internship. I found an amazing spot at the UMCU, more specifically at the cluster Medical Technology and Clinical Physics (MTKF). Here I worked on a project called the Hemologic Cardiac Profiler, or HCP for short. With this device it would be possible to provide insight into the volume that the human heart pumps. Check out the theory to learn more about the medical side of things.
My job in this project was to program multiple things on a Raspberry Pi Compute Module (RPCM). This unit coordinates data acquisition, data management, does calculations and even transmits the data real-time via a Bluetooth connection. Needless to say I was rather scared at first, such a grand project. Luckily I had an amazing tutor at the UMCU. I want to give a massive shoutout to René, for making the 6 month internship a truly amazing, fun and interesting experience. René was not alone, everyone at the UMCU has been extremely nice to me and were always available and eager to help, my thanks to all of you. The UMCU later hired me to finish the project.
All right, let us get back on track. This site is about me, after all :). Like I said, the project was much larger than I was used to, and even more complex. After some time a functioning prototype was produced, and when I left it was being used to conduct clinical trails.
Easing in
In my third year of college I subscribed for a course on Mobile Development. This course did not only focus on the programming side of things, but also a lot on design and user interaction. Whilst a lot of the design and user interaction stuff was useful to know, it was just not for me. Nevertheless, I still made some very nice mobile applications, for Android, such as a chess timer which you could control by shifting the device or waving over it.
During this time I also teamed up with multiple other students from the HvA to work at Ziggo, the company is among other things an ISP. They wanted to use SmartGlass technology to help their mechanics with challenging problems. Experts at the office are able to connect to a SmartGlass, which is worn by a mechanic someplace remote, and they are able to see what the mechanic is seeing. On top of that, there also is a two-way audio stream. It turned out to be a fun project but sadly the API support for the SmartGlass that we used was very limited. This meant that the audio streams had some compatibility issues. To my understanding Ziggo has picked up the project after me and my team left after a successful demo.
Seeking challenge
After the Mobile development course I was looking for something more challenging, I wanted to hone my skills. That's why I subscribed for the "excellent minor" at the HvA. This minor was advertised as the most difficult the Hva had to offer and would also be a stepping stone into scientific research. Needless to say, it sounded like exactly what I needed.
During the minor I, and two other students, started a project at Bartimeus. Bartimeus aids people who are both visually
and mentally impaired. Our project would use location based audio and vibrations to convey messages to Bartimeus' clients.
The city of Bartimeus is quite out there
, so GPS location services are limited. Instead we relied on Bluetooth Beacons
for an accurate location. The caretakers could configure which sound and vibration to play via a website. During this project
I took control of the mobile application. You can find more details about it on the projects page.
The project was a success and Bartimeus later hired me for additional features and improvements. Bartimeus continued with the
project on multiple other locations, including indoor pathfinding.
After that the fourth year for my Bachelor started with a project called Robotics
. The project goal was to make an
autonomous robot. It looked like an automatic vacuum cleaner, but much higher. It had a bunch of sensors, camera, and quite accurate stepper motors.
In the end the robot should be able to navigate a maze and find a ball of a certain color. The maze part was a lot of fun to do,
I programmed an algorithm that used the distance sensor to fill boxes in an in-memory grid. I then used Dijkstra's shortest path Algorithm
to find the exit of the maze (which had to be recalculated every time a new wall segment was found). The in-memory map could be
followed live via a website that I build. Together with the team I also helped build an algorithm which allowed the robot to follow
other robots. All in all, a really fun project. The only limitation was that you really need a lot of space to try out stuff with the
robot, and school can be a very crowded place.
Having successfully fulfilled all courses and school projects it was now time for my Bachelor's thesis. For this I joined a company called Exset Labs B.V, for the Watermarking project. In this project a system needed to be build which would be able to detect watermarks from content being broadcasted on a TV, recorded with a mobile phone. Therefore, the watermarks had to be much more robust than normal digital watermarking. For my thesis I wanted to investigate Machine Learning techniques, something that I was unfamiliar with. I used a ML model to detect the approximate location of the television screen. I could then use edge detection and a custom-made algorithm to find the exact coordinates of the screen borders. Using some fancy mathematics it was then possible to transform the screen as if you were standing right in front of it. After that I once again used Machine Learning to find the hidden watermarks. I found that my Machine Learning techniques had a similar or higher success rates than hand coded techniques. I successfully graduated from my Bachelor, and Exset hired me.
Preparing the next step
I stayed with Exset for a while, doing a variety of security related projects. I really enjoyed the amazing people at the company, and am thankful for the moments we shared. In the meantime I was preparing to get into the Master programme called: Software Engineering. Due to the fact that my Bachelor was achieved at a university of applied sciences I did not meet the entry requirements. I had to take several courses and exams during a pre-master programme which would take a year. At the time I did not think I needed the pre-master programme, and in hindsight I can definitely say that I did not need the pre-master programme. It was a very expensive waste of time for me. Nevertheless, the courses that I had to follow were quite interesting. I even took one of the best courses I ever did: compiler construction. Every student in this class had to use this very obscure compiler framework and implement your own compiler (from a C-like language to Java-like bytecodes). I learned a lot, and even managed to get top 3 in my class for most compact bytecode. I passed the pre-master programme.
About halfway through my pre-master programme I switched my part-time job at Exset for an opportunity at ING, a Dutch bank. After a starter project which took three months I joined the ING Container Hosting Platform team to help build the ING Private Cloud. The team is international, with members in the Netherlands, Poland and Germany. The team has very strong system administrator and Kubernetes (OpenShift) knowledge, and Python scripts were common too. Having a strong development background, my main focus was and still is on helping them build more complex applications. These applications can be security oriented, help automate things, offer (infrastructure) services, and so on.
Mastering science
The master software engineering can be completed in one year, but due to my part-time job it is planned to take two years. The master contains a variety of subjects, including many soft-skill subjects. For the master it is assumed that you are already a capable programmer. I have mixed feelings about the master, on many occasions my views differed with those of the teachers. I found that things that I had learned in the industry did not always translate well with the course buildup. A good example of a subject where I had mixed feelings for was one where we had to use a programming language that was created by one of the lecturers a long time ago. The language taught several concepts, and was optimized for making changes to Abstract Syntax Trees. I fully agree that this method was interesting, and increases you understanding of software engineering. Yet, a very significant amount of time was required to set up the old toolchains, and work around features of the language that were broken, missing documentation and so on. I feel that the same knowledge sharing could be offered with a language such as Python in combination with a library or framework. This would allow students to use IDEs they are familiar with, alongside modern tools. Nevertheless, I did enjoy programming in the old language (Rascal), and it had some very nifty features that I wish modern programming languages had.
I started with my master thesis at the end of my first master year. I set out to research high-performance applications running on Kubernetes, and was specifically interested in microservices and service meshes. I did my thesis at the company where I already had my part-time job, ING. I worked continuously on my thesis during the summer holiday, so not really a holiday, and the next school year. I completed all school subjects and defended my master thesis successfully after half a school year, finishing half a year ahead of schedule. Big thanks for my thesis supervisor, Ana, for keeping me very sharp and helping me achieve a higher standard.
Finishing school half a year earlier turned out to be very convenient, as I purchased a house in Purmerend. I am thankful for working part-time and saving everything that I could, without my savings it would not have been possible. As I am typing this house prices are insane. The pandemic also hit during my master course, which meant that classes, and work, had to be done online. I think for many people this is considered a setback, but I must admit that I very much like working from home. I like a silent atmosphere while I work, and my home setup is much nicer than sitting at school or work. In addition, I save about two hours of travel time each day which allows me to make 9-hour work days. If the pandemic is ever over, I will still try to work from home full-time. I also notice that I have much stronger ties to my international colleagues than before, and I like that a lot.
Beyond
I am still employed at ING, working for the ING Container Hosting Platform. I am glad to say that ING recognises my efforts, and I have already received two promotions since working there for a relatively short period (and hopefully a third on the way!). There is much to do, and I am excited for what the future holds.