CURRICULUM VITAE PERSOONLIJK Naam Voornaam Geboortedatum Geboorteplaats Geslacht Burgerlijke staat Nationaliteit Adres
Petrus Salomo 14-07-1980 Amsterdam Man Ongehuwd Nederlands Beneluxlaan 633 1363BJ Almere +31 6 42165345
[email protected]
Mobiel Email
SAMENVATTING Ik ben een gedreven programmeur die erg perfectionistisch is en altijd streeft naar het beste eindresultaat. Vind het leuk om bij het gehele ontwikkeltraject betrokken te zijn om zo het product naar wens van de klant te krijgen. Voldoening van mijn werk haal ik voornamelijk uit tevredenheid van de klant. Kan heel goed in groepen werken maar kan ook heel goed zelfstandig werken. Ben zeer nauwkeurig en probeer altijd het beste resultaat te bereiken die mogelijk is in een bepaalde tijd. Tevens zijn mijn communicatieve vaardigheden direct en zeer effectief waardoor ik tempo in het ontwikkelproces houd. Ik houd van tempo in het gehele ontwikkelproces zodat alles vloeiend kan verlopen en geen tijd verspild wordt.
OPLEIDINGEN 1996 – 1999
MBO
1992 – 1996
MAVO
ICT OPLEIDINGEN 2012
Certified Scrum Developer [Hendrickson XP]
2012
Professional Scrum Master [scrum.org]
2006
Sun Certified Programmer (Java 2 Platform 1.4)
2000 – 2004
Student aan de Hogeschool van Amsterdam. Hogere Informatica. Afgestudeerd op 7 juli 2004
1999 – 2000
HBO BI Propedeuse behaald
COMMUNICATIE TRAININGEN 2013 2011 2008 2008
Tele2 Tele2 Capita Capita
Cross culture training Awareness training Influencing and persuading Communication skills
VAARDIGHEDEN Operating Systems & shells
Windows 9x Windows XP Linux Red Hat Fedora Linux CentOS MsDos Windows 2003
5 4 4 4 3 5 2
Programmeertalen
Java C++ VC++ C# VB Delphi ASP HTML JSP PHP VBScript PL/SQL Hibernate Springframework - Core Springframework - MVC Springframework - Batch Springframework - Security Springframework - Webflow Springframework - Integration Springframework - AMQP Apache CXF EasyMock Mockito GXT (GWT-EXT) GWT JBehave Selenium Docx4j XStream
5 3 3 2 2 2 2 4 4 3 3 3 5 5 4 5 5 3 2 3 4 4 2 5 5 3 5 2 5
Frameworks
Sencha Touch ExtJS Fitnesse Apache Velocity Drools Flow (jBPM 5) RabbitMQ Dozer
2 3 2 3 3 3 2
Maven Ant Gradle Eclipse eVC++ 4.0 Visual Studios 6.0 Sybase PowerDesigner Borland Delphi Borland C++ Builder SAP Netweaver development Studio
5 5 1 5 3 3 3 2 3 2
Protocols, libraries, interfaces
SOAP RESTfull Webservices COM (Sockets) DirectX OpenGL
4 4 2 2 2
Databases, Servers, Engines
MySQL Sybase MS SQL Server 2000 PostgreSQL Oracle Neo4j MongoDB DSDM Extreme programming Scrum
5 2 2 4 4 1 1 4 3 5
Branche specifieke ervaring
Adminstratief Bagger werken Entertainment (evenementen) Automotive Telecom Luchtvaart
3 2 4 3 4 2
Pakketten
Exact accountancy Win/DOS Visio 2000/ 2002/ 2003 Microsoft Office 97/2000/XP/2003 Pro SAP financial accountancy Adobe Photoshop 5.0/6.0/7.0/CE Rational Rose Enterprise Edition Toad Enterprise Architect yEd Oracle SQL Developer pgAdmin III JIRA Greenhopper Crucible Confluence
2 3 4 2 3 3 2 3 2 3 3 5 5 5 3
Build tools Ontwikkeltools
Ontwikkelmethodes
Logging
Front-end
Versioning Control
Jenkins Bamboo Sonar
4 2 3
Graylog Log4j Logback Apache commons logging SLF4J jQuery jQuery UI ExtJS SASS CSS Javascript NodeJS AngularJS Bootstrap Sencha Touch jQuery Mobile Backbone CVS SVN Git
2 5 3 5 3 3 3 3 2 4 4 1 1 2 3 1 1 4 4 2
1 = theorie, 2 = tot 1 jaar, 3 = 1 tot 3 jaar, 4 = meer dan 3 jaar, 5 = expert
OPEN SOURCE ACTIVITEITEN Projecten
Cargo ITEST Open source project die het makkelijker maakt om integratie tests te schrijven met zo min mogelijk configuratie. Dit framework zorgt er voor dat jouw applicatie deployed wordt naar een specifieke application server/servlet container en geeft je dan de mogelijkheid om tests af te vuren zoals Selenium GUI tests. http://cargo-itest.googlecode.com/ Automated Deployment Manager Open source project die het makkelijker maakt om je applicatie te kunnen deployen op meerdere servers tegelijk. Het is gebaseerd op Maven artifacts en het maakt het mogelijk om via een GUI releases te configureren zodat deze met 1 druk op de knop deployed kunnen worden. http://automated-deployment-manager.googlecode.com/
Technologieën
Timeboxer Open source project die het makkelijker maakt om je scrum meetings the timeboxen. http://timeboxer.googlecode.com/ Spring, XML, Maven2, XStream, Hibernate, Apache CXF, JAX-RS, Spring security, GWT-EXT, EXT-JS, Sencha Touch
WERKERVARING Bedrijf
KLM
Periode Functie
8 juli 2013 – heden Senior J2EE Developer
Projecten
Voucher Om klanten tegemoet te kunnen komen als bv. een vlucht niet door kan gaan zal KLM vouchers uitgeven aan klanten zodat zij een nieuwe vlucht kunnen boeken. Dit kunnen vouchers zijn die overdraagbaar zijn of alleen voor de persoon waarvoor de voucher is aangevraagd. De implementatie bestond uit het uitfaseren van de RPSL SOAP interface naar het nieuwe ATG SOAP interface om zo de hoeveelheid SOAP calls te reduceren en meer controle te krijgen. Tevens waren er proces flow changes en diverse database changes die gedaan moesten worden om de voucher informatie op te kunnen slaan. Voor management informatie moest the export functionaliteit ook uitgebreid worden met de voucher informatie. Hiervoor heb ik de batch job uitgebreid zodat deze informatie beschikbaar is. Server side mash-up proxy Omdat het EBT systeem gebruik maakt van de product shop waarmee klanten bv. Hun stoel kunnen kiezen, extra bagage kunnen bestellen etc. is er sprake van een mash-up. Deze mash-up werkte niet op de Cloud Foundry omgeving en heb ik daar een server side mash-up proxy voor geschreven die er voor zorgde dat men de product shop kon gebruiken op de Cloud Foundry omgeving. Deze omgeving werd gebruikt voor feature testing.
Technologieën
Werkzaamheden
J2EE Springframework, Oracle, XML, Maven2, Apache CXF, Dozer, Spring MVC, Spring Webflow, Hibernate, JBehave, CSS, JSP, Javascript, jQuery, Spring Batch, ActiveMQ, Cloud Foundry - Applicatie design - Documentatie opstellen - Testen - Applicatie programmeren - Automated testing met behulp van JBehave - Introductie van code review met Crucible
Bedrijf
Tele2
Periode in dienst Functie
1 mei 2009 – 30 juni 2013 Senior J2EE Developer en Scrum Master
Projecten
MijnTele2 Mobile Pilot project om een proof off concept op te leveren voor een MijnTele2 versie op een SMART phone. Denk hier aan factuur overzicht, usage, telefoon settings etc. Fiber to the home Provisioning orchestratie voor Fiber internet met behulp van JBoss jBPM implementatie en RabbitMQ for messaging tussen verschillende modules die wij beheren. Tevens werd er een rule engine gebruikt genaamd JBoss Drools Expert om validaties uit te voeren in de jBPM processen en om business rules om objecten los te laten die opgeslagen diende te worden. Test automation framework Design en implementatie test automation framework op basis van JBehave, Selenium, JUnit, Spring en Hibernate. Integratie met QTP voor full end to end tests met andere change teams om zo te kunnen waarborgen dat alle systemen nog goed integreren. Blacklist Ontwikkelen van back office applicatie waarin de blacklist onderhouden kan worden. Tevens middleware interfaces ontwikkeld die gegevens uit CBS importeerd en exporteerd naar Minisiter. Back Office Authentication and Authorization Module Module waarmee gebruikersbeheer gedaan kan worden voor alle back office applicaties. Tevens een API ontwikkeld die alle back office applicaties kunnen gebruiken om hun authenticatie en authorisatie centraal te regelen. Spring Agent Framework Een op Spring gebaseerd framework om Middleware applicties tussen het CRM en externe systemen op een standaard manier te ontwikkelen. CBS Mobile Ontwikkelen van een nieuwe mobiele order straat op basis van Spring Web Flow met de benodigde back office applicaties op basis van GWTEXT voor customer care en product management. Tevens een mini CMS ontwikkeld die gebruikt werd door de order straat.
Technologieën
Werkzaamheden
Springframework, Oracle, XML, Maven2, XStream, Javascript, Spring Batch, Hibernate, JPA, Apache CXF, JAX-RS, Spring security, GWTEXT, EXT-JS, Spring Web Flow, JBehave, Liquibase, Selenium, Maven3, Sencha Touch, EasyMock, JBoss Drools Flow, JBoss Drools Flow (jBPM 5), RabbitMQ - Applicatie analyse en design - Documentatie opstellen - Introduceren van automated Testing met Selenium en Cargoitest - Implementeren van SCRUM - SCRUM Master - Invoeren van code review in Crucible - Implementeren van Continuous Integration Server (Jenkins) - Implementeren van automated deployment met behulp van Jenkins en ADM (Automated Deployment Manager) - Introduceren van Maven 2 als build en release tool - Introduceren van JIRA en Greenhopper - Introduceren van XWiki als enterprise wiki voor alle documentatie - Design en implementatie van automated regressie test suite en full end2end test suite met behulp van JBehave
Bedrijf
TomTom B.V.
Periode in dienst Functie
1 november 2007 – 1 mei 2009 C&S J2EE Developer
Projecten
Buenos Aires Service layer voor integratie met Tridion CMS. Deze service layer leverde services aan de front-end dat communiceerde via JSON om dynamische content op te halen zoals product details en prijzen. TomTom Safety Cameras Console Een J2EE applicatie die er voor zorgt dat men alle reports die binnenkomen kan valideren. Deze console applicatie maakt gebruik van OpenLayers om een map te kunnen laten zien met daarop alle reports en bestaande flitspalen. Er zit ook veel logica in om reports te kunnen filteren zodat niet elke report die binnenkomt handmatig gevalideerd hoeft te worden door een moderator. Belangerijke aanpassing was dat er een Multi-threaded importer geïmplementeerd moest worden om zo tot een snellere import snelheid te komen aangezien de huidige implementatie erg traag was en niet voldeed aan de eisen.
New York – TomTom MapShare Een J2EE applicatie die er voor zorgt dat men alle reports die binnenkomen kan valideren. Deze console applicatie maakt gebruik van OpenLayers om een map te kunnen laten zien met daarop alle reports. Er zit ook veel logica in om reports te kunnen filteren zodat niet elke report die binnenkomt handmatig gevalideerd hoeft te worden door een moderator. Deze applicatie bestaat uit de volgende modules: - MapProvider (Tele Atlas) - Patch distribution - Patch submission - Moderator console Oxford – Google local search Een J2EE applicatie die er voor zorgt dat men een Google local search kan doen op een TomTom device. Deze applicatie diende geïntegreerd te worden met service Platform genaamd Hercules die de connectie/sessiebeheer doet met de devices. Op het platform diende dan een service geïmplementeerd te worden die dan op zijn beurt gebruikt kan worden via het Hercules platform. De applicatie zelf was zo opgezet dat het mogelijk was om meerdere search providers te implementeren.
Technologieën
Werkzaamheden
Oasis – AddToTomTom buttons Een J2EE applicatie die er voor zorgt dat men met 1 druk op de knop een adres kan toevoegen aan een TomTom device om direct daar naar toe te kunnen navigeren. Dit wordt onder andere gebruikt door De Goudengids, ANWB en nog meer bedrijven. Iedereen kan kosteloos zo’n knop op hun website plaatsen om het makkelijker te maken voor bezoekers. J2EE Springframework, MySQL, XML, Maven2, Stax, XStream, OpenLayers, Ext-JS, Javascript, Spring Batch, Quartz, Apache Wicket, ActiveMQ - Applicatie design - Documentatie opstellen - Testen - Applicatie programmeren - Automated testing met behulp van cargo-itest
Bedrijf
Topforce B.V.
Periode in dienst Functie
1 februari 2007 – 31 oktober 2007 Senior Developer/Architect
Periode Project
1 maart – 31 oktober Federated search Een J2EE applicatie die er voor zorgt dat men met verschillende zoekbronnen tegelijkertijd data kan opzoeken. Deze applicatie is zo opgebouwd dat deze in een SAP portal kan draaien maar eventueel ook in een servlet container zoals Tomcat. Tevens is de SOA architectuur toegepast bij het ontwerp van deze applicatie. Windows 2003 J2EE Springframework, Postgres, XML, Ant, Hibernate, UML, SOAP, SAP PDK - Documentatie opstellen - Testen - Applicatie ontwerp UML - Applicatie programmeren
Operating systems Technologieën Werkzaamheden
Bedrijf
Sourcelinq B.V.
Periode in dienst Functie
13 Mei 2006 – 31 januari 2007 Senior Developer
Projecten
Petrinet Instance Manager 1.0 Deze applicatie zorgt er voor dat men de petrinet processen op een simpele wijze kan beheren en monitoren. Men kan bijvoorbeeld petrinet instantie variabelen aanpassen om zo bv. Vastgelopen petrinetten verder te laten gaan met de nieuwe waardes zodat deze het proces wel goed kan aflopen. Tevens is het mogelijk om relaties die bij deze petrinet instanties horen te kunnen manipuleren om zo het beheersproces vloeiender te laten lopen. Orderdesk 2.0 Een off-line orderdesk applicatie voor het invoeren van order formulieren van mobiele PIN terminals van Pinlinq. Deze dient de orders op te slaan in een database die zich in het LAN bevindt. Zodra deze in de database ingevoerd zijn kunnen deze nog gewijzigd worden voordat ze verstuurd worden naar het back-end systeem via SOAP. Naast de applicatie zelf is er ook een setup applicatie die het installeren van de applicatie makkelijker maakt. Deze zorgt er voor data de
database op de juiste wijze wordt ingericht zodat de client applicatie deze direct kan gebruiken. Aeon Log Inspector Dit is een applicatie die gebruikt wordt voor het bekijken en archiveren van logs die gemaakt zijn door de Orderdesk en de Aeonlinq applicatie. Deze applicatie maakt het makkelijker om problemen op te lossen mochten er onverwachte fouten optreden tijdens het gebruik van deze applicaties. Tevens is het ook mogelijk om geregistreerde logs te archiveren en/of te exporteren. Het archiveren van de logs gaat met behulp van een archief database waarin de logs dan worden opgeslagen. Men kan zelf indelen of men 1 database of meerdere gebruikt om logs te archiveren. Het exporteren van logs wordt gedaan met behulp van CSV bestanden die direct inleesbaar zijn met Ms Excel.
Aeonlinq Dit is een applicatie die gebruikt wordt voor het registreren van productsamenstellingen. Dit gaat doormiddel van het scannen van barcodes van de producten en deze aan te bieden aan het Aeon platform via SOAP. Tevens zorgt de applicatie zelf voor barcode stickers die als identificatie dienen voor de productsamenstelling. Deze productsamenstelling kan dan geprovisiond worden via het Aeon platform.
Operating systems Technologieën Werkzaamheden
Naast de applicatie zelf is er ook een setup applicatie die het installeren van de applicatie makkelijker maakt. Deze zorgt er voor data de database op de juiste wijze wordt ingericht zodat de client applicatie deze direct kan gebruiken. Windows XP, MacOS J2EE Springframework, Postgres, XML, Ant, Hibernate, Swing, UML, SOAP, Java Webstart, JFace, SWT, SOAP - Workshops met de klant - Documentatie opstellen - Testen - Applicatie ontwerp UML - Applicatie programmeren (Java Swing)
Bedrijf
InGenio B.V. (detacheringsbedrijf)
Periode in dienst Functie
3 Oktober 2005 – 13 Mei 2006 Medior Developer
Bedrijf
Chess B.V.
Project
Orderdesk Een off-line orderdesk applicatie voor het invoeren van order formulieren van mobiele PIN terminals van Pinlinq. Deze dient de orders op te slaan in een database die zich in het LAN bevindt. Zodra deze in de database ingevoerd zijn kunnen deze nog gewijzigd worden voordat ze verstuurd worden naar het back-end systeem via SOAP. Naast de applicatie zelf is er ook een setup applicatie die het installeren van de applicatie makkelijker maakt. Deze zorgt er voor data de database op de juiste wijze wordt ingericht zodat de client applicatie deze direct kan gebruiken. VAS-PLQ Het is een implementatie van het VAS (Virtual Account System) product van Chess B.V. voor mobiele betaalterminals. Deze implementatie is al live en de klant heeft opdracht gegeven om een aantal uitbreidingen door te voeren in het huidige VAS systeem. VAS-EKC Het is een implementatie van het VAS (Virtual Account System) product van Chess B.V. voor Essent. Deze implementatie is gekoppeld aan TBMS systeem van Essent waarin alle abonnementen beheerd worden. Tevens zijn er diverse interfaces op het VAS systeem die o.a. doormiddel van SOAP communiceren. VAS-ON Dit project is een demo opstelling voor het bedrijf .ON. Het is een implementatie van het VAS (Virtual Account System) product van Chess B.V. Deze implementatie heeft enkele unieke onderdelen die geïmplementeerd zijn o.a.: RFID Betaling en een video webshop. VAS-UDS Het is een implementatie van het VAS (Virtual Account System) product van Chess B.V. Wat van belang is bij deze implementatie is dat het meertalig is (Pools/ Nederlands).
Technologieën
Werkzaamheden
J2EE Springframework, Postgres, XML, Ant, Hibernate, Jface, UML, SWT, RFID, Oracle, JSP, XML, CSS, HTML, Ant, Maven, Struts, SOAP Axis - Ant build omgeving opzetten (JIBE) - Workshops met de klant - Documentatie opstellen - Testen - Applicatie ontwerp UML - Applicatie programmeren (Java SWT) - Generieke vertaling (i18n) - Rapportages - Optimalisatie datasets (transformatie naar Junit)
Bedrijf
Load-IT B.V. (freelance)
Periode in dienst Functie
4 juli 2005- 30 september 2005 Java developer
Periode Project
4 juli 2005- 30 september 2005 Load-It systeem (DSDM Project) Door i.p.v. papieren administratie gebruik te maken van digitale administratie op basis van het LoadIT gedachtegoed is het mogelijk om de afvaltransportstromen te versimpelen. Hierbij wordt de administratie grotendeels centraal verwerkt d.m.v. het Internet en niet langer meer via allerlei formulieren. Het invullen van formulieren is dan niet meer nodig omdat dit al eenmalig door de betreffende organisaties is gedaan. Registratie van transporten wordt alleen maar een kwestie van het scannen van de transportpas, waarbij de relevante informatie m.b.t. het transport aangevuld wordt door het centrale systeem. Simpel, snel en eenvoudig.
Operating systems Technologieën Werkzaamheden
Het gedeelte wat in de 3 maanden is gemaakt is de hardware verhuur module die alleen intern gebruikt zal worden om de diverse hardware te kunnen beheren. Tevens dient het als planning voor diverse afvalstroom projecten aangezien bij elk project hardware nodig is en verhuurd zal worden aan de desbetreffende klanten. Windows XP, Windows 2003 J2EE Springframework, Hibernate, DWR, RFID, MySQL, CSS, HTML - Functionele ontwerpen opstellen - Technische ontwerpen opstellen - Programmeren van de hardware module - Planning opstellen - Planning bewaken
Bedrijf
Xxess Consulting B.V.
Periode in dienst Functie
1 juli 2004- 30 juni 2005 Lead developer
Projecten
xXess Events Java (DSDM Project) Het herbouwen van het PHP Systeem (zie xXess Events PHP) in Java met uitgebreidere functies. xXess Products (DSDM Project) Een module van het xXess Loyalty systeem dat zich richt op het verhuren/verkopen van producten. Producten worden getagged met RFID tags en worden aan de hand van deze tag uniek geïdentificeerd. Dit systeem zou bijvoorbeeld ingezet kunnen worden bij een videotheek, bibliotheek en zelfs een winkel. xXess Events Java PDA Platform(DSDM Project - Afstudeerstage) Het onderzoek welke taal het beste geschikt was voor het ontwikkelen van PDA applicaties op het nieuwe Java platform. Vervolgens bouwen van het PDA platform. Het ging hier om de basis structuur met een communicatie laag in SOAP. Tevens is er een Automatic Update Service gebouwd die de applicaties van xXess up-to-date houden.
Technologieën Werkzaamheden
xXess Events PHP (DSDM Project) Een generiek evenementen systeem op basis van RFID technologie. Een RFID pas staat centraal en dient als toegangsbewijs en betaalmiddel. Men reserveert online een toegangsbewijs naar een evenement en men kan vervolgens naar het evenement toe gaan met de RFID pas die gekoppeld is aan de persoon via het systeem. Men scanned de persoon dan bij de ingang en men kan zien wie deze persoon is en of deze heeft betaald voor het evenement. Tevens is het mogelijk om eventueel een opmerking toe te voegen mocht deze persoon bijvoorbeeld zich heeft misdragen op het evenement zodat men daar rekening mee kan houden in de toekomst. eVC++, WiFi, Bluethooth, SOAP, Hibernate, J2EE Springframework, C#, .NET CF,CSS, HTML - Functionele ontwerpen opstellen - Technische ontwerpen opstellen - Ontwerpen en programmeren van het basis module in Java - Programmeren van applicatie from scratch - Programmeren van protocol met server (COM sockets) - Planning opstellen - Planning bewaken