Curriculum Vitae: Tom Eugelink Personalia Woonplaats Geboortedatum Functie Email Telefoon Blog Hobbies Talen
Opleiding Opleidingen
Professionele kennis Programeertalen Databases Tools Servers IDE Branches
Werkverleden Mei 1994 – Aug 2002 Sept 2002 – Oct 2005 Nov 2005 – heden Recente projecten Healthcare tijdregistratie POC hypotheekaanvraag Licentieservice mobile Android barcode app ERP Swing applicatie JavaFX open source
Aalten 25 juni 1970 Senior software engineer / hands-on architect
[email protected] +31-647938592 http://tbeernot.wordpress.com Basketbal, Stijldansen, Gaming Nederlands vloeiend (moedertaal) Engels vloeiend Duits vloeiend
VWO (CSA Aalten, 1989) Hogere Informatica (HIO Enschede, 1993, cum laude) Cursus hoger management (2000) IT cursussen en boeken (recentelijk o.a. Implementing Domain Driven Design, Effective Unit Testing, Spring 3 in Practice, Gradle in Action)
Java (JEE), DotNet (VB, C#), C, XML, XSLT, (D)HTML, Javascript, VB6 / VBA, ObjectiveC, Cobol, Informix4GL Oracle, Informix, MySql, MSSqlserver, Postgres, Cassandra ANT, Maven, Gradle, CVS, SVN, GIT, Jenkins, Tomcat, Jboss, Jetty, Glassfish Eclipse, NetBeans Groothandel, overheid, gezondheidszorg, verzekeringen, farmacie
OVSoftware (developer / consultant) Knowledgeplaza B.V. (senior software engineer) SoftWorks B.V. (senior software engineer / architect) (meer informatie in het gedetailleerde CV)
Java, EJB2/3, JPA, Hibernate, Cucumber Java, JEE, Drools, Activiti, PostgreSQL, Abbyy FlexiCapture, C# Java, NoSQL, XML, PKI, REST, Wicket, Birt, Glassfish Android, Java, Bluetooth Java, Swing, Informix, Eclipselink JavaFX, Java, MigLayout, Maven
Profiel Ervaren all-round software engineer / hands-on architect. Niet het streven om een superspecialist te zijn op één vlak, maar juist door ervaring in veel verschillende technieken in staat te zijn een goede combinatie te kiezen voor het oplossen van problemen. Alhoewel door de meer dan 10 jaar ervaring met bepaalde veel gebruikte technieken, daar inmiddels toch behoorlijk bedreven in geworden. In de architectenrol niet het gevoel willen verliezen met de problemen van de implementatie. In de vrije uren altijd bezig met het onderzoeken en uitproberen van nieuwe technieken. Gevoel voor user-interfaces en user-interactie. Communicatief en sociaal. In staat ideëen en concepten over te dragen aan anderen. Goed vermogen om in te leven in de cultuur van de klant. In staat problemen te analyseren en terug te brengen tot hun kern. Ervaring in grotere administratieve processen.
1
Gedetailleerd CV Nedap; Healthcare “ONS Administratie” Technieken:
Java, JEE (EJB2 / EJB3, servlet, JBoss), JPA (Hibernate) / Ebean, JSF, Javascript, HTML, JUnit, RDBMS/SQL (MySQL), Testing (JUnit, Cucumber), Jira, GIT (github), Scrum, Continuous integration (Jenkins), DDD (Domain Driven Design) Taken: Development, architectuur Tijdsperiode: november 2012 t/m juni 2014 Nedap Healthcare is het in Nederland meeste gebruikte softwarepakket voor tijdsregistratie in de thuiszorg. Met geavanceerde technische hulpmiddelen zoals smartcards, smartphones en NFC kunnen de medewerkers zo veel mogelijk tijd besteden aan zorg en hoeven zich geen zorgen te maken om de tijdsregistratie. Het softwarepakket is inmiddels meer dan 10 jaar oud en toe aan een stuk grondig onderhoud. Zo moeten het pakket gemodulariseerd worden, de build omgeving omgezet naar Maven, de EJB2 omgeving worden gemigreerd naar nieuwere technieken. Daarnaast moet het systeem worden open geweekt zodat de informatie via een interne API aan andere Nedap systemen beschikbaar kan worden gesteld. Een architectuuropfrisactie dus.
JavaFX (JFXtras, MigPane) Technieken: JavaFX, Java, Maven, Gradle, Eclipse, NetBeans, JemmyFX, GIT (GitHub) Taken: ontwerp, implementatie. Tijdsperiode: sinds juli 2011 (loopt nog steeds, open source activiteit) JavaFX is het nieuwe GUI framework voor Java, wat bedoeld is om Swing te vervangen. En netzo als dat Swing het SwingX project heeft, waarin uitbreidingen op Swing worden gemaakt, heeft JavaFX het door Oracle gesteunde JFXtras project (http://jfxtras.org/). Binnen JFXtras o.a. een date picker en een agenda (Google Calendar kopie) ontwikkeld. Daarnaast de layout manager “MigLayout” (http://www.miglayout.com/) geport naar JavaFX, deze port is opgenomen in de officiële release. Frozn; geautomatiseerde hypotheekaanvraag Technieken:
Java, JEE (EJB, servlet, Tomcat), JBoss Drools Expert, Workflow (Activiti), JPA (Eclipselink), JTA-XA (Bitronix), TestNG, RDBMS/SQL (PostgreSQL), OCR & data capture (Abbyy), QRCode, DotNet, C#, DMS (O3Spaces) Taken: Architectuur, POC Tijdsperiode: juni 2012 t/m november 2012 In een vastzittende hypotheekmarkt zijn hypotheekverstrekkers op zoek naar manieren om het kleine beetje omzet naar zich toe te trekken. Een manier is om nog concurrerender met de rentes in de markt te gaan zitten, door de kosten van het verstrekken van een hypotheek te verlagen m.b.v. vergaande automatisering. Dit richt zich op de meest gangbare hypotheken, waarbij het proces vrij standaard is. De benodigde gegevens en documenten moeten digitaal via een website door de klanten aangeleverd worden. Middels business rules en OCR controleert de software automatisch of er aan de condities wordt voldaan en pas in het laatste stuk komen er mensen in het spel.
Service2Media; Licentieservice voor mobiel platform Technieken:
Java, NoSQL (Cassandra), XML, PKI, Rest, Wicket, Eclipse BIRT, JEE (GlassFish), TestNG, Scrum Taken: Architectuur, POC, ontwerp Tijdsperiode: januari 2012 t/m mei 2012 Service2Media is één van ’s werelds grootste ontwikkelaars van mobile apps (winnaar van o.a. de Deloitte Technology Fast 50). Hiervoor is door de jaren heen voor intern gebruik het M2Active platform ontwikkeld, waardoor met één code base voor alle platformen de apps gebouwd kunnen worden. Dit platform wordt nu als zelfstandig product in de markt gezet. Hiervoor is een licentiestructuur nodig, die zowel de runtime-omgeving op de verschillende
2
platformen, als de ontwikkelomgeving en de aangeboden services (o.a. notification, payment, deploy to appstores, etc) omvat. Reinders Posters; Android applicatie voor de verkoopbuitendienst Technieken: Android, Java, Bluetooth, barcode, RDBMS/SQL (SQLite) Taken: Ontwerp, implementatie. Tijdsperiode: sinds oktober 2011 (loopt nog steeds, wordt in stappen uitgebreid) Vertegenwoordigers van Reinders moeten bij het bezoek aan klanten de actieve voorraad van hun NEXT! producten opnemen. Om dit te vereenvoudigen is een Android applicatie ontwikkeld (zie screenshots) welke m.b.v. een bluetooth barcodescanner snel de aanwezige producten kan inscannen. Dit gebeurt offline en de informatie wordt achteraf met het hoofdkantoor gesynchroniseerd. Reinders Posters; ERP, webshop, EDI Technieken:
RDBMS/SQL (Informix, MySQL), DataWareHouse, stored procedures, Java, JEE (EJB, servlet, JSF2), JPA (Eclipselink), Swing, DMS (Docuware), TestNG, SOAP (webservices), EDIFACT, DSL (ANTLR), Javascript, JQuery Taken: Advies, architectuur, projectleider, implementatie Talen: Nederlands, Duits, Engels Tijdsperiode: sinds 2002 (loopt nog steeds, 1 dag per week) Reinders Posters is de grootste leverancier van posters en decoratieafbeeldingen in o.a. Duitsland, Oostenrijk, Zwitserland, Polen en Tsjechië. Om een dergelijk afzetgebied te bedienen is een goede IT noodzakelijk. De werkwijze van Reinders is echter afwijkend van wat gangbaar is en daarom is gekozen voor een 100% maatwerk client-server ERP systeem. De analyse van de processen en de omzetting naar ERP is een belangrijk onderdeel. En vanuit de ervaring worden ook verbetervoorstelling richting de organisatie gedaan (zoals labeling-ondemand, methode van magazijn indeling, etc) Daarnaast zijn op dezelfde database webapplicaties en webshops ontwikkeld en zijn er een aantal ondersteunende tools ontwikkeld t.b.v. bijvoorbeeld EDIFACT en beeldgeneratie.
Planon TMS (ING, Vitens, ministerie BuZa, universiteit Groningen, …); integratie Technieken: Java, JEE, JBoss, RDBMS/SQL (Oracle, MSSQLServer), JUnit, Mockito, Subversion Taken: analyse, projectleiding, implementatie. Tijdsperiode: april 2011 t/m december 2011 Planon is een internationale leverancier van facility management software welke wordt gebruik door diverse ministeries, provincies, gemeentes en bedrijven. Een omvangrijk pakket als PlanonFM moet altijd werken in een omgeving met andere producten. Het TMS (Tailer Made Software) team binnen Planon verzorgt alle software rondom de standaard Planon software, zoals koppelingen en integratie met externe pakketten. Vanuit deze functie diverse projecten gedaan voor o.a. ING (generatie automatische incasso en journaalposten), Vitens (workflow optimalisatie, koppeling met ArcGIS), ministerie van Buitenlandse Zaken (koppeling met personeelsdatabase), universiteit Groningen (koppeling met DMS), de Sint Maartenkliniek en Albert Heijn. IsraPunt; telefooncentrale switchboard Technieken: Java, Swing, JUnit, Mockito, Exchange EWS Taken: analyse, implementatie. Tijdsperiode: maart 2011 IsraPunt is een dochter van KPN en leverancier van telefoons en telefooncentrales voor bedrijven. De telefooncentrale kan bediend worden vanuit de toestellen, maar ook middels een Java applicatie, waarmee gesprekken kunnen worden aangenomen, gepauzeerd, doorverbonden, etc. Deze applicatie had een erg verouderde en technische interface en was toe aan een stevige opfrisbeurt. De UI omgezet naar een dockable aanpak, waar in de gebruiker zelf de onderdelen op het scherm kan plaatsen. 3
KnowledgePlaza; DynamicHours iPad Technieken: iPad / iPhone, iOS, Objective-C, Hessian Taken: Ontwerp, implementatie. Tijdsperiode: december 2010 – januari 2011 Als uitbreiding op DynamicHours is een invoermodule voor op de iPad en iPhone gemaakt. Hiertoe was het gewenst om custom componenten te ontwikkelen (datumkiezer) en te communiceren met de backend server. Karpi; ERP, reporting Technieken:
RDBMS/SQL (Microsoft SQLServer, MSAccess), Java, PHP, Apache webserver, HTML, Flash, Muis Taken: Advies, architectuur, projectleider, implementatie, databasebeheer. Tijdsperiode: sinds 2003 (loopt nog steeds, af en toe een klusje) Karpi is een groothandel in en producent van vloerkleden. Karpi heeft een standaard boekhoudpakket (Muis) waarin ze tegen beperkingen aanloopt. Er was daarom de wens om hier uitbreidingen tegen aan te bouwen voor o.a. eenvoudiger productenbeheer, automatisch genereren van reclamefolders en dynamische website. KnowledgePlaza; Cheyenne, custom web framework Technieken:
Java, Hibernate, JUnit, Spring, XML, XSLT, Tomcat, RDBMS/SQL (Oracle), Eclipse, HTML, Javascript, Jquery, ANTLR, jBPM, SOAP (webservices), Maven Taken: Architectuur, implementatie. Tijdsperiode: korte projecten gedurende 2009-2011 Cheyenne is het ontwikkelplatform voor rapid application development van KnowledgePlaza. Het is een systeem dat probeert om eenvoud te combineren met snelheid. Het framework is vanaf nul opgebouwd en bestaat uit een compiler, runtime engine, workflow component, J2EE servlet en Maven plugin.
KnowledgePlaza; DynamicHours, urenregistratie Technieken:
Java, Tomcat, Eclipse, RDBMS/SQL (Oracle), Applet, Hessian, Maven, JasperReports Taken: Implementatie Tijdsperiode: sinds 2008 (applicatie is in “onderhoudsmodus”) DynamicHours is een applicatie voor urenregistratie. Om de ureninvoer voor de gebruiker zo optimaal mogelijk te maken, is er een RIA frontend in de vorm van een applet ontwikkeld. De applet heeft de mogelijkheid rapporten te printen (als HTML of PDF) voor bijv. bestede uren in een project of uren per tijdsperiode. IPPlus; bibliotheek CAO Technieken:
RDBMS/SQL (MySQL, PostgreSQL), Java, Hibernate, Eclipse, XML, XSLT, Jboss, HTML, JQuery, JAAS Taken: Projectleider, implementatie. Tijdsperiode: september 2007- december 2011 (telkens korte opdrachten) IPPlus is een webapplicatie voor het uitvoeren van de CAO van de Nederlandse bibliotheken. Dat wil zeggen dat functies zijn gedefinieerd aan de hand van hun competenties en dat medewerkers gescored worden op deze competenties. Hieruit ontstaat een objectief cijfer voor de mate van functioneren binnen een functie en daaruit wordt beloning zoals gedefinieerd in de CAO afgeleidt. Het systeem is gemigreerd van MySQL naar Postgres i.v.m. de referentiële stabiliteit van de data. KPS; KPProfiler, zoeken in ongestructureerde data Technieken:
Java, Eclipselink, JPA, Lucene, RDBMS/SQL (Oracle), MySQL, SOAP (webservices), REST, XML, DotNet Taken: Architectuur, datamodellering, implementatie, integratietests. Tijdsperiode: 2010 Grote organisaties hebben veel documenten en is het vaak moeilijk dingen terug
4
te vinden. Publieke organisaties hebben vaak ook te maken met veel inkomende informatie (dagbladen) die dagelijks doorzocht moet worden op relevante documenten. KPProfiler maakt het mogelijk om in deze berg informatie middels agents automatisch te zoeken en de resultaten automatisch aan de geïnterresseerden te sturen. Ten Brinke Investments; Postarchivering Technieken: Java, Tomcat, DMS (Alfresco), PDF (iText & PDFBox), barcode, OCR (Abbyy) Taken: Architectuur, projectleider, implementatie, installatie Tijdsperiode: 2010 Ten Brinke Investments ontvangt dagelijks vele papieren documenten m.b.t. onroerend goed. Om te voorkomen dat ze klem komen te zitten tussen de archiefkasten, is besloten om deze op te slaan in Alfresco (document managementsysteem). Het proces is: - Scannen - Splitten - Verrijken - Opslaan - OCR Ter ondersteuning van het archiverings proces zijn enkele applicaties ontwikkeld; - Een Java-applicatie ontwikkeld welke PDF bestanden opknipt in losse bestanden door de snijden op pagina’s waar een specifieke barcode aanwezig is. - Een Java applicatie ontwikkeld welke extra metadata toevoegd aan PDF’s. Voor de OCR is gebruik gemaakt van ABBYY Finereader. Knowledgeplaza; Ontwikkelstraat 2.0, Maven Technieken: Maven, Nexus, Bazaar Taken: Architectuur, projectleider, implementatie, integratietests Tijdsperiode: 2010 In het kader van het verhogen van de kwaliteit van de interne ontwikkelstraat van KnowledgePlaza is een nieuwe versie opgezet. De eerste ontwikkelstraat was gebaseerd op CSV en ANT, maar vooral in het artifact en library beheer zaten hier wat probleempunten. Ministerie van Algemene Zaken; Knipselkrant Technieken:
Java, Eclipse, SOAP (webservices), PDF (iText, PDFBox), C#, WebParts, HTML, CSS, Javascript, JQuery Taken: Projectleider, architectuur, implementatie Tijdsperiode: 2010 T.b.v. een POC voor het ministerie van Algemene Zaken een knipselkrant ontwikkeld als onderdeel van een enterprise search oplossing. De knipselkrant is bedoeld om dagelijkse belangrijke artikelen uit o.a. dagbladen op papier beschikbaar te maken in een krantachtige 3 kolomslayout. Lundia; webshop Technieken: PHP, HTML, JavaScript, JQuery Taken: Projectleiding, implementatie Tijdsperiode: 2009 Lundia is een fabrikant van kastsystemen. Om met de tijd mee te gaan is het ook voor dit soort organisaties gewenselijk, of misschien zelfs wel noodzakelijk, om een webshop te gaan voeren. PharmaNetX; Gezondheidsmeter, online monitoren van ziektebeelden (Curavista) Technieken: Java, Tomcat, HTML, Javascript, DD Taken: Projectleiding, ontwerp en implementatie Tijdsperiode: 2006-2008 Gezondheidsmeter (http://www.gezondheidsmeter.nl) is een website die het
5
midden houdt tussen een enquêtesysteem en een EPD. Het werkt in de driehoek tussen patiënt, huisarts en farmacie, waarbij een patiënt gegevens bijhoudt over zijn gezondheid (in enquêtevorm), de huisarts dit monitort en eventueel digitaal consulten kan uitvoeren en de farmacie inzicht krijg op het effect van hun medicijnen. Online apotheek Technieken: RDBMS/SQL (Oracle, PL/SQL), Java, Tomcat, PHP, XML, CMS (InfoGlue) Taken: Architectuur, implementatie Tijdsperiode: 2006-2008 Een bekende drogist wilde via haar winkels een apotheekdienst aan gaan bieden. Op een centrale lokatie worden de recepten, die ingediend worden via een website of per post, gecontroleerd en vervolgens worden de medicijnen naar de vesteringen gestuurd, waar klanten ze kunnen halden. Belangrijk bij deze processen is natuurlijk de veiligheid van privé-gegevens en de koppeling met apotheeksystemen die conflicten in medicatie moeten detecteren. Gekozen is voor een spin-structuur (hub) met een centraal system waarin alle relevante gegevens beheerd worden en waarmee alle satelietsystemen (waarin zich de detailgegevens bevinden) worden gesynchroniseerd. Belastingdienst; TARIC codes Technieken: Java, Tomcat, Lucene, HSQLDB in-memory, SOAP (webservices), REST, Eclipse Taken: Architectuur, implementatie. Tijdsperiode: 2005 De belastingdienst heeft codes voor de verschillende typen artikelen die geïm- en geëxporteerd worden. Om het voor ondernemers makkelijker te maken de juiste codes te vinden is hiervoor een webpagina beschikbaar. VigorPlaza; Personal Development Planner, persoonlijk ontwikkelplan Technieken: DD, HTML, Javascript, RDBMS/SQL (Oracle) Taken: Implementatie Tijdsperiode: 2003 PDP is een geïntegreerde omgeving voor de processen rondom het leren, alsmede het aanvullen en ontwikkelen van competenties van mensen. In PDP is tevens een z.g. e-portfolio geïntegreerd waardoor de lerende (student, medewerker in een bedrijf, etc.) dit ‘mee kan nemen’ naar een volgende opleiding of loopbaanstap. Thales; Framemaker via web toegankelijk maken Technieken: Java, Tomcat, COM, JEE (servlet) Taken: Implementatie Tijdsperiode: 2002 Thales heeft veel gebruik gemaakt van Framemaker, een soort DTP / tekstverwerker pakket. De populariteit van dit pakket wordt steeds minder, maar Thales heeft duizenden documenten in dit formaat. Thales wil niet meer voor elke werkplek een licentie aanschaffen om deze documenten te kunnen inzien. Daarom is een webservice gemaakt die on-demand deze documenten kan omzetten naar PDF. SPF (Spoorweg Pensioen Fonds); pensioen maatwerk software Technieken: Informix, Informix4GL, XML, SOAP (webservices), Excel, VBA Taken: Ontwerp en implementatie Tijdsperiode: 1995-2002 Het SpoorwegPensioenFonds is één van de grootste pensioenverzekeraars in Nederland, waarbij bijna alle medewerkers van de NS, maar ook niet-NS-ers, hun pensioen hebben ondergebracht. SPF is naast de pensioenregistratie ook een belegger die zelf haar gelden op de monetaire markt beheerd. Uitbreidingen aan en aanpassing van de maatwerk pensioensoftware.
6
Verschillende applicaties ontwikkeld t.b.v. het proces van aan- of verkoop van geld en/of aandelen en de uitwisseling van gegevens tussen aanbieders en kopers. De Slegte boekhandel; maatwerk ERP systeem Technieken: RDBMS/SQL (Informix), Informix4GL, MSAccess Taken: Ontwerp en implementatie Tijdsperiode: 1993-2002 De Slegte is een detailhandel in tweedehands boeken. Een maatwerksysteem voor het controleren van de grote stroom aan boeken is ontwikkeld in Informix4GL. Niet alle filialen hebben toegang tot de centrale omgeving, dus hiervoor zijn speciale MSAccess applicaties opgezet, voor de online verkoop is een webshop opgezet. Universitair Medische Centrum Utrecht (2001); EDP Technieken: Taken:
Java, HTML, SSL Advies, ontwerp
Online reclamekaarten (2001) Technieken: Taken:
PHP, RDBMS/SQL (Oracle), PDF implementatie
TUI [Holland International & Arke] (2001); bug hunting Technieken: Taken:
XML, http, Java, Eclipse, C, BEA, BEA Top End Ontwerp en implementatie
Onderlinge Hulp pensioenfonds (1993-2001); maatwerk pensioen software Technieken: Taken:
RDBMS/SQL (Informix), Informix4GL, Cobol ontwerp en implementatie
Hansen Information Technologies (2000, Duits, Engels); infrastructuur management Technieken: Taken:
CAD systemen (Autocad, Bentley, Intergraph), VisualBasic, COM Verkoopactiviteiten, presentaties, implementatie.
Siemens-Nixdorf; Cursus webapplicaties (2000, Duits) Technieken: Taken:
HTML, CSS, Javascript, PHP, Java Cursusleider, opstellen cursus materiaal
Gerling (1999, Duits); web applicatie voor klanten Technieken: Taken:
Unix, Java, Encryption, Authentication, LDAP Advies
Thales; veilige remote toegang (1998) Technieken: Taken:
extranet, PKI, security, encryption Advies
WestLB (1998, Duits); web applicatie voor intern Technieken: Taken:
Java, VisualAge, Toplink, RDBMS/SQL (Oracle), HTML, JSP, Servlets Ontwerp, implementatie
GBA/WVG (1994); wet bijzondere ziektekosten (WBZ) Technieken: Taken:
Cobol implementatie
7
Nedap
Frozn
8
Urenregistratie
iPad interface
9
Reinders Android applicatie
Reinders webshop
10
Reinders ERP
Karpi website
11
Service2Media license manager
Lundia webshop
12
Ten Brinke Postarchivering
Israpunt Switchboard
13
JavaFX / JFXtras
14