robinvanderknaap.dev

About me


TL;DR

I’m a full stack software developer with almost 20 years of experience. I’m the lead developer and co-owner of the Communicatie Cockpit. My current stack is Typescript, Node.js, Angular, PostgreSQL and Kubernetes.

Long version

My name is Robin van der Knaap. I’m a software developer from the Netherlands. I started programming at a young age on a Commodore 64. My big dream back then, to make a game about Transformers, unfortunately never turned into reality, but the seeds of my current career were planted during that time.

When I was about 15 years old, I was involved in creating and maintaining a bulletin board system (BBS), which is something like a website before the internet existed. The BBS was hosted on my personal computer at home in Apeldoorn. People could dial-in to the BBS one at a time since I only had one phone line. This was a fun time, especially due to the people you meet online (and later offline) from all over the country, which at that time were all computer enthousiasts like me.

At the age of 16 I started to loose my interest in computers, other things in life seemed much more interesting, going out with my friends, drinking, smoking and listening to Nirvana, those kind of things. At some point I even sold my last computer, and it would be years later until owned one again.

In high school I always had trouble keeping my attention (I was diagnosed with ADHD in my late thirties), so I didn’t start university until I was twenty-one. When it was time to make a decision what to study, computer science had not even crossed my mind and I opted for a study in economics with a specialization in accountancy. In contrast to high school, I got through this study quite easily and went to work at a large international accounting firm, Ernst & Young. A career as an accountant was looming, luckily I came to my senses in time.

During my studies, I already rediscovered my love for programming and regularly applied it to part-time jobs I had. Building small tools to automate manual processes within organizations was very satisfying. After working as an accountant for a year, the realization began to sink in that this was not the right choice for me. Accountants and programmers do share some similarities due to the fact they like to take a deep dive into matters and have the same abstract thinking. The difference is that programmers create things, accountants only make sure things add up and provide some assurance to stakeholders about financial statements, they add no real value to organisations in my opinion. I like to create things.

Since I never had high regards for hierarchy or authority, I immediately started working as an independent contractor, which was only possible because my dear wife did have a serious job. After a few months of further training and building some test projects, including a website for my indoor soccer team, my first assignment came at about the same time as the birth of our first son. (we ended up with three of them).

The first assignment was to maintain and further develop an existing planning system for call center agents at Leenart & Heemskerk, which was built in PHP. This assignment immediately taught me the value of software with a well-thought-out and developed architecture, because…. it was non-existing! The many updates I made were often accompanied by deep fear, as changes to one part of the system often caused other parts to break again. The low point was an update gone wrong just before a holiday trip with my wife that ultimately meant we had to leave with quite some delay. Stressful times, but nonetheless, very educative times.

A second assignment, from the same call center, to build a new application for measuring the effectiveness of recruitment campaigns led me to take a deep dive into software architecture, and also to switch to another development framework, namely .NET and C#. No more horror architecture for this man, but a ‘sleep peacefully’ architecture. Sleeping peacefully worked out well, but wisdom comes with age, and it took several years and mistakes before I was able to create a well-thought-out and appropriate architecture in which software is easy to adapt and, above all, easy to understand by others.

The preference for software architecture has remained with me in the years that followed. It guided me through dozens of projects that I built on the .NET framework. When Scott Guthrie came out with his famous ASP.NET MVC framework, I embraced it from version 1, a breath of fresh air compared to ASP.NET WebForms which was common for C# web developers at the time.

In 2009 after working a few years on my own, I started a web agency with two other developers, Eric Smalley and Erik van den Berg, we named it Webpirates. We designed websites and created web applications, hired a few people and had moderate success, especially considering we were in the midst of a financial crisis. In 2012 Erik van den Berg left Webpirates and joined another web agency. Because Erik was our designer, we decided to focus solely on web applications and software development and rebrand Webpirates to Skaele Software Development.

In 2012, we were asked to develop and participate in Basecone. An online platform for entrepreneurs and accountants to which invoices could be sent, after which they were automatically scanned, processed and booked into a accounting system. This is one of the projects that I look back on with pride. When we started Basecone, the operational team consisted of 4 people, two directors, me and my colleague Daan le Duc. When we said goodbye again two years later, the team had grown to more than 10 people and was subsequently acquired by Wolters Kluwer. Today, more than 100 people work on this platform and more than 2400 accounting firms work with this software.

After our Basecone time, we worked several years for a number of startups, most of which failed miserably. Very fun to do, but financially a fiasco. One highlight though, Shlfie, a platform for book lovers which made me regain my love for literature and brought us inside the infamous Boekenbal. Unfortunately, Shlfie does not exist anymore, but I’m still reading tons of books. In my opinion there’s more to learn from fiction than non-fiction books and it’s a great way for me to digitally detox.

In the meantime, I occasionally worked for the company of which I have since become a co-owner, the Communicatie Cockpit. I officially joined in 2018, partnering up with Remco Bleeker and Karin Hagelstein, and have enjoyed working there ever since. The Communicatie Cockpit is a platform for communication professionals, specifically public representatives. The Communicatie Cockpit enables representatives to share knowledge internally and communicate consistently to the outside world.

Technically this was quite a change for me: I was expected to build the platform on Node.js, which is often frowned upon by developers using other platforms, especially by .NET and Java developers. After a while of getting used to it, occasionally being laughed at by my old C# colleagues, I’m looking at you Daan le Duc :), I got completely used to the platform and even learned to value it. In fact, I very much enjoy working on the Node.js platform now.

Besides Node.js, my current stack at the Communicatie Cockpit consists of TypeScript, Kubernetes, PostgreSQL, RabbitMQ, Redis and Angular. I’m what they call a full stack developer, you could also say, jack of all trades, master of none.

Nowadays it is quite unusual for a developer to continue programming for 20 years, but I still enjoy it to this day. Perhaps what I enjoy most is passing on knowledge to other developers, to give something back for all the knowledge I have received in the past 20 years. In fact, to master a technique, in my opinion the best way to learn, is to teach. This is the main reason I wrote blog articles in the past, and hopefully will continue to do so for a long time.

Inspired by Rob Conery’s books, blogs and videos at bigmachine.io, I decided to start my own blog again. Rob’s style appeals to me, he has a personal tone, is very knowledgeable and great at storytelling. I learned a lot from him during his TekPub years, and I enjoy reading his blogs and books now.

I have been blogging on other platforms like dev.to and medium.com, but now I wanted to create my own site. This gave me the opportunity to learn about Static Site Generators (SSG) and multiple cloud offerings for hosting this website. I choose Hugo as SSG and Cloudflare for hosting for now. Obviously, the first article on this blog is how I built this site!

Robin

Hang Loose

"The shaka sign, sometimes known as "hang loose" is a gesture with friendly intent often associated with Hawaii and surf culture. It consists of extending the thumb and smallest finger while holding the three middle fingers curled, and gesturing in salutation while presenting the front or back of the hand; the wrist may be rotated back and forth for emphasis."