welcome Welcome! LinkedIn

Home - Experience

Gooing Up Breakpoint Oculus Rift Racing Sketchman Edge Of Wolves Virtual Store Starberry Software Project Image Browser Master Thesis

Experience

In this section you will find companies I (used to) work for. It also states what I did and learn there.


Audabit Icon Title: Tech Lead / Senior Full-Stack .NET Engineer / Solution Architect
Company: Audabit Software Solutions
Years: 2018 - now

Solution design and development of software solutions over the Full-Stack, hosted in Microsoft Azure or AWS.
Using the latest technologies such as ASP.NET, (No-)SQL, Angular/ React and GraphQL in a SCRUM / agile team.

Audabit Software Solutions is a company founded to provide professional services in the realm of Full-Stack software solution design and development, leveraging cloud platforms such as Microsoft Azure or AWS. I specialize in utilizing cutting-edge technologies, including ASP.NET, various database technologies (SQL/NoSQL), Angular/React for front-end development, and GraphQL for efficient backend communication.

As a freelance Senior Full-Stack .NET Software Engineer and Solution Architect, I am sought after by companies seeking specialized expertise or temporary support from experienced software engineers and solution architects. With a strong focus on agile development, my services are provided within a SCRUM/agile team environment.

Additionally, I am actively involved in volunteering work, contributing my skills and services to projects that benefit organizations like Lifeguard Katwijk. This commitment reflects my dedication to not only professional engagements but also to making a positive impact on the community.

In the context of all systems, both the front-end and back-end undergo rigorous testing and are integrated into a continuous integration and continuous deployment (CI/CD) pipeline. The infrastructure comprises four distinct environments: Development, Testing, Acceptance, and Production (with staging and production slots).


Dominos Icon Title: Tech Lead / Senior Full-Stack .NET Engineer / Solution Architect
Company: Domino’s Pizza
Years: 2018 - now

Extending and maintaining the complete software package for Domino’s Pizza globally.
Solution Design and Development of Full-Stack ASP.NET, (No-)SQL, React and GraphQL software hosted in Microsoft Azure and AWS in an agile team.

Domino’s Pizza Enterprises Ltd serves as the master franchise holder for Domino’s in various countries, including Australia, New Zealand, Cambodia, Malaysia, Japan, Taiwan, Belgium, France, the Netherlands, Germany, and Luxembourg. The company has established itself as a prominent player in the food-technology realm, pioneering advancements such as drone delivery, app ordering, voice assistants, artificial intelligence, and augmented reality.

During my initial year at Domino’s, I assumed the role of technical lead after the previous incumbent's departure. As part of this responsibility, I took charge of the solution architecture for new projects and conducted daily meetings with teams in Australia to ensure seamless coordination. My primary objective was to strategize and facilitate the successful execution of multiple large-scale projects valued at €1M+ in the most optimal manner possible.

At Domino’s, a culture emphasizing microservices, Test Driven Development, and Domain Driven Design prevails. Each microservice operates independently in its designated domain. Most microservices are developed using ASP.NET and are hosted on the Microsoft Azure platform in either Azure Kubernetes Services or Azure Container Apps. The front-end is built using React (HTML, SCCS, ES6). Communication between the front-end and the back-end flowed through a GraphQL (Node.js) layer. The data is stored in various repositories, including SQL, Cosmos DB, Blob Storage, and Azure Storage Tables. Communication between microservices involves direct API calls, as well as message transfers through the Azure Service Bus or Azure Storage Queue. Rigorous testing, encompassing unit tests, integration tests (utilizing Specflow), and E2E tests, is conducted on all services. Automated build pipelines are established using Azure DevOps, and certain services are automatically deployed through a release pipeline in the same platform.

Upon joining Domino’s, there was an ongoing initiative to shift away from RAZOR and adopt React (Native) as the front-end technology, with a GraphQL Layer serving as an intermediary between the frontend and backend. Concurrently, all microservices were undergoing migration to a newer .NET version. A temporary transition to AWS from Microsoft Azure was undertaken, with a focus on Infrastructure as Code, utilizing Cloud Formation, and Containers (ECS and EC2). However, subsequent evaluation led to the decision to revert to Microsoft Azure, incorporating valuable lessons learned from the AWS experience. Presently, Infra as Code is established using Terraform, and Docker containers and Azure Kubernetes Services (AKS) are extensively employed.

As an integral part of the European teams, my involvement encompassed the entire stack of services. While occasional maintenance and minor feature additions to existing functionalities were addressed, a significant portion of my time was devoted to substantial projects like order prediction, GDPR sanitization tools, integration with aggregators (JustEat, ThuisBezorgd, etc.), adding tip-the-driver functionality, and PayPal integration, among others. To ensure code quality, every code change underwent both automatic and manual testing in the designated test environment, followed by thorough reviews conducted by other developers through the code review process in a pull request.

As a result of my demonstrated track record of achieving consistently successful outcomes in leadership roles, I was appointed to oversee the management of three critical domains within the company's European operations: Payments, Store Integration, and Legal (with a focus on GDPR and related matters). Furthermore, I provided occasional support to the Australian development team by leveraging my extensive knowledge to assist in their domain development and solution design efforts. My proficiency in swiftly resolving intricate production issues has been instrumental in maintaining operational efficiency. Additionally, I have made significant contributions by standardizing software practices, implementing sound architectural designs, and introducing robust testing standards, leaving a lasting impact on the organization.


Akzo Icon Title: Tech Lead / Senior Full-Stack .NET Engineer / Angular Developer
Company: Akzo Nobel N.V.
Years: 2017 - 2018

Creation of essential software to connect colorimetric, mixing and weighing instruments from any (web)application.
AkzoNobel is a distinguished authority in the art of manufacturing paints and coatings, establishing a benchmark in color and protective solutions dating back to 1792. With its headquarters based in the Netherlands, the company maintains an extensive global presence, operating in more than 150 countries and employing approximately 34,500 skilled professionals devoted to delivering top-tier products and services that meet and exceed customer expectations. During my tenure at AkzoNobel, I had the privilege of contributing to two significant projects.


Science and Technology Icon Title: Software Engineer / Researcher
Company: Science [&] Technology - Vision B.V.
Years: 2015 - 2019

Design and development of complex (web)systems and computer vision applications for PC and Mobile.
Develop Angular web apps (hosted in Microsoft Azure) using SCRUM at external companies.

Science & Technology (S&T) is a leading provider of Research and Development (R&D) solutions in the fields of Space, Science, and Defense. Within S&T, the specialized division known as S&T Vision focuses on delivering cutting-edge computer vision solutions to its clientele, which includes esteemed organizations such as NCIA, the Ministry of Defense, TNO, and Handicare.

During my tenure at S&T Vision, I had the opportunity to work on several innovative projects, encompassing a wide range of technologies, including Augmented Reality (AR), Virtual Reality (VR), and Computer Vision applications.


LUMC Icon Title: Software Engineer / Researcher
Company: Leiden University Medical Centre
Years: 2014 - 2015

Researching and developing human-computer interaction; 3D object manipulation with hand gestures.
Framework development for medical application with easy sensor integration.

Leiden University Medical Centre (LUMC) is an affiliated university hospital with Leiden University, encompassing its medical faculty. LUMC serves as a contemporary university medical center dedicated to research, education, and patient care. Research activities span from fundamental medical research to practical clinical applications. Within the radiology department, an IT team is tasked with investigating how information technology can further aid doctors and patients.


Utrecht University Icon Title: Software Engineer / Researcher,
Company: Utrecht University
Years: 2014

Researching and developing a head-mounted display 3D image browser using the Oculus Rift.

With the increasing popularity of Virtual Reality (VR) and Augmented Reality (AR), the landscape of computer usage is expected to undergo significant transformations in the future. One potential evolution is the adoption of a 3D environment for browsing photos. The aim of this research was to determine the optimal user placement within the 3D world and to explore navigation methods for a grid of images displayed on a cylinder. Additionally, the study sought to assess performance and usability across various configurations.

The research employed a Unity3D application, which was utilized in conjunction with a Head Mounted Display (HMD) such as the Oculus Rift. Test subjects were able to interact within the 3D environment, enabling them to explore and examine the grid of images. Navigation and image selection were facilitated using an Xbox360 controller, providing users with the ability to rotate the grid and locate specific images of interest.

Throughout the experiment, various performance metrics and measurements were collected and subsequently subjected to analysis. These data points were crucial in evaluating the effectiveness and user-friendliness of the 3D photo browsing system.


MetrixLab Icon Title: Software Engineer
Company: MetrixLab
Years: 2013

Development of marketing tools and immersive 3D worlds using the Oculus Rift.

MetrixLab is a distinguished market research agency specializing in brand engagement, product innovation, and customer value. Leveraging cutting-edge digital technologies, global resources, and an agile approach, the company empowers its clients to make informed business decisions with greater speed and precision. One of their clients has expressed the need for in-store product placement research to optimize their sales strategies. Previously, the research method employed a web-based interface, wherein test subjects would view a simulated shelf with products. They were required to use a mouse to indicate their visual focus and click on desired items. However, due to the significant disparity from real-world shopping experiences, the client sought a more immersive and true-to-life research approach.

To address this requirement, MetrixLab embarked on a project involving the development of a virtual store within Unity3D, modeled after an existing physical store. The new research method enables test subjects to wear a Head Mounted Display (Oculus Rift), creating an immersive shopping environment where they can freely look around and feel as though they are present in the store. Additionally, an Xbox360 controller allows subjects to navigate the virtual store, examine products closely, and add items to their virtual shopping cart.

Throughout the testing process, diverse data points are collected and recorded for subsequent analysis. The subjects' paths within the virtual store are accurately tracked and can be visualized on a map, providing valuable insights into their browsing behavior. Furthermore, gaze tracking technology has been integrated to monitor how the subjects scan the shelves and locate their preferred products. The use of this advanced data collection approach has proven to be more precise and valuable compared to the previous, more detached research method.


Utrecht University Icon Title: Software Engineer / Project Lead
Company: Utrecht University
Years: 2013

Creation of a Unity3D plug-in for a crowd simulation engine developed by Utrecht University.

Utrecht University conducted extensive research on the realistic simulation of large crowds, a prominent challenge within the realm of computer science. As part of this research, a system was developed to address this concern. To enhance the accessibility of the system for public use in simulations and games, it was imperative to integrate it with the Unity3D game engine. The primary objective of the project was to integrate the crowd simulation system seamlessly into the Unity3D environment. However, notable challenges arose due to the inherent programming language differences, with the crowd simulation system being written in C++ and Unity3D supporting C#.

Consequently, a significant task involved developing a wrapper that bridged the gap between the C++ codebase of the crowd simulation system and the C# environment of Unity3D. Additionally, another crucial aspect was devising an algorithm capable of extracting Unity3D meshes to an .obj format, while intelligently removing non-walkable triangles and structuring the data in a format compatible with the crowd simulation system.

Moreover, a promotional website was created to showcase the project and its functionalities. Alongside software development, I assumed the responsibility of project leadership and engaging in constructive communication with clients to comprehensively understand their requirements, ensuring their satisfaction with the final product.


Utrecht University Icon Title: Teaching Assistant (Game Programming, Interaction Technology & Game Technology Introduction)
Company: Utrecht University
Years: 2012 - 2015

Designing assignments (Oculus Rift, Wii Mote, Kinect), preparing lectures, and helping students.

The responsibilities of a Teaching Assistant (TA) encompass assisting students enrolled in the course with their assignments as required and conducting evaluations of assignments and exams. Specifically, in the Game Programming course, which serves as the introductory course in the curriculum, the primary focus is on instructing students in programming while guiding them through the process of developing small games using the XNA gaming engine, such as "Pong" and "Tetris."

In the Interaction Technology course, students are instructed on the principles and considerations related to utilizing both traditional and innovative human-computer interaction technologies. As part of my involvement in this course, I designed assignments that require students to employ new interaction technologies, such as Oculus Rift, Wii Mote, Kinect, among others, to create applications tailored for individuals with disabilities. Moreover, I fulfilled the role of a TA for the Game Technology Introduction course, which entails providing support to teams of six students as they collaborate to create retro games. My responsibilities extended to handling administrative tasks and coordinating events like game showcases.


Who is Johnny?

Go to Introduction


What working experience does Johnny have?

You are here


What training did Johnny receive?

Go to Education


What did Johnny develop?

Go to Projects


What is Johnny Interested in?

Go to Interests


What skills does Johnny have?

Go to Skills