Curriculum Vitae

Publysher

Yigal Duppen

I am an experienced software architect and developer of web applications written in Java and Python. Through my strong theoretical background I know a bit about everything, and my years of experience ensure that I know everything about web application development.

I strongly believe in clear and focused communication: not just with the technical department, but also with the business and end-users.

My added value is strongest in small, result-oriented agile teams; my track record shows that in such projects I can provide production-quality solutions in a very short time span.

velocity, quality, delivery
these are my goals in every project

programming languages: Go, Java, JavaScript, Python

project management: Agile, DSDM, Prince2, Scrum, XP

frameworks: AngularJS, Bootstrap, Django, Hibernate, J2EE, JAX-WS, JCE, JPA, jQuery, jQuery UI, JSF, JSR 168/286, jUnit, Jython, Lucene, MMBase, Plone, Selenium, Solr, Spring Batch, Spring Framework, Struts, Thucydides, YUI

software products: Apache HTTP Server, Consul, DB/2, Docker, ElasticSearch, IBM HTTP Server, IBM Web Content Manager, JBoss AS, Lotus Domino, MapServer, MySQL, Nomad, NginX, Oracle, Oracle Glassfish, Oracle Glassfish, PostgreSQL, Resin, Tivoli Directory Server, Tomcat, WebSphere Application Server, WebSphere Portal

technologies and concepts: Ansible, Application Design, Batch Processing, Continuous Deployment, Continuous Integration, CMS, CQRS, DevOps, Functional Test Automation, HTML5, HTML/CSS, Integration Test Automation, LDAP, Load Testing, Mobile, Prototyping, Public Key Cryptography, Puppet, SDLC, Security, Test-driven Development, Unit Testing, Web Applications, Web Services - REST, Web Services - SOAP

tools: Ant, Buildout, Make, Maven, Soap UI

Experience
eBay Classifieds Group
Serving promoted listings through Admarkt
Go development
2017

Admarkt provides paid listings on various platforms such as Marktplaats and Kijiji. It is a micro-service architecture written mostly in Go, with some legacy code in Java.

I was initially hired to assist in ongoing development, but soon became a major contributor on their new cloud-native prototyping platform that is based on an event driven architecture using Kafka as the underlying event storage. My experience with DevOps and Docker proved valuable in getting everything to production.

role: software architectsoftware engineer
Door2doc
Realtime information for emergency care
Go development
2016

Door2doc provides realtime information for emergency care.

As the first developer and CTO I have been responsible for everything technical, from the first prototype to a continuous deployment environment serving multiple customers.

role: CTOsoftware architectsoftware engineerrequirements analysis
Amsterdam
Amsterdam Atlas
Python development
2016

The municipality of Amsterdam wanted to rebuild their internal geo information system called Atlas. This tool is used throughout the organisation for information gathering and decision making.

As the first developer on the team it was my task to set up a complete environment that transforms legacy import files into a modern, responsive set of web applications to provide this information, and assist in setting up a full development team.

role: software engineersoftware architect
Sonos
Service integration for consumer devices
Python development
2015

The customer exposes their online radio services on Sonos devices through an existing gateway application. They required new functionality to bring the Sonos experience more in line with their own mobile app.

I was responsible for mapping the new features on the possibilities provided by the Sonos API; to implement these new features in a timely manner; and to drastically improve the performance of the gateway application.

role: software architectsoftware engineerrequirements analysis
G+Jmedia
Webshop designer-vintage.com
Java development
2015

The customer, G+J Media, added this project to their portfolio, but lacked the technical knowledge to maintain it.

My role was to provide new functionality and to integrate parts of the website within the existing technical landscape.

role: software engineer
Curacao tourism board
Engaging visitors in the tourism sector
Web development
2015

The customer felt that their existing website lacked engagement from their visitors. They hired MoreThanLike.com to come up with ideas on improving user interaction.

I was responsible for implementing the new functionality on the existing website; providing guidance on the technical feasibility of new ideas; and to set up the entire continuous integration environment.

role: software architectsoftware engineerrequirements analysis
BadgeAPI
Providing small b2b services
Java development
2015

This project provides a REST backend and online editor for http://andbadge.it – an application to help companies create and manage conference badges. The final product is a co-creation of Parthen Meeting Services, The Prosperity Lounge and myself.

role: software architectsoftware engineerrequirements analysisteam lead
ING
Retail section of a large bank
Service development
2013

This new project aimed to help customers gain insight in their financial situation; the first goal was to show the tradeoffs between extra mortgage repayments and savings deposits. The application consisted of two parts: a REST API and an HTML5 front-end.

In the beginning, I was solely responsible for setting up the front-end and integrating it with the existing AngularJS components of other teams. As the team grew, my focus shifted to the design and integration of the REST endpoints.

role: software engineer
BVA Auctions
Large scale e-commerce
Java development
2013

Since its inception, the auction site had grown enormously in both functionality, users and interactions, but the base design was more or less the same; by the time I got hired as an architecture consultant, it had become clear that the original design could no longer support further growth.

Based on the current system, I designed an event-based microservice architecture and described some possible migration paths. Since then, the team has been slowly upgrading the application to the new architecture.

role: software architect
Bureau Jeugdzorg
Reinventing the workflow of child protective services
Devops
2013

The customer is planning to migrate to a new system; over the last few years, the big picture of the required system has slowly emerged, but it turned out that the actual future users of the system still had a lot of questions. Before embarking on a public tender, the customer decided to create a prototype of the system and validate its interface with the intended users.

Together with a user interface designer I was responsible for developing the prototype. Using an iterative approach, we quickly refined the prototype and solicited feedback from the focus group. In the end, the focus group felt that we had completely understood their current problems and that we had provided a compelling product. This prototype is now used as the starting point for the public tender.

role: software engineerrequirements analysis
TKH Group
Interconnecting all subsidiaries
Web development
2012

This new intranet project aimed to establish a corporate identity across all the customer’s subsidiaries and to improve cooperation between them. It combines elements of social media with classical intranet solutions and is aimed at a world-wide audience.

My primary task was to provide the roadmap on how to massage IBM Web Content Manager into the required designs and functionality. The project architecture relied heavily on the new WCM 7 plugin architecture; combined with liberal use of progressive enhancement, this enabled my team to implement the entire first release in three months.

role: software architectsoftware engineerrequirements analysisteam lead
Parthen IMpact Eventure
Event management for professional organizers
Java development
2012

This is an online congress registration application that helps organizers set up their registration pages and to manage the abstract submission and review process. On peak days it handles thousands of registrations per hour. A resilient infrastructure provides the required uptime.

When I joined this project, the codebase was an absolute mess without any quality insurance. New critical bugs arrived every day and old bugs reappeared regularly. By implementing a strict unit testing regime and combining the implementation of feature requests with the refactoring of critical parts, quality slowly improved. The net result was a vastly improved relation between the customer and my employer.

role: software architectteam lead
Parthen IMpact Edison
Reinventing event management
Java development
2012

Initially, this project was meant to be the new and improved version of the customer’s congress management software. During development, the customer realized he wanted a totally new event management experience and decided to brand this as a totally new product. The project’s public beta was launched in november 2011 at a trade fair.

I was involved with this project from the beginning and proposed to manage this project using Scrum because of the vague requirements. In the sprints that followed I was the lead architect and played a large part in managing the customer’s requirements. I was responsible for the initial data models and project architecture and together with my team managed to realize the customer’s vision.

role: software architectsoftware engineerrequirements analysisteam lead
KNMP Renumeration
Optimizing the flow of information in the health-care chain
Python development
2012

This project provides the primary channel for health-care insurance companies to inform pharmacies on the renumeration on drugs. The two greatest challenges in this project were the size of the datasets, solved by using batch processing, and the integration with the existing data warehouse.

Together with the visual and interaction designer I was responsible for gathering the requirements, designing the application, implementing the project and delivering the final product.

role: software architectsoftware engineerrequirements analysisteam lead
KNMP MFBs
Clinical rules for the pharmaceutical industry
Python development
2012

The sector association for pharmacies provides its members with clinical rules that can be used in monitoring drug use. This project is a web application providing a content management system for such clinical rules; combining an intuitive interface with an enforced audit cycle, the association can quickly encode the rulesets and be assured of their quality.

Apart from helping to develop the system, one of my main tasks was to use progressive enhancement on the web application and provide a modern and intuitive user interface. By developing in short sprints and continuously discussing the result with the end users, the resulting interface is widely appreciated.

role: software architectsoftware engineer
Greenwheels
Improving the customer's experience
Devops
2012

Although most of the online experience had been upgraded over the past few years, the customer’s self-care environment hadn’t been improved in ages. This project aimed to consolidate the self-care environment with the customer’s other online environments.

This was the first experience with a strict Scrum approach for both the customer and the team. Although I was hired for this project as an additional backend programmer, my previous experiences with Scrum proved very valuable to the team.

role: software architectsoftware engineerrequirements analysis
Droppy goes home
An exercise in game development
Game development
2012

Droppy Goes Home is the first game I ever published. It ended up as a cooperation with Ethan Safron (graphics) and Daniele from Sound Tricks (music).

The game is still available on Kongregate.

role:
Schadegarant
eXchange information management
Java development
2011

This project provides a vertical integration between insurance companies, intermediaries and (chains of) car body shops. By providing a fully automated workflow of all the relevant information and combining this with technical and statistical analysis, this product lowers the car damage repair costs and overhead.

As the eventual technical team lead and architect, I was responsible for the technical coherency of the entire project. I defined the initial data model, the initial WSDLs and the project architecture, developed a large part of the system and was involved in the go-live of the first two public versions. After that, I remained associated with the project in an advisory role.

role: software architectsoftware engineerrequirements analysisteam lead
Yellowbrick
New billing application for mobile paid parking
Consultancy
2010

The goal of this project was to improve the efficiency of the customer’s invoicing process. Before this project was released, the invoicing process took at least one day to run, after which it would take the administration department another few days to calculate remittances and clear up financial inconsistencies.

This project reduced the total process to two hours of invoicing, including separate remittance reports.

As part of the technical pre-sales I was responsible for the requirements analysis and the batch architecture. By defining sanitized views on the business’ Oracle database and carefully describing each step in the batch process, my team was able to complete this project successfully. The administration department was more than satisfied with the result.

role: software architectrequirements analysis
McDonald's Nederland
Public website
Web development
2009

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsam et fugit, vel sed nam ullam iste placeat, nesciunt explicabo numquam quo perspiciatis vitae totam a qui necessitatibus, quibusdam iusto magnam.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet at, facilis libero voluptates quod, quaerat distinctio fugit quae explicabo, error maiores deleniti. Aliquid dolores, odio repellat! Omnis qui asperiores accusamus.

role: software architectsoftware engineerteam lead
McDonald's CAS
Internal course management system
Java development
2009

This project was a redesign of an existing course management system. Internal courses are an important part of the career path of this customer’s employees, but administering the courses was cumbersome and non-intuitive.

The new project provided a fresh user-centered interface and several new reporting possibilities. As the project’s architect, I was responsible for setting up the project architecture and implementing part of it.

role: software architectsoftware engineerteam lead
DA Retail Group
Public website
Web development
2009

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsam et fugit, vel sed nam ullam iste placeat, nesciunt explicabo numquam quo perspiciatis vitae totam a qui necessitatibus, quibusdam iusto magnam.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet at, facilis libero voluptates quod, quaerat distinctio fugit quae explicabo, error maiores deleniti. Aliquid dolores, odio repellat! Omnis qui asperiores accusamus.

role: software architectsoftware engineerteam lead
Van Gogh Museum
Public website
Web development
2008

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsam et fugit, vel sed nam ullam iste placeat, nesciunt explicabo numquam quo perspiciatis vitae totam a qui necessitatibus, quibusdam iusto magnam.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet at, facilis libero voluptates quod, quaerat distinctio fugit quae explicabo, error maiores deleniti. Aliquid dolores, odio repellat! Omnis qui asperiores accusamus.

role: software engineer
Transavia
Extending an airline company's b2b portal
Service development
2008

Due to the acquisition of a French subsidiary, the customer needed to make its business critical portal environment available to the French market. Go-live was tied to a bonus-malus, making this a high-visibility project within the organization.

As it turned out, the analysis on which the bonus-malus was based had some major oversights. I made a few proposals that balanced ‘quick and dirty’ solutions with future-proof solutions; these proposals were accepted by the company’s architecture group and I managed to complete the project on schedule.

role: software engineer
Koopmans International
Public website
Web development
2008

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsam et fugit, vel sed nam ullam iste placeat, nesciunt explicabo numquam quo perspiciatis vitae totam a qui necessitatibus, quibusdam iusto magnam.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet at, facilis libero voluptates quod, quaerat distinctio fugit quae explicabo, error maiores deleniti. Aliquid dolores, odio repellat! Omnis qui asperiores accusamus.

role: software architectteam lead
Generali
Public website
Web development
2008

The Dutch subsidiary of this company has always been at the front-line of IT-based innovations. For their new online strategy they had decided on a combination of WebSphere Portal and IBM Web Content Management. This was combined with an internal deadline of three months.

My team consisted of a project manager, an infrastructure engineer and myself. Together we managed to complete the website, intranet and extranet in time. After this, I assisted in training the support team to maintain the solution.

role: software architectsoftware engineer
Aramco Overseas
Public website
Web development
2008

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsam et fugit, vel sed nam ullam iste placeat, nesciunt explicabo numquam quo perspiciatis vitae totam a qui necessitatibus, quibusdam iusto magnam.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet at, facilis libero voluptates quod, quaerat distinctio fugit quae explicabo, error maiores deleniti. Aliquid dolores, odio repellat! Omnis qui asperiores accusamus.

role: software architectteam lead
Ikon
Website with mms capabilities for RUTLKNG2ME
Web development
2004

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsam et fugit, vel sed nam ullam iste placeat, nesciunt explicabo numquam quo perspiciatis vitae totam a qui necessitatibus, quibusdam iusto magnam.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet at, facilis libero voluptates quod, quaerat distinctio fugit quae explicabo, error maiores deleniti. Aliquid dolores, odio repellat! Omnis qui asperiores accusamus.

role: software engineer
Tryllian
Agent Runtime Environment
Service development
1998

Development of a core platform for running mobile agent technology.

role: software engineer

Publysher bv

Zuiddijk 384D

1505 HE Zaandam

The Netherlands

M +31 (0)6 4007 1736

KvK  64271927

btw  NL8555.93.660.B01