Thomas de Bruin

Software developer

Ik ben een ervaren developer gespecialiseerd in Java. Ik heb ervaring met diverse frameworks, tools, platformen en technieken zoals Spring (Boot), Hibernate/JPA, Maven, Junit, Cucumber, Selenium, OAuth, JSP/Servlets en JavaScript.

Ik heb een agile/ scrum mindset en ik ben resultaatgericht. Mijn doel is altijd om zo snel als mogelijk waarde te creëren. In een van mijn laatste opdrachten heb ik een oplossing bedacht voor het uitfaseren van een leverancier van authenticatie diensten om het oude en nieuwe naast elkaar te laten functioneren. Hierdoor werd het mogelijk om snel een “minimal viable product” live te zetten en om snel kleine releases kort achter elkaar uit te voeren.

Indien nodig kan ik prima zelfstandig werken maar het prettigst vindt ik om te werken in DevOps teams. Het geeft mij veel voldoening om gezamenlijk er alles aan te doen om met kwalitatief goede software oplossingen waarde te creëren voor de klant.

In mijn vrije tijd ben ik ook regelmatig bezig met het software development vak. Zo verdiep ik mij graag in (voor mij) nieuwe technieken, talen en frameworks. De opgedane ervaring en inzichten kan ik dan vervolgens weer toepassen in de praktijk.

Download

Java Developer

ANWB Online

Juni 2014 - heden

Voor ANWB online heb ik als Java developer in een scrum team gewerkt. Ik heb diverse projecten gedaan maar de grootste is het uitfaseren van de toenmalige leverancier van authenticatie, single sign on, en selfservice (account registreren, wijzigen, etc) voor anwb.nl, apps en externe afnemers, en om dit intern te bouwen en onderhouden. Ik en het scrum team hebben dit volledig gerealiseerd. Authenticatie hebben we gemaakt met OAuth. We hebben hiervoor een Spring boot applicatie opgezet die een REST API biedt, die ontsloten wordt via de API gateway (Apigee) van de ANWB. User data wordt ontsloten uit een PostgreSQL database. Daarnaast hebben we een HTML 5/ Javascript frontend en automatische tests opgezet met behulp van Cucumber en Selenium. Ik ben voornamelijk verantwoordelijk geweest voor de Spring boot backend en het bedenken/ ontwerpen van het geheel.

Iets uitfaseren betekent dat er ook een migratie moet plaatsvinden. Het team en ik hebben ervoor gezorgd dat dit een soepel proces was door het mogelijk te maken dat applicaties op eigen initiatief gemigreerd konden worden. We hebben dit gerealiseerd door het oude en nieuwe systeem naast elkaar te laten werken door het nieuwe authenticatie systeem ook in te zetten als service provider in het uit te faseren SAML authenticatie systeem. Bijkomend voordeel was dat wij vrijwel meteen met een “minimal viable product” live zijn gegaan.

Het team en ik zijn ook verantwoordelijk voor het Apigee Edge API platform van de ANWB, en om daarover regie te voeren. Dit betekent het opzetten van richtlijnen en kaders, en het ondersteunen van teams.

De andere projecten die ik heb gedaan zijn over het algemeen het bouwen van wat kleinere applicaties bestaande uit een Java backend waarbij het Spring (boot) framework is gebruikt om een REST API te maken in combinatie met een HTML5 / JavaScript frontend. Data werd ontsloten uit webservices, MongoDB of SQL database.

Naast het bouwen van software ben ik (en het team) ook verantwoordelijk voor het operations gedeelte in de breedste zin van het woord. In principe doen we alles om de software draaiende te houden. We proberen het ons zo makkelijk mogelijk te maken door waar mogelijk te automatiseren en te monitoren.

Java 6, 7 en 8 Tomcat Servlets Java EE (web) REST OAuth SQL NoSQL Postgresql MongoDB JavaMelody Apigee JavaScript Selenium Cucumber (JS) Logback SLF4j Linux Jersey Maven Spring (boot) JPA Hibernate LDAP JAX-WS JAX-RS JAXB Freemarker Gson Jackson Junit Mockito SAML SOAP EHCache Node.js Apache httpd2 Jmeter Jenkins Bash Git Subversion Ansible Vagrant Swagger

Java Developer

Caesar Tenders

Juni 2014 - heden

Caesar Tenders is de ICT dienstverlener waar ik werkzaam voor ben. Via Caesar Tenders ben ik ingezet bij ANWB.

Java Developer

Nationale Nederlanden

mei 2012 – mei 2014

Ik heb in deze periode gewerkt als Java developer in, wat ze bij de verzekeraar noemen, de shared factory. De shared factory is verantwoordelijk voor het ontwikkelen en onderhouden van de applicaties die met Blueriq zijn gemaakt. Dit is een Java gebaseerd software pakket waarmee functionaliteit gemaakt kan worden doormiddel van Business process management en business rules. Ze hebben ook een adviserende rol omtrent de software stack van Blueriq gerelateerde applicaties. Hoewel ik niet de lead developer rol had binnen het team was ik wel nauw betrokken bij het adviseren en het maken van keuzes op technisch gebied.

Daarnaast heb ik ook in een klein scrum team gewerkt aan het vernieuwen van de web portaal voor de verzekering adviseurs. Zo heb ik met het team functionaliteit gerealiseerd voor bijhouden van het klantenbestand en offertes van de adviseurs en de integratie met andere applicaties en systemen. In dit team ben ik verantwoordelijk geweest voor de technische aspecten zoals het ontsluiten van services en databases, en het toevoegen van nieuwe functionaliteit in Blueriq en frontends. Naast Blueriq is ook onder andere het volgen gebruikt: Spring, Hibernate, OpenJpa, JavaScript, Angular en Mockito.

Java 6, 7 en 8 Tomcat Jetty JMS Servlets Java EE (web) SQL DB2 JavaScript Angular Thymeleaf XML/ XSLT/ XPATH Aquima/ Blueriq Logback SLF4j Spring JPA OpenJPA Jackson Maven Junit Mockito SOAP Websphere Jenkins Git Subversion

Lead Java Developer

ProRail

februari 2012 - april 2012

Voor ProRail is door mijn werkgever een systeem gebouwd voor het registreren van incidenten op het spoor, waarin verschillende partijen informatie over een incident kunnen uitwisselen.

In deze periode heb ik in een Scrum team de integratie gerealiseerd van het nieuwe systeem met een aantal andere systemen voor data uitwisseling. Hiervoor is onder andere Maven, Dozer, JAXB, JMS en Spring Integration gebruikt. Daarnaast zijn er testscripts gemaakt in Python en geïntegreerd in het al bestaande automatische test systeem gebaseerd op Selenium.

Het scrum team bestond voornamelijk uit junior developer. Wel moest in een zeer korte tijd de functionaliteit gerealiseerd worden. Zodoende ben ik bij het team betrokken om dit te gaan leiden. Ik was dus ook verantwoordelijk voor de beslissingen op het technische vlak en het begeleiden van de teamleden.

De opdrachtgever was zeer positief gestemd over het feit dat het team het is gelukt om ruim voor de gestelde deadline de gewenste functionaliteit te realiseren.

Java 7 Tomcat WebLogic JMS Servlets Java EE (web) Python (2.x) JAXB Logback SLF4j Spring (Integration) JPA Hibernate Maven Junit Jenkins Subversion Dozer EasyMock

Java Developer

PostNL

april 2009 - februari 2012

Voor PostNL heb ik via Sogeti het technisch applicatie beheer gedaan en ontwikkeling van een tiental Java webapplicaties. Het omvat zowel webapplicaties voor het bedienen van de klant (bijvoorbeeld Track&Trace) als het aansturen van de interne bedrijfsprocessen (bijvoorbeeld de sorteer machines planning). De Java webapplicaties variëren in gebruikte technologieën: Van Java 1.3 met J2EE 1.3, struts tot en met Java 1.5 met J2EE 1.4 en met Spring.

De werkzaamheden die ik heb uitgevoerd varieerde van het oplossen van productie problemen, impact analyses uitvoeren van complexe wijzigingen en het daadwerkelijk realiseren van deze wijzigingen. Dit heb ik voornamelijk zelfstandig gedaan.

Het applicatie beheer is overgenomen van een andere partij. Ik heb ook mee geholpen met het proces om de applicaties in beheer te nemen. Hiervoor heb ik de applicaties, source code en documentatie geanalyseerd om te bepalen wat de staat is en om te bepalen wat nodig is om ze in beheer te nemen. Daarnaast heb ik ook de OTA straat ingericht(Jenkins, installatie van applicatie servers op een linux omgeving, installatie van databases, etc).

Java (1.3, 1.4, 1.5 en 6) Tomcat Sun one application server Servlets JSP JSTL Java EE EJB SQL Struts Log4j Spring JPA Hibernate Jackson Maven Ant Junit SOAP Jboss Jenkins Subversion

Java Developer

Sogeti

oktober 2008 - mei 2014

Sogeti is de ICT dienstverlener waar ik werkzaam voor was. Via Sogeti ben ik ingezet bij: PostNL, ProRail en Nationale Nederlanden.

  • Nederlands (moedertaal)
  • Engels (professioneel)
  • 2005 - 2009: HBO Informatica, Hogeschool Rotterdam (Bachelor of Information and communication) - Diploma behaald
  • 2000 - 2005: MBO Technische Informatica (niveau 4), Da Vinci College - Diploma behaald
  • 31-03-2009: Sun Certified Web Component Developer for the Java Platform, Enterprise Edition 5
  • 01-12-2008: Sun Certified Developer for the Java 2 Platform, Standard Edition
  • 20-09-2007: Sun Certified Programmer for the Java 2 Platform 1.4
  • 01-04-2014: Diverse Agile en Scrum Workshops
  • 03-05-2012: Aquima Technical foundation
  • 22-10-2011: Application Security - Java Development
  • 22-02-2010: Application Security - Awareness
  • 21-10-2009: Inleiding Vergadertechnieken
  • 10-09-2009: Fundamentals Rational Unified Process
  • 17-03-2009: Gang of Four Design Patterns
  • 09-02-2009: Interviewtechnieken
  • 08-02-2009: Rational Application Developer 7 foundation
  • 05-02-2009: Insights Discovery
  • 19-10-2008: Ohio university - High performance Teaming
  • 01-06-2008: Object Oriëntatie Analyse en Design