Curriculum Vitae
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Development of a core platform for running mobile agent technology.
Publysher bv
Zuiddijk 384D
1505 HE Zaandam
The Netherlands
M +31 (0)6 4007 1736
KvK 64271927
btw NL8555.93.660.B01