Samen met een andere developer ontwikkel ik Express Me, een app die mensen met spraakproblemen helpt, met een React Native front-end en een Spring Boot back-end, gedeployed op een AWS-cloudomgeving. Ik vertel je graag persoonlijk meer over dit project! ExpressMe
Ik besteed momenteel veel van mijn vrije tijd aan een project waarbij ik een tweedehands Yamaha XJR 1300 ombouw tot een elektrische motorfiets.
Voor dit project is een van de grootste uitdagingen het bouwen van het accupakket. Alles goed monteren. En alles veilig doen.
De voortgang van dit project is gaande, en ik zal updates plaatsen op het endless-sphere forum.
"I have worked together with Niek for one and a half year.
In this period, I came to know Niek as a skillful and creative developer and person. Both at work and privately, he enjoys tackling difficult problems and loves to discover and learn about new tools, technologies and methods. He does this on his own or in close cooperation with colleagues or team members, depending on what the situation asks for.
As a friendly, hard working and authentic person, next to his skill, he is a great addition to any team."
"I had the pleasure of working with Niek for 1.5 years in an agile software development team, where he consistently demonstrated his expertise as a full-stack developer. Niek is an enthusiastic and curious individual who dives head-first into unknown territory, mastering new technologies and solving complex problems with ease.
He is an excellent team player, always open to discussing complex issues and minor details, such as code styling, ensuring the best practices are followed. I have witnessed his remarkable growth from a heavy medior to a senior developer. In his senior role, Niek has shown exceptional leadership skills, capable of taking the lead, coaching team members, and sharing his extensive knowledge.
His dependability and ability to handle any task thrown his way make him a valuable asset to any team. It has been a privilege to work alongside Niek, and I am confident that he will continue to excel in his career."
Bij Alliander heb ik samen met een nieuw team gewerkt als full-stack ontwikkelaar, aan een applicatie die helpt bij de registratie en het beheer van problemen in het elektriciteitsnet. Het was mijn verantwoordelijkheid om een op maat gemaakte front-end (Angular) en back-end (Node.js/NestJS/Postgres) te ontwikkelen en te onderhouden.
Aanvankelijk werd deze software uitgerold op Openshift. Vanwege technische redenen gerelateerd aan een aankomende databasemigratie, nam ik het voortouw in het onderzoeken, plannen en uitvoeren van de migratie van onze deployment van Openshift naar een AWS EKS-cluster.
Naast de gebruikelijke software feature implementaties, was een van de grootste uitdagingen in dit project, het team en de organisatie in het algemeen, een migratie van een data-architectuur gebaseerd op SAP HANA naar een architectuur gebaseerd op AWS-gehoste databases. Ik nam de verantwoordelijkheid voor het technisch leiden van het project en het team op een pad vooruit, weg van SAP HANA, naar een architectuur opgebouwd rond AWS.
Ik heb nauw samengewerkt met de product owner, key-users, solution architects en andere ontwikkelaars om technische oplossingen en specifieke uitvoerbare actieplannen te vinden voor de ontwikkeling van nieuwe functionaliteiten en softwareoplossingen in het algemeen.
Video van dit project (Youtube), Link naar het spel (itch.io)
Dit is mijn winnende inzending van de Back to School Multiplayer Game Jam 2022, in de categorie 'Best competitive Gameplay'.
Na SyncVR begon ik te werken aan een multiplayer e-sports game in Unity als een technische uitdaging voor mezelf. Ik was van plan deze game af te maken en uit te brengen op Steam, maar ik ben er nooit aan toegekomen om het af te maken... misschien ooit ;) Het is echter wel speelbaar! Deze game is gemaakt in Unity met behulp van C# en de Photon Fusion service voor het multiplayer component. Ik maakte gebruik van machine learning (Unity ML-Agents) om AI voor de game te trainen.
Tijdens de ontwikkeling van deze game is performance/framerate altijd een van de hoogste prioriteiten geweest, naast het optimaliseren van de architectuur van het project voor een hoge schaalbaarheid/flexibiliteit.
Unity UI Toolkit was bij de opzet van dit project een relatief nieuwe feature geïntroduceerd door Unity. In veel opzichten is het vergelijkbaar met HTML/CSS/JS. Echter ontbreken er nog veel functies. Zoals een goede native ondersteuning voor component gebaseerde UI-werk. Dus was het me gelukt om een zeer minimalistisch Angular-achtig framework te creëren binnen mijn eigen project, waardoor ik nog steeds kon werken met een soort UXML/USS/C# web-component systeem voor mijn Unity-project. Hierdoor heb ik nog meer kennis opgedaan over de interne werking van bestaande webframeworks zoals Angular en React.
"I really enjoyed working intensively with Niek for almost seven months. Niek is a highly knowledgeable, solution focused and outside-the-box creative thinker and a very productive software developer. In his communication he's extremely honest about estimations, his skills and his expectations which makes him very reliable to work with. He contributed in all kinds of ways to our startup during his years with us which makes it sad to see him leave. Besides being a high potential young professional, he's also very surprising in his private projects (ask him about this!) which demonstrates his passion for using technology in a fun and functional way. An authentic human being whose smile in the daily standup I will miss!"
"Had the chance to do some software development with Niek during his time at SyncVR Medical. Beside being a great guy to be around he is an incredibly productive developer, able to build from scratch, get things out very fast and owning a new piece of stack very quickly.
You don't come around a real Full Stack Dev that often."
Bij SyncVR was ik de lead web-developer. Hier was mijn voornaamste verantwoordelijkheid het ontwikkelen en onderhouden van een op maat gemaakt platform front-end (Angular) en backend (Node.js/Express) op Google Cloud Platform. Aanvankelijk werd dit platform gebruikt als een intern hulpmiddel om zorginstellingen, geleasede VR-apparaten en hun beschikbare VR-toepassingen te beheren.
In de loop van de tijd transformeerde dit systeem in een platform waar zorgprofessionals kunnen inloggen om apparaten op afstand te beheren (mobile device management functionaliteiten). Terwijl app-ontwikkelaars kunnen inloggen om hun apps en app-versies/releases te beheren (app store functionaliteiten). Dit is een platform dat ik vanaf het begin grotendeels zelfstandig heb ontwikkeld. In het laatste half jaar sloten andere ontwikkelaars zich aan bij het team om het project te ondersteunen.
Tijdens mijn laatste periode bij SyncVR heb ik het grootste deel van mijn tijd besteed aan het refactoren van de architectuur van het platform om een overstap van een NoSQL document database (Firestore) naar een relationele database (MySQL) mogelijk te maken. Met alle hindernissen die je je kunt voorstellen bij een dergelijke opdracht. Ik nam de verantwoordelijkheid op me om te leren hoe ik een mooie GraphQL-implementatie kon maken die deze complexe migratie kon faciliteren. Ik moet zeggen, ik ben hierdoor een echte GraphQL fanboy geworden.
In de loop der jaren bij SyncVR heb ik nauw samengewerkt met business developers, klanten, ontwerpers en andere ontwikkelaars om functionele en technische eisen voor het platform te specificeren. Ik heb ook verschillende studenten begeleid om ervoor te zorgen dat hun VR-toepassingen performant waren en binnen de gestelde deadline werden geleverd.
Video van dit project (Youtube)
Tussen Targomo en SyncVR heb ik enkele maanden besteed aan het leren over embedded software en hardwareontwikkeling. Ik heb een op maat gemaakte gaming tafel vanaf nul ontwikkeld. Alle details over die maanden zijn gedocumenteerd in deze blogpost (Medium).
De resultaten van dit project zijn nog steeds in mijn vrije tijd gaande (hoewel ik toe moet geven dat ik dit project niet de tijd heb kunnen geven die het verdient), en zijn te zien in deze repository (Github).
Ik heb een eenvoudige PCB ontworpen met KiCad. Ik heb een zelf een programmeertaal ontwikkeld (ArcadableScript) die kan worden uitgevoerd als een geïnterpreteerde taal op een Teensy MCU. Of het ArcadableScript kan worden geëmuleerd in de ontwikkelomgeving in een Arcadable vsCode-extensie.
De grote (en leuke) uitdaging van dit project is de extreem low level performance optimalisatie. Het gebruik van 2 Teensy MCU-controllers in parallel om het zelfgebouwde 42x42 led-display aan te sturen, terwijl ook audio moet worden afgespeeld en game-logica zonder haperingen moet worden uitgevoerd.
Kopie beschikbaar op verzoek
“I've had the pleasure of working with Niek as the Product Manager of his software development work at Targomo. He has been responsible for developing several customer solutions for different use cases within the retail and public sector industry. In all projects, Niek showed strong ownership, critical-thinking and creativity. He is very self-motivated, hardworking and fun to work with. Niek is a valuable contributor you want to have on your team.”
Ik had mijn afstudeerstage tijdens mijn eerste halfjaar bij Targomo. Tijdens deze stage heb ik onderzoek gedaan en online documentatie opgezet voor de API's die door het bedrijf worden aangeboden.
Na mijn afstudeerstage ben ik in dienst gegaan voor het onderhouden en updaten van de API-documentatie website, gebouwd met HUGO static site generation.
Daarnaast heb ik onderhoudswerkzaamheden verricht aan de Account Management App voor Targomo API-gebruikers. Meer specifiek, het implementeren van een op maat gemaakte front-end (Angular) en back-end (Node.js/Express) services die nodig zijn voor het beheren van SCA-compliant automatische betalingen met de Stripe payment processor.
Ten slotte heb ik twee andere klantenapplicaties (Angular) ontwikkeld en onderhouden. Voor deze projecten was ik de lead developer, en werkte ik nauw samen met de product owners en klanten om technische en functionele eisen vast te stellen.
Bij Social Brothers heb ik het team ondersteund bij het bouwen van Virtual Reality-toepassingen voor de Oculus Rift met behulp van Unity/C#. Dit was een parttime baan terwijl ik student was.
Bij Bricks & Goggles heb ik stage gelopen. Tijdens deze stage hielp ik bij het ontwikkelen van Virtual Reality apps voor de Oculus Rift. Ik ontwikkelde ook Unity-plugins waarmee het team goede tijdschattingen kon maken. Deze plugins verminderde ook de tijd die nodig was om architecturale modellen te importeren en voor VR voor te bereiden. Ik deed onderzoek naar performance optimalisaties voor VR in Unity/C#.
Samen met een andere ontwikkelaar hebben we een systeem ontwikkeld waarmee het bedrijf hardwareoplossingen op afstand kan monitoren. We hebben een native Android-app, een REST API en een ASP.NET-webapp ontwikkeld.