Hallo
Ik werk sinds 1999 met Java en heb sindsdien aan een groot aantal projecten meegewerkt in verschillende branches als (lead) developer. Daarnaast heb ik Java certificatie-trainingen gegeven. Als zzp-er ben ik in te huren voor kort- en langlopende opdrachten, in regio Utrecht of remote.
Als kind wilde ik altijd uitvinder en ontdekkingsreiziger worden; ik denk dat ik als Java ontwikkelaar goed terecht gekomen ben. Ik hou van technische uitdagingen en het werken met de nieuwste technologieën, zodat ik mijn vaardigheden blijf ontwikkelen. Het werken onder tijdsdruk en met beperkte middelen is altijd een uitdaging en uitdagingen motiveren me het meest.
Ik kan snel inwerken in grote, complexe projecten (zoals o.a. bij Rabobank, Khonraad en Randstad), heb goede communicatieve vaardigheden en ben proactief en pragmatisch.
Opleiding en certificaten
Tijdens mijn studie AI aan de Universiteit van Amsterdam ben ik begonnen met Java development. Ook heb ik in de jaren daarna verschillende certificaten behaald:
- Docker for Beginners with Hands-on labs (Kodekloud, 2024)
- AWS Cloud Practitioner Essentials (Amazon, 2024)
- React Basics en Advanced React (Meta, 2024)
- Kotlin for Java Developers (JetBrains, 2024)
- Sun Certified Java Programmer 6.0 (2009)
- Sun Certified Java Programmer 5.0 (2006)
- Sun Certified Business Component Developer (2005)
- Sun Certified Web Component Developer (2003)
- Sun Certified Java Developer (2002)
- Sun Certified Java Programmer 1.2 (2001)
- Doctoraal Kunstmatige Intelligentie, UvA (2001)
- Stedelijk Gymnasium, Haarlem (1996)
Vaardigheden
Ik werk graag met Spring Boot en heb veel ervaring met het maken van SOAP-, REST- en databasekoppelingen. Ook vind ik front-end werk leuk om te doen.
Java
- Java 17
- Spring Framework 6
- Spring Boot 3
- Hibernate 5, JPA 2
- Java Swing
- SOAP koppelingen
- REST koppelingen
- JBoss Drools
Methodes
- Agile Development / Scrum
- Object Oriented Development
- DevOps
- Design Patterns
- Functional Programming
- Unit Testing
- PKI, PKI-Overheid standaarden
- OWASP standaarden
Front-end
- HTML, SVG
- Javascript, JQuery
- CSS
- Angular
- React
- Bootstrap
- Cypress
Databases
- Oracle, PostgreSQL
- SQL, JDBC
Tools
- IntelliJ IDEA
- Git, GitHub, Gitlab
- Maven 3
- Postman, SoapUI
- Jira, Jenkins CI, SonarQube
- Kibana
Projecten
Opdrachten die ik de afgelopen jaren gedaan heb, als (lead) Java ontwikkelaar en/of full-stack ontwikkelaar:
Randstad
Grip op Inhuur (Amsterdam, 2024)
Het doel van project "Grip op Inhuur" is het verbeteren van de efficiëntie van administratie en het verhogen van de tevredenheid van leveranciers en ZZP-ers.
Ontwikkelen en onderhouden van meerdere Spring Boot microservices t.b.v. een React front-end. Regelmatig verantwoordelijk voor derdelijns support en het maken van releases. Ook bijgedragen aan de front-end ontwikkeling met React.
Het eindresultaat was een vernieuwde ZZP-portal waar ZZP-ers die via Yacht of Randstad aan een opdracht gaan werken, hun persoonlijke gegevens en bedrijfsgegevens kunnen aanleveren.
Khonraad Software Engineering
Wet verplichte ggz (Soest, 2019-2023)
Bouw en onderhoud van een dossiermanagement- en workflow-systeem voor mensen die gedwongen zorg krijgen in het kader van de Wet Verplichte GGZ en Wet Zorg en Dwang of te maken krijgen met de Wet Tijdelijk Huisverbod. Deze SaaS-dienst wordt door alle Nederlandse gemeenten gebruikt voor het uitvoeren van de workflow van deze wetten.
Meerdere SOAP- en REST-koppelingen gemaakt met o.a. het Openbaar Ministerie, de Inspectie voor de Gezondheidszorg en Jeugd, de Raad voor Rechtsbijstand en verschillende zorgorganisaties (Apache, 2-way TLS, PKI-Overheid certificaten).
Daarnaast een Angular/Spring Boot app ontwikkeld waarmee piketroosters van het College van burgemeester en wethouders ingesteld kunnen worden; welke bestuurder heeft op welk moment telefoondienst? (Typescript, CSS, SVG).
Migratie van Java 8 naar Java 11 en Spring 2 naar Spring 4/5.
Rabobank
Hypotheken (Utrecht, 2018)
Onderhoud en uitbreiding van het Rabobank hypotheekdossier, waar klanten zich kunnen oriënteren op een hypotheek en advies kunnen krijgen.
Smart Society Services (Alliander)
Distribution Automation, Smart Metering (Utrecht, 2017-2018)
Nieuwbouw van een Angular 4 / Spring Boot applicatie voor het monitoren van stroom-kwaliteit in middenspanningsruimten op basis van het Open Smart Grid Platform (OSGP).
Daarnaast onderhoud en uitbreiding van een beheerapplicatie voor het configureren en beheren van slimme electriciteits- en gasmeters, ook op basis van OSGP.
Beide teams waren Scrum/DevOps teams, dus ook meegewerkt aan geautomatiseerde tests (Cucumber, Selenium) en deployment (Ansible).
RIGD-LOXIA
railDocs (Utrecht, 2016)
Onderhoud en uitbreiding van railDocs, het bronsysteem van tekeningen en documenten in de spoorbranche, waarmee informatie gedeeld kan worden tussen ProRail, ingenieursbureaus en de NS.
Ontwikkeling van de front-end met GWT en REST-services met JAX-RS en RESTEasy. Werkzaam in een Scrum/DevOps team en regelmatig verantwoordelijk voor het in productie brengen van nieuwe releases.
Daarnaast gewerkt aan configuratie en visualisatie (met HTML/SVG) van data voor Procesleiding Rijwegen (PRL) voor de bediening van seinen en wissels en het instellen van rijwegen voor de treinen.
MaxGrip
strEAM+ (Utrecht, 2015)
Uitbreiding van strEAM+, een Enterprise Asset Management (EAM) pakket op basis van IBM Maximo en WebSphere. strEAM+ ondersteunt bij Reliability Centered Maintenance (RCM), Risk Based Inspection (RBI) en Root Cause Analysis (RCA).
Werkzaam in een Engelstalig Scrum-team, werkend aan ontwikkeling van nieuwe modules en uitbreiden van unit-tests (JUnit, Mockito). Continuous Integration met Jenkins.
Rabobank
Online Beveiliging (Utrecht, 2012-2014)
Onderhoud en uitbreiding van de modules die inloggen van gebruikers en signeren van opdrachten verzorgen voor www.rabobank.nl, de Rabobank iDeal pagina’s en de back- end voor de Rabobank Mobiel Bankieren app. Ontwikkeling van de front-end, webservices en database voor gebruik van de Rabo Scanner.
Werkend in een klein Scrum-team met Spring, Hibernate, WebServices (Spring-WS, Apache XMLBeans), Tomcat en WebSphere. Veel aandacht voor kwaliteit; unit-test coverage 80+%, code reviews, continuous integration met Hudson en Sonar en geautomatiseerd testen met FitNesse/Selenium.
Regelmatig verantwoordelijk voor derdelijns support en stand-by diensten (DevOps). Daarnaast ontwikkeling van een zeer snelle logfile-parser in Scala en een real-time message-driven component t.b.v. security monitoring met Akka.
Khonraad Software Engineering
BOPZ-Online en Huisverbod-Online (Soest, 2012)
Migratie van verschillende onderdelen van BOPZ-Online en Huisverbod-Online naar Scala, Lift en JPA. Vormgeving van de web-applicaties met HTML, CSS3, JQuery en Bootstrap. Versie-beheer met Git, builds gemaakt met SBT.
Daarnaast ontwikkeling van een boekings/reserverings-systeem voor Kura Kura Yoga Retreat (Bali, Indonesië) met dezelfde technieken.
Vijfhart IT opleidingen
Examentraining Java 6 (Nieuwegein, 2009-2012)
Als docent gaf ik, in samenwerking met Vijfhart, meerdere examentrainingen voor het Sun Certified Java Programmer for Java 6 (CX-310-065) certificaat.
Gedurende twee lesdagen behandelde ik de examenstof en maakte een oefenexamen met de cursisten.
DocData Payments
Online betalingssysteem (Driebergen, 2011)
Onderhoud van het online betalingssysteem van deze Payment Service Provider. Werkzaam in een internationaal Scrum-team, verantwoordelijk voor het aanbrengen van verbeteringen en bugfixing.
Ontwikkeling met Spring, Hibernate en JSF, deployment op Tomcat 6. Koppelingen gemaakt met SFTP met externe betalingssystemen van o.a. Atos Worldonline en Omnipay. Veel aandacht voor code-reviews en unit tests, kwaliteitsbewaking met Hudson en Sonar.
Khonraad Software Engineering
BOPZ-Online en Huisverbod-Online (Soest, 2009-2011)
Ontwikkeling van een workflow-applicatie t.b.v. sales, backoffice, beheer en helpdesk van BOPZ-Online (Bijzondere Opnemingen in Psychiatrische Ziekenhuizen) en Huisverbod-Online.
Migratie van Velocity+Spring+Tomcat 6 naar JSF+Richfaces+Seam+JBoss 5.1 en verdere ontwikkeling van de applicatie met JBoss Seam en Drools Expert voor het vastleggen van business logic. Instructies geven aan nieuwe eindgebruikers.
Koppelingen gemaakt met verschillende externe webservices en Google Maps. Implementatie van iPad en Android Apps met PhoneGap en iWebKit.
Rabobank
SMS Betalen (Haarlem, 2008)
Implementatie van person-to-person mobiel betalen via SMS (Rabo Mobiel). Technical lead tijdens migratie naar Spring Framework 2.5 en iBatis. Implementatie van custom (stateful) RMI/SSL communicatie op basis van Spring Remoting.
Opzet van Maven2 projectstructuur. Ontwikkeling van webservices t.b.v. ontsluiting van de betaalengine (Axis 1.4). Aansturen van junior ontwikkelaars. Veel aandacht voor Unit Tests, code coverage (Emma) en JavaDoc.
ING Bank
STARPro Approval Package (CCRM) (Amsterdam, 2007-2008)
Onderhoud van de Basel II credit risk management applicatie van ING in een internationaal team van ontwikkelaars. Refactoring van het data model, oplossen van productieproblemen. Kwaliteitsbewaking van verschillende componenten m.b.v. FindBugs, code reviews en unit tests. Verantwoordelijk voor het monitoren van de autobuild (CruiseControl) en falende builds repareren.
Info.nl
Supercam p2p videostreaming platform (Amsterdam, 2007)
Uitbreiden van het Supercam videostreaming platform. Implementatie van verschillende back-end componenten voor auditing, gebruikersstatistieken, rapportages en databeheer. Front-end ontwikkeling met Spring MVC en JSTL.
Integratie van componenten met JMS en HTTP (Spring remoting). Refactoring t.b.v. een verbeterde, modulaire architectuur.
Nationale Postcode Loterij
Lotus (Almere, 2006)
Afronden van de ontwikkeling van verschillende Swing/Spring/Hibernate front-office applicaties t.b.v. de administratie (leden, loten, trekkingen e.d.) van de loterij. Voornamelijk bugfixing en refactoring.
Vijfhart IT opleidingen
Examentraining Java 5 (Nieuwegein, 2005-2009)
Als docent gaf ik, in samenwerking met Vijfhart, meerdere examentrainingen voor het Sun Certified Java Programmer for Java 5 (CX-310-055) certificaat.
Gedurende twee lesdagen behandelde ik de examenstof en maakte een oefenexamen met de cursisten.
De Telefoongids
Website www.detelefoongids.nl (Amsterdam, 2006)
Ontwikkeling van www.detelefoongids.nl, een van de 5 meest bezochte websites van Nederland. Migratie van intern middleware platform o.b.v. Castor/JDO naar Spring/Hibernate/Java 5. Opstellen van project coding guidelines voor Unit Tests en JavaDoc.
Koppeling van de Falkplan Webservices met kaartinformatie en routeplanning aan de bedrijvengids van www.detelefoongids.nl, m.b.v. Axis 1.2.1. Front-end ontwikkeling met Struts, JSTL en JavaScript. Opzetten van project build met ANT.
ING Car Lease
ING Car Lease website (Haarlem, 2005-2006)
Ontwikkeling van de Europese ING Car Lease website voor zes verschillende landen. Implementatie van deze website met Tapestry, Spring en iBatis. Opzet van architectuur en implementatie van de Reporting Component voor het genereren van PDF en Excel bestanden met iText, ter vervanging van Business Objects.
Opstellen van materialized views in Oracle t.b.v. rapportages. Samenstellen en printen van offertes met iText. Configuratie van rapportages en offertes in Spring.
Veel aandacht voor Unit Tests, code coverage (JCoverage, Cobertura) en JavaDoc.
Robeco
Robeco Authorization Process (Rotterdam, 2005)
Implementatie van een Webservice als koppeling tussen IBM Tivoli Identity Manager en acht verschillende back-end systemen (Oracle, MS SQLServer, Sybase). J2EE applicatie gebaseerd op Spring. Configuratie van en deployment op BEA Weblogic 8.1.
PricewaterhouseCoopers
Uitdiensttredingen Procedure Database t.b.v. HR (Utrecht, 2005)
Ontwerp van een nieuw te bouwen WebSphere Portal applicatie voor administratie van uitdiensttredende medewerkers.
Veel overleg met de klant (HR), requirements engineering, schrijven van functioneel ontwerp (70 pag.) en technisch ontwerp, Service Oriented Architecture en datamodel. Opzet projectplanning. Ontwikkeling van de Business Layer (business logic) en Persistence Layer (Hibernate). Integratie met WebSphere Portal front-end. Schrijven van Unit Tests.
Finalist IT groep
Verschillende projecten (2002 - 2004)
Tryllian
Verschillende projecten (2000 - 2002)
Robosail
Robosail (1999 - 2000)
Ontwikkeling van een zelflerende automatische piloot voor racezeiljachten. In een klein team (3 man) en met "carte blanche" functioneel en technisch ontwerp schrijven, Artificiële Intelligentie algoritmes implementeren, een testplan opstellen en uitvoeren op de Noordzee. Ontwerp en ontwikkeling van de Java Swing user-interface. Het eindresultaat was een intelligente autopiloot die de toenmalige wereldstandaarden overtrof.
Elegance is not a dispensable luxury but a quality that decides between success and failure. - Dijkstra