CV

Profile

I am a full-stack web developer who loves to translate complex and innovative ideas into user-friendly, well-performing web applications. In the last 20 years, I have learnt how important it is to write clear, consistent, concise and self-documenting code. I always attempt to adhere to the SOLID principles as much as possible. The combination of Django (Python), and React (with mobx) is perfect for achieving these aims. It allows me to deliver the end product in the quickest possible time and to the highest quality.

Technical experience

Web development

My current prefered stack:

Django (Python) - The linchpin in most of my development for more than 15 years now. Even though it's role has diminished over the years because of the employment of SPAs (Single Page Applications) it's still the ideal backend framework for most purposes.

ReactJS / MobX - I moved from JQuery to AngularJS to now focus mainly on React. I've used React on a number of large projects in combination with mobx en this has consistently resulted in efficient, powerful and conscise code.

Parcel / webpack / Babel - To be able to use modern versions of Javascript and minify the resulting download for the end user I tend to use Parcel but have used webpack / Babel in the past. I've rarely attempted a React project without these tools.

PostgreSQL - Django loves postgres (more so than MySQL) and is surprisingly versatile, even when used to tackle larger datasets.

HTML5 / CSS3 / Javascript (ES5, ES6) / JSX / TypeScript / TSX / SVG - I've kept track of new webstandards over the last 15 years and I'm excited to put them to good use.

Git / Apache / Ubuntu / nginx / Gunicorn / Docker / virtualenv - Seeing how I usually build projects from the ground up I'm usually also responsible for the underlying infrastructure. This includes creating a deployment strategy and installing and configuring the servers.

Supplemented with:

Flask (Python) - Used for a couple of prototypes since Flask is easier to set up and deploy than Django (but also leaves a lot to be desired when it comes to default security).

JQuery - Used intensively in earlier years but I only use it now if React is overkill

Bootstrap - Used on most projects so I don't have to waste time on CSS to make apps look good from the start.

RabbitMQ - Used for a number of more complex systems to interface various long running processes.

Django REST framework (DRF) - Some earlier projects used DRF intensively.

gevent - Used as a websocket server on MataCSM to visualise installation processes running on the server.

Django CMS - Early in my career I've built some smaller websites that could be managed through Django CMS.

Elasticsearch - Full-text search functionality for MataCSM

Celery - Used a number of times to decouple long running procedures from the server response.

Not (strongly) related to web development:

C / C++ / x86,x64 assembly - I did a lot of C / C++ programming in high school. This included a 3D engine and various security related tools. These days I use it sparingly in the time critical parts of my own projects (for example; home grown machine learning algorithms)

TensorFlow / PyTorch / Theano / scikit-learn / OpenCV / Numpy / Scipy - Used at one time or another on my own projects. Usually to do with computer vision / image analysis using deep learning.

Java - Finished a 3 part course at the VU (Introduction to Programming 1 and 2, Datastructures).

Professional experience

2010-present

Freelance web developer

SmartRollout - For SmartRollout I built a webportal and a number of visualisation components for their FileMaker based platform.

Joboti - For Stephan Kockelkoren I've built the script editor, portal, router and a number of api integrations for the Joboti chatbot platform. Joboti enables organisations to quickly gather information using chatbots. Among other things it uses the Microsoft Bot Framework.

MataCSM - For Rick Olson I've developed the MataCSM system. MataCSM enables organisations to get insight into the security of their online assets. Servers and web applications are continually scanned for potential security problems. Users are immediately alerted to new developments. It can also discover information leaks from the organisation (through public Github repositories for example). It's also possible to add assets automatically through the API of various cloud providers.

IIQ Quest - For Implementation IQ (IIQ), I implemented a web-based questionnaire suite so they could carry out their IMPLEMENT research. This made it possible to fill in a questionnaire in the browser, create invites (if required, imported from a vcard database), to send and to follow the progress of those surveyed. Using the results, people can invite others to take part in a blog platform. Employees of IIQ can use Markdown to easily add new content and invitees are given the possibility to add comments or start a discussion.

Smaakwijzer - For the designers of ONTWARD,I developed a questionnaire suite to discover the design preferences of their customers. In this case, the questionnaire editor was based on a custom Django admin manager. By simply defining the models, it was possible to easily create a complete questionnaire hierarchy on the same page instead of needing to make separate objects in separate views in the standard Django admin.

Implementation Analyzer - For Implementation IQ (IIQ), I implemented a system that makes the implementation of healthcare innovations more transparant. The user can input data about stakeholders and their needs. Graphics are automatically produced showing what the most important obstacles are and how they can be dealt with (for example, by giving scientific evidence of the innovation's effectiveness). Also, questionnaires can be generated and sent to stakeholders (who can fill them in directly in the browser) and can be then automatically processed as additional data. It is also possible to see summaries and reports of a whole selection of innovations at the same time.

Ria Dekker Mediation - For Ria Dekker Mediation I created the brand design and the website. The site is implemented using Django CMS.

Ontzameling - Together with Edward Janssen (designer at Ontward), I created the first version of the website for Stichting Ontzameling. The website functions as a catalogue for a large art collection. Through Django admin and using custom widgets, it was possible to manage the art collection and to show the pieces on different parts of the site. The site contained animated widgets with art pieces so that there was always something new to see, customised to the user’s preferences. The current version of the site is made by onebite.

Els Streefkerk - For music teacher Els Streefkerk, I made a personal website which was implemented in Django CMS. Design by Edward Janssen.

Viola Groenhart - For filmmaker Viola Groenhart, I made a personal website. The site can be maintained using Django CMS and custom plugins so that different widgets can be changed on the site.

Jan Beutener - For artist Jan Beutener, I created a portfolio website. The content can be edited using Django admin.

Jouwstraat.nl - For jouwstraat.nl, I set up a development environment and built a module to import contacts from Gmail, Yahoo and Hotmail.

Second Company - For Second Company , I developed a demo website which needed to work with a centralised authentication and data system using REST services.

de man en de vos - For the filmmakers collective "de man en de vos" ”, I implemented the first version of their website. I used transitions made with JQuery to give the website a cinematic quality. The content can be edited using Django admin with custom widgets.

Catastrophist.org - For geologist Han Kloosterman, I created a website as an archive for his research.

2009

Service desk employee at internet application provider, BlueDome.

2008

Maintainer of an SQL database environment and helpdesk assistant at Coty Nederland.

2008

Implementing framework-based websites at Synetic. Mostly web shops made in Drupal (PHP).

2007-2009

Cinema projectionist at Filmhuis Griffioen.

2007

Functional testing of different websites at Airtrade Holland. I also did extensive research into switching to automatic testing. I mostly focussed on developing tests and scripts in Selenium and QEngine.

2006

Responsible for migrating an obsolete database to a new in-house developed application by TBMA Europe.

2003-2004

System tester at TNS-NIPO. Testing functionality in a software suite for telephone surveyors. This was partially automated using QARun.

Education

2002-2007

VU University Amsterdam. The first two years of my bachelor I studied Information Science followed by a few months of Computer Science and from 2004 onwards I studied Artificial Intelligence.

1995-2002

College Hageveld in Heemstede (Secondary school).

More about me

In 2010 I started my own web development company to help people realise their ideas on the web. When I'm not working a project for a client I'm usually working on one of my own creative projects. For example, right now I'm learning to use Blender to create visual effects so I can create videos for my own music.


Contact

mail:
rolf@rolfvandam.nl

tel :
+31 (0)6 28851676

address:

 Meer en boslaan 19
 2103 VM Heemstede