drs. Jeroen Derks, SCJP, ZCE, MCC

PDF

Mijn professionele ervaring ligt voornamelijk in Internet/web development en daarvan afgeleide applicaties met security als belangrijk aandachtspunt.

Sinds juli 2001 ben ik werkzaam als freelancer en ik werk met PHP sinds PHP.
In die tijd heb ik veel verschillende bedrijven van binnen gezien en veel verschillende manieren om applicaties en infrastructuur te bouwen.
Tijdens mijn tijd als ontwikkelaar heb ik veel kennis, ervaring en vertrouwen opgedaan om echte problemen op te lossen.
Ik geloof dat de belangrijkste vaardigheid van een ontwikkelaar is de kunde is om geschikte informatie te vinden over hoe een probleem op te lossen en die daarop te kunnen evalueren op bruikbaarheid en correctheid..
Mijn doelstellingen bij het ontwikkelen van code kunnen verschillen per klant maar als het aan mij ligt kies ik ervoor om kwalitatief hoogwaardige en veilige code te leveren

Momenteel ben ik op zoek naar freelancewerk, bij voorkeur met Laravel, of beter deel uit te maken van een project in een niet-programmerende rol, zoals Pre/Post Sales Engineer, projectmanager, Scrum Master, CTO of Co-Founder.

Vaardigheden / kennis

Programmeertalen: BASIC, bourne shell, C, C++, Dart, Go, JavaScript, Modula-2, Pascal, PHP, Python, SQL, (Assembly, ASP, Java, Perl)
Protocollen: IP, UDP, TCP, FTP, TFTP, HTTP, SOAP, SMTP, POP3, telnet, SSH, SSL
File formaten: Atom, CSS, DTD, HTML, RSS, SMIL, WSDL, WML, XHTML, XML, XSL
Databases: Aurora DB Cluster, Elasticsearch, LDAP, MariaDB, msql, MS SQL (FreeTDS), MySQL, Oracle (MFC ODBC, OO4O), Percona, PostgreSQL, SQLite, Sybase (Rogue Wave DBTools++)
Bedrijfssystemen: Unix (*BSD, Irix, Linux, Mac OS X, Minix, Solaris), MS-DOS, Windows 2/3.11/9x/ME/NT/2000/XP/etc, (ComOS, IOS)
Hardware: Cisco, Force10, Livingston Portmaster, NetApp, Netgate, PC, QNAP, SGI (Indigo, Indy, O2, Challenge S/XL, Origin 200); Sun 3/4/Netra
Anders: Agile, Alexa, Ansible, Appcelerator Titanium, AWS, BS7799, CGI, CI/CD, Codeship, composer, CVS, DevOps, DHL Express API, Docker, DOM, DNS, Elastic Email, ExtJS, Flutter, Gearman, Git, GitLab, GNU, HAProxy, iDEAL, ISAPI, ISO9001, JIRA, jQuery, Kibana, Laravel, Lean, LinkedIn API, Magento, Mattermost, MFC, MyParcel API, NSAPI, OO, OpenSSL, Perforce, pfSense, PGP, PHP-GTK, PHPUnit, Pingdom API, PKI, Prototype, redis, Scrum, Selenium, SendInBlue, Slack, Subversion (SVN), Symfony2/3, Teams, Trello, UptimeRobot, Vagrant, VB, VC++, Vue.js, VID, VMware, WAP, weasyprint, Win32, WordPress, XSLT, Zend Framework, ZFS

Werkervaring

Derks.IT
Alicante, Spanje
jul 2021 - now Lead PHP Developer (op afstand)
Ik ben gevraagd om een complete inventarisatie te maken van een mobiele e-wallet applicatie (Android, iOS swift) inclusief de bijbehorende API en controlepaneel (CakePHP), inclusief connectiviteit met derde partijen, tech stack, hosting, etc.
Daarna kreeg ik de taak om de volledige ontwikkeling van het project te leiden, waarvoor ik een team van ontwikkelaars aan het opzetten ben om de ontdekte problemen op te lossen en de applicatie voor te bereiden voor publieke release.
Om dit te doen heb ik een ontwikkelingsproces geïmplementeerd, waarbij ik de broncode verplaatste naar een broncontrolesysteem (GitLab), het werken met branches introduceerde (GitLab Flow met omgevingsbranches), databasemigraties toevoegde, op dotenv gebaseerde configuratie, waardoor het gebruik van verschillende omgevingen (zoals ontwikkeling, test, productie), het configureren van geautomatiseerde implementaties en het toevoegen van Docker-configuratie om als nieuwe ontwikkelaar snel aan de slag te kunnen.
Verder ben ik ook verantwoordelijk voor het uitrollen, onderhouden en monitoren van de serverinfrastructuur in AWS met behulp van Ansible.
(PHP, MySQL, CakePHP; ansible, Docker, GitLab, git, Trello; AWS, Linux, Mac OS X)
Derks.IT
Alicante, Spanje
jun 2021 - now Security Analyst/PHP Developer (op afstand)
Ik werd gevraagd om een inventarisatie te maken van de op PHP 5.x gebaseerde legacy in-house applicatie van een medische kliniek om klantgegevens en testresultaten te beheren, specifiek gericht op de beveiliging van het systeem omdat het medische gegevens betrof.
Daarna heb ik de code bijgewerkt voor PHP 7.4, de broncode verplaatst naar versiebeheer (GitLab), de broncode geherstructureerd (ook enkele unit tests, SQL- en PHP-gebaseerde databasemigraties, dotenv-gebaseerde configuratie en kleine wijzigingen in het data model) en de ontdekte en andere kleine problemen opgelost (sommige van die problemen werden verholpen door middel van encryptie).
Ter voorbereiding op geautomatiseerde implementatie op basis van pushes naar specifieke branches (GitLab Flow met omgevingsbranches) heb ik een Azure DevOps-pipeline geschreven die wordt gebruikt voor het uitvoeren van tests vóór deployment en heb ik een Docker-container geconfigureerd om de server na te bootsen die wordt gebruikt in Azure DevOps.
(PHP, MySQL; ansible, Azure DevOps, Docker, git, Trello; Linux, Mac OS X)
Collective Flow
Hoogerheide
jul 2021 - sep 2021 PHP Developer (op afstand)
Een klein script om de oproepstatus door te geven aan een externe provider.
(PHP, MySQL, Asteriks; Linux, Mac OS X)
Derks.IT
Alicante, Spanje
mar 2021 - jul 2021 Laravel Programmer (op afstand)
Voor twee interne projecten die geautomatiseerde verwerking van facturen mogelijk maakt en serverinfrastructuur beheert, gebruikte ik (onder andere):
  • Invoice2data, een pythonbibliotheek om gegevens uit facturen te halen
  • Ansible, een open source software-provisioning, configuratiebeheer en applicatie-implementatietool die infrastructuur als code mogelijk maakt
  • Terraform, een andere open-source infrastructuur als codesoftwaretool
  • Shell scripts
Het project voor het beheer van de serverinfrastructuur is momenteel gepauzeerd.
(PHP, MySQL, Laravel, Vue.js; ansible, git, invoice2data, terraform; Linux, Mac OS X)
Derks.IT
Alicante, Spanje
mar 2021 - jun 2021 PHP Lead Developer (op afstand)
Voor een Nederlandse klant die diensten aanbiedt om bedrijven te helpen bij het beheren en communiceren met hun werknemers, heb ik hun ontwikkelingsproces verbeterd door de broncode te verplaatsen naar een versiebeheersysteem (GitLab), het introduceren om met branches te werken en te mergen (GitLab Flow met omgevingsbranches), het toevoegen van databasemigraties, het configureren van een testomgeving, Docker-container configureren om eenvoudig en snel een volledig werkende ontwikkelomgeving te hebben, het configureren van geautomatiseerde implementaties (GitLab-pipelines) en het opleiden van andere ontwikkelaars en projectmanagers over het gebruik hiervan.
Verder heb ik ook bugs verholpen en nieuwe features geïmplementeerd.
(PHP, MySQL; Docker, GitLab, git; Linux, Mac OS X)
Restocks
Breda
dec 2020 - may 2021 Laravel Developer (op afstand)
  • Integratie met DHL Express voorbereiden voor verzending in de hele EU
  • Voorbereiden voor herontwerp API met OpenAPI 3.0
  • Kleine bugfixes en functionaliteiten
(PHP, MySQL, Laravel; GitHub, Postman, Trello; Linux, Mac OS X)
Derks.IT
Alicante, Spanje
jun 2020 - jul 2020 Laravel programmeur (op afstand)
Voor een website, die is gebouwd met Laravel, via welke autoklassiekers aangeboden worden, heb ik veel problemen in de lay-out en functionaliteiten opgelost.
(PHP, MySQL, Laravel; git, Trello; Linux, Mac OS X)
Iristrace
Ibi / Alicante, Spanje
dec 2018 - jun 2020 Senior backend ontwikkelaar (op afstand)
Helpen van Iristrace om hun codebase en rapportage te verbeteren, beveiligingsproblemen te verminderen en hun platform te schalen.
(PHP, Python, Go, MySQL, CodeIgniter, Symfony; GitLab, RabbitMQ; Docker, Linux, Mac OS X)
Angry Nerds
Rotterdam
nov 2019 - jan 2020 Senior PHP programmeur (op afstand)
Als teamlid gewerkt aan een groot project geschreven in CodeIgniter (100k + LOC), waarbij ik beveiligingsproblemen voornamelijk geautomatiseerd opgelost heb met behulp van reguliere expressies in een Makefile.
(PHP, MySQL, CodeIgniter; Bitbucket, Vagrant; Linux, Mac OS X)
Schipper Vaasen
Amsterdam
mrt 2019 - dec 2019 Senior PHP / Appcelerator Titanium ontwikkelaar (op afstand)
Voor een autoschadebedrijf werd ik gevraagd om enkele kleine bugfixes en ander onderhoud uit te voeren aan hun API en semi-interne website (gemaakt met CakePHP) en app (gemaakt met Appcelerator Titanium).
(PHP, MySQL, CakePHP; Appcelerator Titanium; Linux, Mac OS X)
Hoogheemraadschap
van Rijnland

Leiden
nov 2019 Senior PHP programmeur (op afstand)
Voor dit hoogheemraadschap heb ik enkele kleine problemen in een webapplicatie opgelost nadat ze PHP hadden geüpgraded.
(PHP, MySQL; Linux, Mac OS X)
Kuveno
Helsinki, Finland
okt 2018 - nov 2019 Payroll recruiter
Via mijn Alicante Tech Meetup werd ik benaderd door Kuveno om hen te helpen bij het vinden van ontwikkelaars in de omgeving van Alicante om op afstand aan hun platform te werken. Spoedig daarna vond ik twee Javascripts-ontwikkelaars die mijn werknemers werden en die exclusief voor Kuveno werkten.
Restocks
Barendrecht
mei 2019 - nov 2019 Laravel ontwikkelaar (op afstand)
  • Integratie van verzendaanbieder toegevoegd voor DHL Express, waardoor het naast de vorige integratie van verzendaanbieder (MyParcel) kan bestaan
  • Migraties en tests toegevoegd
  • Voorbereiden van migratie van betalingsprovider naar Stripe
  • Veel kleine functionaliteiten en verbeteringen, onder meer in geautomatiseerde implementaties en vertaalverwerking
(PHP, MySQL, Laravel; Bitbucket, Elasticsearch, Envoyer, Trello; Linux, Mac OS X)
We're Agile!
Amsterdam
Alicante, Spanje
mrt 2017 - aug 2019 Directeur
Ik zag een kans om voor Nederlandse klanten te werken met een eigen team in Alicante, Spanje. Dus opende ik een kantoor en huurde een aantal programmeurs in. Helaas was het moeilijker dan ik had verwacht en na 2 jaar moest ik het kantoor sluiten.
Derks.IT/Mioo
Alicante, Spanje
mei 2017 - dec 2018 Laravel / Flutter ontwikkelaar (op afstand)
Samen met Mioo werken we als bootstrapped startup aan een mobiele applicatie die communiceert met een API gebouwd met Laravel. Aanvankelijk was ik alleen verantwoordelijk voor het webgedeelte (API + admin), maar sindsdien ben ik begonnen met het bouwen van de mobiele applicatie vanaf het begin met behulp van flutter.
(PHP, Dart, MySQL, Laravel; flutter, git, Trello; Linux, Mac OS X)
Derks.IT
Amsterdam
Alicante, Spanje
nov 2018 - dec 2018 Laravel Alexa Skill ontwikkelaar
Vanwege persoonlijke interesse en het uitproberen van een mogelijk zakelijk idee heb ik een Alexa skill gemaakt waarmee een gebruiker wijn kan bestellen. De producten in de database zijn met scraping van de website van de aanbieder gehaald.
(PHP, Python, MySQL, Laravel; Alexa, Envoy, Scrapy; Linux, Mac OS X)
Derks.IT
Amsterdam
Alicante, Spanje
mrt 2018 - jun 2018 Laravel programmeur (op afstand)
Een bemiddelingswebsite voor woningverhuur wilde migreren van NodeJS naar Laravel, dus met een klein team hebben we alles vanaf de grond opgebouwd op basis van een aangeleverd nieuw ontwerp. Dit omvatte onder meer het regelmatig ophalen van verhuurinformatie uit verschillende API's, het weergeven van verhuur op de kaart, het laten beheren van de verhuur, het versturen van e-mails via Elastic Email, etc.
(PHP, MySQL, Laravel; Codeship, Elastic Email, Envoy, Redis, Scout; Linux, Mac OS X)
Maxbatt
Deurne
dec 2017 - jun 2018 Laravel ontwikkelaar (op afstand)
Voor deze klant heb ik een API gebouwd met beheergebied om metingen te ontvangen met intervallen van 5 minuten voor maximaal tienduizenden batterijmonitorapparaten om meldingen voor vereist onderhoud te activeren. Het API-protocol werd door mij zorgvuldig gedocumenteerd zodat de hardwareontwikkelaar het dienovereenkomstig op het Arduino-platform kon implementeren. De serverarchitectuur is opgezet met Aurora DB Cluster voor productie en Percona XtraDB Cluster voor test, bovenop een tinc VPN met HAProxy-proxy voor zowel het web als de databaseservices om eenvoudig onderhoud mogelijk te maken, bovendien met behulp van reverse proxy CloudFlare.
(PHP, MySQL, Laravel, Aurora DB Cluster; Arduino, Cloud Flare, Envoy, HAProxy, Percona XtraDB Cluster, tinc; Linux, Mac OS X)
Derks.IT
Amsterdam
Alicante, Spanje
sep 2017 - mrt 2018 Laravel programmeur (op afstand)
Een academisch onderzoeker had een applicatie nodig om het huiswerk van middelbare scholieren efficiënter te maken waarmee leerlingen de oefeningen online kunnen doen en statistieken kunnen worden gegenereerd voor verdere analyse.
(PHP, MySQL, Laravel; Envoy; Linux, Mac OS X)
Stackscale
Amsterdam
Alicante, Spanje
jul 2012 - jul 2017 Lead Developer
Hier heb ik o.a. aan de volgende projecten gewerkt:
  • Authenticatie en authorisatie API gebruik makend van de laatste encryptie standaarden
  • Queue bibliotheek voor het uitvoeren van taken inclusief Python modules, externe scripts en herhalende taken
  • Verschillende tools en modules voor het beheer van VMware omgevingen
  • Het aansturen van geavanceerde netwerk apparaten zoals switches en routers (Cisco / Force10 / Arista)
  • Beheer van network attached storage (NAS) apparaten en datastores (volumes) (NetApp / Nexenta / Oracle / Solaris / ZFS)
  • Nieuwe functionaliteit toevoegen aan een API geschreven met het Django REST Framework met een bijbehorende ExtJS gebruikersinterface
(PHP, Python, MySQL, Percona, ExtJS, Django; Linux, Mac OS X, Windows)
CliQ Digital
Amsterdam
jul 2012 - jun 2013 Lead Developer
(PHP, MySQL, Symfony2, Gearman, PHPUnit, Selenium; Linux, Mac OS X)
Derks.IT
Amsterdam
apr 2011 - jun 2012 Magento programmeur
Momenteel zijn we bezig met het ontwikkelen van een commerciële publieke Magento extensie voor integratie met PHPlist en het uitwerken van een eigen ideeen (o.a. Hackmonitor) welke ook gebouwd wordt als Magento extensies
(PHP, MySQL, Magento, Zend Framework; Linux, Mac OS X)
Elsevier
Amsterdam
mei 2012 - aug 2012 Magento ontwikkelaar (op afstand)
Voor het accepteren van de licentieovereenkomst voor een specifiek product, heb ik een Magento extensie gemaakt.
(PHP, MySQL, jQuery, Magento; Linux)
Derks.IT
Amsterdam
mrt 2012 - apr 2012 Magento programmeur (op afstand)
Voor een klant (media/online bureau) heb ik de laatste in het oog springende problemen van een nog niet uitontwikkelde Magento website opgelost (vnl. bugs in door derde partij ontwikkelde delen, integratie van extensies en een nieuwsbrief API).
(PHP, MySQL, jQuery, Magento; Linux)
Derks.IT
Amsterdam
jan 2011 - mrt 2012 Magento ontwikkelaar (op afstand)
Voor een Franse klant (mode retailer) heb ik het grafische/HTML ontwerp voor hun Magento webwinkel vertaald in een werkende, dynamische HTML/JS/CSS oplossing welke ik daarna in samenwerking met een offshore team heb vertaald naar een Magento template. Bijzonder hieraan was dat er erg veel dynamische elementen op de homepage gebruikt werden.
(PHP, MySQL, jQuery, Magento; Linux)
Derks.IT
Amsterdam
dec 2011 - mrt 2012 Magento programmeur (op afstand)
Voor een klant (online retail paardensport) heb ik de meeste in het oog springende problemen van een nog niet uitontwikkelde Magento website opgelost (zoals export uit MS SQL, import met automatisch aanmaken van attribuutwaarden, filter checkboxes, bugs in betaalmethode extensie, eenvoudige koppeling met Exact).
(PHP, MySQL, jQuery, Magento; Linux)
Derks.IT
Amsterdam
dec 2011 - feb 2012 Senior PHP ontwikkelaar (op afstand)
Voor een klant in de automotive branche heb ik een webapplicatie gemaakt (gedeeltelijk nearshore) waarmee werknemers via een visuele editor een selectie kunnen maken uit een aantal sjabloon afbeeldingen welke in PDF formaat gegoten via email verstuurd werd, plus bijbehorende beheeromgeving.
(PHP, MySQL, jQuery, CodeIgniter; Linux)
Tele2
Amsterdam
sep 2011 - okt 2011 Senior PHP programmeur
Voor de Tele2 website heb ik een aantal kleinere projecten gedaan zoals:
  • iDEAL implementatie voor betalingen
  • een uptime pagina voor servers gebruikmakend van de Pingdom API
  • wijzigingen voor een nieuw product op de website
  • beheer tool voor affiliate HTML snippets op de website
  • voorbereidend onderzoek voor het gebruik van de Icecat database
(PHP, MySQL, Zend Framework, jQuery, Pingdom API; Linux, Mac OS X, Windows)
Lost Boys
Amsterdam
jul 2011 - jul 2011 Senior PHP ontwikkelaar
Het Magento project waar ik aan zou werken werd na enkele dagen ingetrokken waardoor ik daarna mezelf ruim een week lang nuttig heb gemaakt als frontend developer voor monumenten.nl en NS Hispeed.
(PHP, MySQL, Zend Framework, jQuery, HTML5, CSS3; Linux, Mac OS X, Windows)
ABN AMRO
Amsterdam
okt 2010 - aug 2011 Senior PHP programmeur
Voor een nieuw te lanceren interne website voor interne vacatures, Smartjobs, heb ik op basis van TomatoCMS / Zend Framework een website geïmplementeerd waarbij ik samenwerkte met de product owner, een interaction designer, designburo Luyfel, IT Infrastructure en de hosting provider.
(PHP, MySQL, TomatoCMS, Zend Framework, LinkedIn API, Selenium; Linux, Windows; Scrum)
Bruno Klassiek
Haarlem
jul 2010 - aug 2010 Voor deze klassieke CD en DVD speciaalzaak heb ik een eenvoudige webwinkel voor de verkoop van kaartjes opgezet op basis van Magento met custom bugfixes en aanpassingen.
(PHP, MySQL, Magento; MacOSX, Linux, Windows)
StudyTravel
Malaga / Amsterdam
apr 2010 - dec 2010 Als PHP software developer heb ik me wederom bezig gehouden met het implementeren van nieuwe functionaliteiten in en onderhoudswerkzaamheden aan de website.
(PHP, Smarty, MySQL, JavaScript; MacOSX, Linux, Windows)
Ibarra y Sanjuan
Amsterdam
mrt 2010 - jun 2010 Voor deze klant heb ik een B2B webwinkel opgezet op basis van Magento met custom bugfixes en aanpassingen.
(PHP, MySQL, Magento; MacOSX, Linux, Windows)
Miky.nl
Den Haag
jan 2010 - feb 2010 Voor deze website heb ik een aantal bugs opgelost en nieuwe functionaliteiten geïmplementeerd.
(PHP, Zend Framework, MySQL; MacOSX, Linux, Windows)
StudyTravel
Malaga / Amsterdam
mrt 2009 - mei 2009 Als PHP software developer heb ik me bezig gehouden met het implementeren van nieuwe functionaliteiten in en onderhoudswerkzaamheden aan de website.
(PHP, Smarty, MySQL, JavaScript; MacOSX, Linux, Windows)
TomTom
Amsterdam
mrt 2008 - feb 2009 Als PHP software developer lever ik mijn bijdrage aan het development team dat verantwoordelijk is voor de website van TomTom.
(PHP, Smarty, MSSQL, JavaScript; Linux, Windows; Scrum)
Enkele projecten:
  • Apache module voor authenticatie gebaseerd op mod_auth_tkt (C, OpenSSL, FreeTDS; Linux)
  • verbeteren van het applicatie framework (PHP, Smarty, MSSQL, JavaScript; Linux, Windows)
BSM
Amsterdam
sep 2007 Static code analyse van HTML aanmeldingsformulier geschreven in PHP voor een grote bank.
(PHP, MySQL; Linux, MacOSX, Windows)
Telfort
Amsterdam
jan 2007 - jul 2007 Opnieuw was ik onderdeel van het ontwikkelteam en verantwoordelijk voor een aantal projecten.
(PHP, PEAR, MySQL, JavaScript, HTML; Linux, Windows)
marktplaats.nl
Amsterdam
aug 2006 - dec 2006 Gedurende een aantal maanden was ik onderdeel van het ontwikkelteam en verantwoordelijk voor een aantal projecten met betrekking tot de website en het beheer gedeelte.
(PHP, PEAR, Smarty, MySQL, JavaScript; Linux, Windows)
Robert Vlug
Haarlem
jul 2006 Ik mijn inzichten bijgedragen aan het hoofdstuk over beveiliging in het boek "Een eigen webwinkel voor Dummies"
Derks.IT
Amsterdam
mrt 2006 - sep 2008 In samenwerking met Holland Online zijn we bezig een aantal ideeën uit te werken, waaronder een community site, shops en eenvoudige pay-per-view sites. Voor de community site heb ik o.a. betalingen d.m.v. iDEAL mogelijk gemaakt en maak ik gebruik van een eigen applicatie framework.
(PHP, PEAR, MySQL, JavaScript, SourceGuardian; Linux, Windows)
ProvenModels
Amsterdam
jan 2006 - feb 2006 Voor deze klant heb ik een lijst met bugs in de reeds aanwezige code opgelost.
(PHP, MySQL, JavaScript; Linux, Windows)
Ber-Art
Breda
feb 2005 - nov 2007 Ondersteuning Trojan Scan en security support.
Telfort
Amsterdam
nov 2004 - dec 2005 In deze periode heb ik, naast allerlei mini-applicaties en onderhoud aan bestaande applicaties, een applicatie framework gebouwd welke de basis is voor toekomstige applicaties. O.a. het registratie/authenticatie gedeelte van de website heb ik omgebouwd naar dit framework, naast aanpassingen in de functionaliteit.
(PHP, PEAR, MySQL, JavaScript, HTML; Linux, Windows)
Xinox
Delft
dec 2004 Voor het product JCreator van Xinox Software heb ik een download registratie formulier, licentie beheer en mailing list gebouwd (de mailing list is gebaseerd op het open source pakket PHPList welke gekoppeld is aan de downloaders).
(PHP, PEAR, MySQL, JavaScript, HTML; Linux, Windows)
Demon
Amsterdam
sep 2004 ISP Demon had performance problemen met een PHP/MySQL applicatie die gebruikt werd voor Customer Care. Na analyse van de problematiek, is de MySQL configuratie aangepast, geheugen uitgebreid en voorzieningen getroffen voor het archiveren van verouderde gegevens.
(PHP, PEAR, MySQL; Linux, FreeBSD)
Derks.IT
Amsterdam
mei 2004 - aug 2004 Voor een online advertentie bedrijf heb ik een library gemaakt welke dubbele records uit de klanten database verwijdert (incl. een overeenkomstige applicatie en een uitbreiding op het toevoegen van nieuwe klanten welke m.b.v. deze library controleert of de toe te voegen klant niet reeds bestaat). Ook heb ik reeds aangepaste, maar nog niet geheel werkende order schermen aangepast en gerepareerd.
(PHP, PEAR, PHPlib, Smarty, MySQL, JavaScript, HTML; Linux)
Neverseen
Almere
dec 2003 - feb 2004 Verspreid over enkele maanden heb ik de website van Pacorini Vlissingen in elkaar gezet, incl. een eenvoudig CMS voor het onderhoud van de nieuws artikelen (persberichten).
(PHP, PEAR, MySQL, Javascript; Linux, Windows)
Telfort
Amsterdam
jun 2003 - apr 2004 Gedurende negen maanden ben ik actief en pro-actief betrokken geweest bij het ontwikkelen van diverse web-applicaties en API's. Pro-actief in het adviseren van te gebruiken technieken en methoden (o.a. PEAR DB_DataObject en toepassen van technieken als automatische documentatie generatie m.b.v. phpDoc/phpDocumentor, geautomatiseerd testen m.b.v. PEAR PHPUnit, etc). Ook bijgedragen aan security-awareness (ter illustratie: bij security audit (crystal box) op mijn code kwamen geen kritieke security problemen naar voren, enkele quotes: "defensieve manier van programmeren", "de enig juiste manier om hiermee [invoervalidatie] om te gaan", "zeer goede, vrijwel perfecte invoervalidatie").
Grotere projecten waar ik verantwoordelijk voor was:
  • authenticatie en registratie op de website, incl. opzetten van gebruikersdatabase en uitgebreide en deels generieke beheer omgeving voor customer care (PHP, PEAR, MySQL, LDAP, HTML, JavaScript, shell script, perl)
  • afhandelen van binnenkomende SMS en uitsturen van EMS logo
  • MMS web-applicatie voor het bekijken van MMS berichten verstuurd aan mobiele telefoons zonder MMS ondersteuning (PHP, PEAR, mmsdiary, JavaScript, HTML, XSLT, SMIL)
  • generieke API voor het verwerken van binnenkomende en uitsturen van uitgaande berichten (SMS, MMS, etc) (PHP, PEAR, MySQL, dia: UML class diagrams)
Rubicon
Vianen
mrt 2003 - apr 2003 Voor een klant van Rubicon heb ik een bestaande web-applicatie gedeeltelijk omgebouwd en uitgebreid met nieuwe functionaliteit betreffende o.a. authenticatie en versturen van files.
(PHP, PHPlib, Smarty, MySQL, JavaScript, HTML; Linux, Windows, Solaris)
Rubicon
Vianen
mrt 2003 Voor TPG Post heb ik het web gedeelte van de Persoonlijke Postzegels gebouwd, incl. de foto manipulatie
(PHP, JavaScript, DHTML library, HTML; Linux, Windows)
Apidea
Amsterdam
dec 2002 - dec 2003 Voor ProRail heb ik gewerkt aan een project t.b.v. het ontsluiten van informatie betreffende stations. Mijn taak was het importeren van data (fotografie, spreadsheets en andere documenten) in MySQL database welke als SQLite database gebruikt wordt door een applicatie die vanaf CD draait. Om dit mogelijk te maken heb ik een SQLite driver voor metabase geschreven en een generieke database API voor Apidea framework. Ook heb ik patch gesubmit voor de PHP4 SQLite module welke helaas niet verwerkt is, waarschijnlijk omdat SQLite ondersteuning in PHP5 standaard is.
(PHP, PEAR, metabase, MySQL, SQLite, VC++ 6, STL; Linux, Windows)
Derks.IT
Amsterdam
dec 2002 - apr 2003 Voor een klant heb ik alle functionaliteit voor een datingsite gebouwd, incl. leden registratie, authenticatie, chat, billing, handmatige matching, 128+ leden eigenschappen.
(PHP, PEAR, Smarty, MySQL, JavaScript, HTML; Linux, Windows)
Vodafone
UK
jul 2002 - sep 2002 Voor het CMS van de website heb ik een aantal eenvoudige wijzigen doorgevoerd
(PHP, Oracle, HTML, JavaScript, WebDAV; Linux, Windows 98)
Razorfish Europe
Amsterdam
apr 2002 - mei 2002 Voor het framework van een website voor auto taxaties in verschillende landen en verschillende talen per land, heb ik user authenticatie (incl. registratie etc.) geïmplementeerd. Verder heb ik bijdragen geleverd aan allerlei sub-projectjes.
(PHP, MySQL, HTML, JavaScript, Visual InterDev; Windows 2000)
Rits Automatisering
Deventer
mrt 2002 - jun 2003 Voor de Rits Account website heb ik user authenticatie (incl. registratie etc.) en user administratie geïmplementeerd. (PHP, MySQL, HTML, JavaScript; Linux, Windows 98/2000).
Tevens heb ik een module (DLL) gemaakt die het mogelijk maakt encryptie toe te passen in één van de applicaties van Rits Account. (Visual C++, OpenSSL, PHP, MySQL, SOAP; Windows 98/2000)
Apidea
Amsterdam
feb 2002 - apr 2003 Naast het CMS om woonboten in te voeren, wijzigen etc. voor de website www.woonboot.nl, heb ik ook een GUI applicatie geschreven waarmee bijv. op een laptop bij de klant foto's en gegevens van een woonboot ingevoerd kunnen worden welke later naar het CMS ge-upload kunnen worden. Onderdeel van de GUI applicatie was een versleuteling van de PHP bestanden om o.a. manipulatie te voorkomen.
(PHP, PHP-GTK, PEAR, ImageMagick; Linux, Windows)
EPOCera
Amsterdam
jan 2002 Voor EPOCera heb ik een applicatie ontwikkeld in Visual C++ die gebruik maakt van DOM om data(-structuren) op te slaan en tegelijkertijd XML als de basis voor een scripting taal.
(Visual C++, MFC, XML; Windows 98/2000)
Apidea
Amsterdam
dec 2001 Als consultant heb ik geadviseerd over de interne automatisering van een klant van Apidea, waarvoor ik ook een sessie met die klant heb bijgewoond aan de hand waarvan een kort rapport is geschreven.
Connected
Software

Rotterdam
nov 2001 - feb 2002 Voor KnowWise, een informatiesysteem voor consumenten, heb ik encryptie en HTTP proxy authenticatie geïmplementeerd.
(Visual Basic, ASP, MS SQL; Windows 98/2000)
Stachanov
Amsterdam
jul 2001 - aug 2001 Als freelancer heb ik een project getrokken met als doel een documenten beheer systeem via intranet/internet (web-interface) te ontwikkelen (PHP, JavaScript, ODBC, MySQL, Microsoft SQL Server; Windows 98/NT, Linux)
en ook 2 kleine deelprojecten voor een ander project (C, PHP; Windows 98/NT, Linux).
Wellance
Diemen
jan 1999 - jun 2001 In de functie van Programmer Analyst (Senior sinds januari 2001) ben ik verantwoordelijk geweest voor het frontend gedeelte voor de documenten uitwisseling van regedoc, een systeem voor het beveiligd en geregistreerd documenten uitwisselen over Internet of intranet. Dit hield in het ontwerpen en implementeren van een ISAPI voor Microsoft IIS met performance counters, registry-instellingen, het gebruik van eventlog, encryptie van communicatie en timestampen van documenten, plus een configuratie utility. Hiervoor heb ik o.a. MFC, PGP, Sybase en Oracle backend databases gebruikt.
Verder heb ik me ook bezig gehouden met business security als lid van het Security Project Team en heb ik bijgedragen aan het behalen van de BS7799 certificering.
(Rogue Wave DBTools++, Oracle OO4O, ODBC; Visual C++; Windows NT/2000).
Siteways
Amsterdam
sep 1996 - dec 1998 In de functie van Junior Programmeur (sinds maart 1997) heb ik gewerkt aan:
  • bewakingssysteem voor machines, websites, database, betalingsssystemen en diversen (C, shell scripts; IRIX)
  • veiliger versie van de FTP daemon (alleen gebruikers in een bepaald bestand kunnen buiten hun home-directory) (C; IRIX)
  • porten van verscheidene Perl scripts naar PHP (PHP; Windows NT, IRIX)
  • systeem voor tegengaan van misbruik van website account/authorisatie door meerdere personen (C, NSAPI, msql, shell scripts; IRIX)
  • diverse programma's en scripts t.b.v. websites, authorisatie- en betalingsdatabases (C, PHP, msql, shell scripts; IRIX, Linux)
  • shops voor websites (assortiment, shopping basket en interface naar betaalmodule) (PHP, msql; IRIX)
  • systeem voor webserver statistics rapportage (email en HTML) (C, PHP; IRIX)
  • oplossing om over te schakelen op ISDN als de Internet verbinding geen voldoende throughput meer levert (op lokatie in de V.S. heb ik deze oplossing geinstalleerd en verbeterd) (shell script; IRIX)
  • porten van (Unix) C JPEG6a library naar VC++ t.b.v. ActiveX control (Visual C++ 5.0; Windows 95)
  • porten van C++ FraunHofer MPEG1-III audio decoder naar Java (C++, JDK 1.1; Windows 95, IRIX)
  • Adobe Premiere Plugin voor JPEG en AVL (LiveStream) (Visual C++ 5.0; Windows NT)
  • aanzet ontwerp voor een generieke shop voor Internet (Word 97; Windows NT)
In de functie van Assistent Systeembeheer ben ik verantwoordelijk geweest voor de normale taken van systeembeheer als backup, beveiliging, mail, DNS, hard- en software installeren en configureren, en kleine programmeerwerkzaamheden.
(Systemen: SGI, PC, Livingston, Cisco)
Vrije Universiteit
Amsterdam
sep 1993 - aug 1994 In de functie van Studentassistent voor de vakken Software Engineering en Computernetwerken bij de faculteit Wiskunde & Informatica begeleidde ik studenten met de praktica Software Engineering en Computernetwerken. Bij het eerste practicum begeleidde ik vijf groepen van ongeveer vijf personen. Men moest in team- verband een 'groot' programma schrijven, in dit geval ging het om een soort routeplanner. De verschillende stadia waren: definitie van eisen, ontwerp, implementatie (in C++), evaluatie. Tevens had ik tot taak het beoordelen van het ingeleverde werk. Bij het tweede practicum begeleidde ik groepen van één of twee personen met het ontwerpen en implementeren (in C) van (een vereenvoudiging van) de IP en UDP netwerk protocollen, en een tftp daemon en client. Hier was ik slechts verantwoordelijk voor de begeleiding, er werd getest en beoordeeld door anderen.

Opleiding

Vrije Universiteit
Amsterdam
sep 1990 - aug 1998
Studierichting Informatica met als hoofdrichting computersystemen, afgerond met bul.
Tijdens mijn studie heb ik onder meer practica gevolgd voor de vakken Bedrijfssystemen, Compilerbouw, Computernetwerken, Programmeertalen (minder bekende talen: ABC, Ada, Miranda, Prolog en Smalltalk) en Software Engineering.

Congressen, cursussen & seminars

Scrum Institute Dec2016 Scrum Master Accredited Certification
Magento sep2012 Magento Developer's Paradise 2012
Startup Weekend jul2012 Startup Weekend Amsterdam 2012
Magento jun2011 Magento Developer's Paradise 2011
Magento okt2010 Magento Developer's Paradise 2010
Mediaplaza feb2008 Kennismaken met informatiebeveiliging
(ISC)² nov2007 Certified Information Systems Security Professional (CISSP) [verlenging]
MySQL jan2005 MySQL Core Certification (MCC)
Zend nov2004 Zend Certified Engineer (ZCE) [PHP]
(ISC)² sep2004 Certified Information Systems Security Professional (CISSP) [verlenging]
PHP Magazine mei2004 International PHP Conference 2004 Spring Edition
Sun sep2001 Sun Certified Programmer for Java 2 Platform (SCJP)
(ISC)² jun2001 Certified Information Systems Security Professional (CISSP)
Microsoft okt2000 Developer Days 2000
Baltimore Tech.    mrt2000 Mobile Commerce Security Seminar
InfoSupport nov1999 Mastering MFC Development Using Microsoft Visual C++ 6.0

Neven activiteiten

Open source
projecten
aug 2001 - heden
Mijn eigen Laravel open source projecten:
  • Laravel Blade Lint - een artisan commando om Blade sjablonen te checken op syntaxfouten
  • Laravel API Logger - een handige manier om de inhoud van binnenkomend en uitgaand verkeer van een API geschreven in Laravel te loggen
  • laravel-scripts - een Makefile en een Envoy deploy script om standaard taken gerelateerd aan Laravel uit te voeren, zoals deployeren, op een eenvoudige manier (momenteel niet gedocumenteerd).
  • Laravel HTML - een "fork" van de Laravel HTML library van Spatie voor het gebruik in PHP 5.6.
Mijn andere eigen open source projecten: Magento: EmailImages ook op Github: EmailImages (zie ook mijn website gericht op Magento: Magentron), PEAR: Crypt_Xtea, Rebuild Thunderbird's popstate, Trojan scan.
Bijdragen aan verschillende Open Source projecten (o.a.): Ecomdev_PHPUnit, fwanalog, SnortSnarf, Metabase, modman, NuSOAP, PEAR: PHPDoc, PHP: OpenSSL module.
VvE
Amsterdam
aug 2006 - dec 2011
Gedurende meer dan vier jaar was ik de penningmeester van mijn VvE.
NGI 2001 - 2009
Nederlands Genootschap voor Informatica (NGI), afdeling Beveiliging.
S.V. Cyclades
Amsterdam
okt 1993 - aug 1998
Actief lid van studentenvereniging Cyclades, waar ik commissielid was van o.a. de bar, sport en introductie commissies en lid van het dispuut Elysion, huidige status: POR (Post Ontvangend Reünist) (Cyclades).

Talen

Nederlandsmoedertaal
Engelsvloeiend
Spaansgevorderd
Duitsmatig