CV

Profiel

Ik ben een full-stack webontwikkelaar die er van houdt complexe, vernieuwende ideeen om te zetten in gebruiksvriendelijke, goed presterende webapplicaties. In de afgelopen 20 jaar heb ik geleerd hoe belangrijk het is duidelijke, consistente, bondige, zelfdocumenterende code te schrijven. Hierbij volg ik het DRY ("Don't repeat yourself") principe. Een combinatie van Django (Python) en ReactJS (met mobx) blijkt in de meeste gevallen ideaal. Het stelt me in staat in de kortst mogelijke tijd eindproducten te leveren met een hoge kwaliteit.

Technische ervaring

Webdevelopment

Op dit moment is dit mijn geprefereerde stack:

Django (Python) - Hier bouw ik al 10 jaar webapplicaties mee. Alhoewel de rol van Django de afgelopen jaren minder groot is geworden door het vaker inzetten van SPAs (Single Page Applications) blijkt het nog altijd een solide basis voor de meeste (web) projecten.

ReactJS / MobX - Van JQuery ben ik overgestapt naar AngularJS om vervolgens de juiste balans van controle en compactheid te vinden in React. Ik heb React nu in een aantal grote projecten gebruikt icm mobx en dit blijkt zeer efficiente, krachtige en overzichtelijke code op te leveren.

webpack / Babel - Om moderne versies van Javascript te kunnen gebruiken in de frontend en de te downloaden code voor de gebruiker zo klein mogelijk te maken heb ik gekozen voor Babel en webpack. Ik bouw zelden React gebaseerde applicaties zonder deze tools.

PostgreSQL / MongoDB - Django is gek op Postgres (meer dan MySQL) en de afgelopen 5 jaar wissel ik het gebruik hiervan af met MongoDB afhankelijk van de eisen.

HTML5 / CSS3 / Javascript (ES5, ES6) / JSX / SVG - De afgelopen 10 jaar heb ik de ontwikkeling van nieuwe webstandaarden gevolgd en dankbaar gebruik gemaakt van alle nieuwe mogelijkheden. Het afgelopen jaar heb ik bijv. een React applicatie gebouwd die door een combinatie van ES6, JSX en SVG interactief de planning van grote management projecten visueel kon maken.

Git / Apache / Ubuntu / virtualenv - Gezien ik de meeste projecten zelfstandig opbouw betekent dit ook dat ik doorgaans het inrichten van de infrastructuur voor mijn rekening neem. Hier hoort dus ook het uitwerken van een deployment strategie en het inrichten van de verschillende machines bij.

Aangevuld met:

Flask (Python) - Voor enkele prototypes heb ik Flask gebruikt ipv Django gezien Flask projecten veel eenvoudiger zijn om op te zetten en deployen (maar vaak wel wat te wensen overlaat qua default security).

JQuery - Jaren geleden zeer intensief gebruikt maar tegenwoordig slechts sporadisch voor kleine stukjes functionaliteit waar React overkill voor is.

Bootstrap - Zet ik in op de meeste projecten in de begin fase zodat ik geen tijd hoef te verspillen aan CSS om applicaties er snel aardig uit te laten zien.

RabbitMQ - Voor complexere projecten gebruik ik RabbitMQ om communicatie tussen langdraaiende achtergrond processen mogelijk te maken.

Django REST framework (DRF) - In het verleden heb ik enkele projecten gebruik laten maken van DRF.

gevent - Voor MataCSM was er een realtime websocket interface om de voortgang van bijv. installatie processen weer te geven, deze was op basis van gevent.

Django CMS - Voor een aantal klanten heb ik in het verleden een website met CMS gerealiseerd.

Elasticsearch - Full-text search functionaliteit voor MataCSM

Celery - Afgelopen jaar gebruikt voor het in de achtergrond uitvoeren van communicatie met een zeer trage backend.

Niet (sterk) gerelateerd aan webdevelopment:

C / C++ / x86,x64 assembly - Ik heb in mijn jongere jaren veel geprogrammeerd in C en C++. O.a. een 3d engine en verschillende security tools. Tegenwoordig alleen voor zeer tijdskritieke stukken in eigen projecten (bijv. eigen machine learning algoritmen)

TensorFlow / Theano / scikit-learn / OpenCV / Numpy / Scipy - Voor verschillende eigen projecten heb ik veel gebruik gemaakt van deze platformen. Meestal mbt computer vision / beeld-analyse dmv deep learning.

Java - Uitgebreide driedelige cursus op de VU volbracht (Inl. programmeren 1 en 2, Datastructuren).

Professionele ervaring

2009-heden

Freelance webdeveloper

SmartRollout - Voor SmartRollout heb ik een o.a een webportal en visualisatie componenten gebouwd voor hun FileMaker gebaseerde platform.

Joboti - I.s.m Stephan Kockelkoren heb ik de script editor, portal, router, en een aantal api integraties gebouwd voor het Joboti chatbot platform. Joboti stelt organisaties in staat snel bruikbare informatie te vergaren d.m.v van chatbots. Hierbij wordt o.a gebruik gemaakt van het Microsoft Bot Framework.

MataCSM - Voor Rick Olson heb ik MataCSM gebouwd. MataCSM is een systeem waarmee organisaties inzicht krijgen in de veiligheid van hun online assets. Servers en webapplicaties kunnen worden toegevoegd waarna deze regelmatig gescand worden op (mogelijke) problemen. Gebruikers worden onmiddellijk op de hoogte gebracht van nieuwe ontwikkelingen. Ook wordt automatisch gekeken of er informatie gelekt wordt vanuit de organisatie (bijv. via publieke Github repositories). Het is ook mogelijk automatisch servers toe te voegen vanuit verschillende cloud providers.

IIQ Quest - Voor Implementation IQ (IIQ) heb ik een webbased questionnaire pakket geïmplementeerd waarmee zij hun IMPLEMENT-onderzoek konden uitvoeren. Hiermee was het mogelijk via de browser een questionnaire in te voeren, uitnodigingen aan te maken (evt. geïmporteerd uit een vcard database), te versturen en de voortgang van de geenqueteerden te volgen. Aan de hand van de resultaten konden mensen uitgenodigd worden deel te nemen aan een blog-platform. Medewerkers van IIQ konden op dit platform middels Markdown gemakkelijk nieuwe content toevoegen en genodigden werd de mogelijkheid geboden commentaar te geven of een discussie te starten.

Smaakwijzer - Voor de ontwerpers van ONTWARD heb ik questionnaire pakket geïmplementeerd waarmee het mogelijk was de smaak van hun (potentiele) klanten te polsen. In dit geval was de questionnaire editor gebaseerd op een custom Django admin manager. Door slechts de models te definiëren was het hierdoor mogelijk gemakkelijk een gehele questionnaire hierarchie aan te maken op dezelfde pagina i.p.v. allerlei losse objecten aan te moeten maken in aparte views in de standaard Django admin.

Implementation Analyzer - Voor Implementation IQ (IIQ) heb ik een systeem geïmplementeerd die het mogelijk maakt de implementatie van innovaties inzichtelijk te maken. De gebruiker kan allerlei data invoeren over stakeholders en hun wensen en er kan dan automatisch via realtime grafieken aan worden gegeven waar de belangrijkste obstakels aanwezig zijn en hoe deze kunnen worden aangepakt (b.v. door wetenschappelijk bewijs te leveren omtrent de werking). Tevens kunnen er questionnaires gegenereerd en verzonden worden naar stakeholders (die ze direct in hun browser kunnen invullen) en die dan automatisch verwerkt worden als extra gegevens. Tevens is het mogelijk overzichten en rapporten in te zien van een hele suite van innovaties tegelijkertijd.

Ria Dekker Mediation - Voor Ria Dekker Mediation heb ik zowel de huisstijl als de website verzorgd. De site is geïmplementeerd met Django CMS.

Ontzameling - In samenwerking met Edward Janssen (ontwerper, Ontward) heb ik voor stichting Ontzameling de eerste versie van hun site ontwikkeld. De website fungeert als catalogus voor een grote kunstverzameling. Via de Django admin met custom widgets is het mogelijk de kunstverzameling te beheren en de stukken al dan niet in de juiste rubrieken op de site te laten verschijnen. De site zelf bevatte geanimeerde widgets met kunststukken zodat er altijd iets nieuws te zien is, aangepast aan de gebruiker in kwestie. De huidige versie van de site is gemaakt door onebite.

Els Streefkerk - Voor muziekdocent Els Streefkerk heb ik haar persoonlijke site geïmplementeerd in Django CMS. Ontwerp door Edward Janssen.

Viola Groenhart - Voor filmmaakster Viola Groenhart heb ik haar persoonlijke site geïmplementeerd. De site kan worden onderhouden via Django CMS inclusief custom plugins om de verschillende widgets op de site aan te passen.

Jan Beutener - Voor kunstschilder Jan Beutener heb ik zijn portfolio-site geïmplementeerd. In de Django admin kan de inhoud van de site worden aangepast.

Jouwstraat.nl - Voor jouwstraat.nl heb ik een development omgeving ingericht en een module gebouwd waarmee contacten konden worden geïmporteerd uit Gmail, Yahoo en Hotmail.

Second Company - Voor Second Company heb ik een demo website ontwikkeld welke samen moest werken met een gecentraliseerd authentificatie en data systeem op basis van REST services.

de man en de vos - Voor het filmmakerscollectief "de man en de vos" heb ik de eerste versie van hun website geïmplementeerd. Opmerkelijk zijn hier vooral de overgangen, die hetzelfde gevoel moeten opwekken zoals die in een film (fadeout, crossfade etc.), gemaakt met JQuery. De inhoud kan worden aangepast in de Django admin met custom widgets.

Catastrophist.org - Voor geoloog Han Kloosterman heb ik een site gebouwd als archief van zijn onderzoek.

2009

Medewerker van de service-desk van internetapplicatieprovider BlueDome.

2008

Onderhouds werkzaamheden aan een sql database omgeving en helpdesk assistentie bij de ICT support van Coty Nederland.

2008

Het implementeren van framework gebaseerde websites bij Synetic. Het ging voornamelijk om webshops op basis van Drupal (PHP).

2007-2009

Medewerker van Filmhuis Griffioen.

2007

Het functioneel testen van verschillende websites bij Airtrade Holland. Tevens uitgebreid onderzoek gedaan naar het omschakelen naar geautomatiseerd testen. Ik heb me daar vooral gericht op het testen en scripts ontwikkelen in Selenium en QEngine.

2006

Verantwoordelijk voor de migratie van een verouderde database naar een nieuwe “in-house” ontwikkelde applicatie bij TBMA Europe.

2003-2004

Systeem tester bij TNS-NIPO. Het ging om het testen van de functionaliteit in een software suite voor tele-enqueteurs. Voor een deel gebeurde dit geautomatiseerd d.m.v. QARun.

Opleidingen

2002-2007

De eerste twee jaar Informatiekunde, vervolgens een paar maanden Informatica en vanaf 2004 Kunstmatige Intelligentie aan de Vrije Universiteit Amsterdam.

1995-2002

Atheneum op College Hageveld in Heemstede. Geslaagd in 2002.

Meer over mij

In 2010 ben ik een eigen webdevelopment bedrijf begonnen met als doel mensen hun ideeen te helpen realiseren op het web. Als ik niet voor klanten bezig ben dan ben ik doorgaans druk met mijn eigen creatieve projecten. Op dit moment ben ik bijv. bezig te leren om met o.a Blender videoclips bij mijn eigen muziek te maken.


Contact

mail:
rolf@rolfvandam.nl

skype:
rolf.van.dam

tel :
+31 (0)6 28851676

adres:

 Meer en boslaan 19
 2103 VM Heemstede