European Patent Office
The Hague (NL), 2011–2012, Contractor position as Senior Software Engineering Expert at the European Patent Office. Responsible for design, implementation, documentation and getting operational of an OCR service.
OCR (ABBYY RS 3.0, CVISION, Iris), Java EE (JBoss AS), REST (Jersey), DB (Berkeley DB SE), Distributed Caching (JBoss Cache), Buildenvironment (Maven, Jenkins/Hudson, Nexus, Subversion), Projectmanagement (Jira), Wiki (Confluence), OS (Windows Server 2008 R2, Windows 7, GNU/Linux SLES, MacOS X), Virtualalisation (VMWare), IDE (Eclipse), XML (XSLT, STX, JAXB), Profiling (YourKit), Test (HP Loadrunner), Documentation(ASCIIDoc, DocBook, XeTeX, TkiZ), Other (NodeJS, JSON, IIS).
CASE-STUDY »Infrastructure Engineering«
The Hague (NL), 2010–2011, Contractor position as Senior Software Engineering Expert at the European Patent Office.
Migration to current and de-facto standard build-environment components (Subversion, Maven, Jenkins/Hudson, Nexus Pro, SonarJ, Fisheye and Crucible). Design, documentation, presentation and implementation of an appropriate release process. Decommission of obsolete components.
Build-environment (Maven, Jenkins/Hudson, Nexus Pro, Subversion), Projectmanagement (Jira), Wiki (Confluence), OS (Windows XP, GNU/Linux SLES, MacOS X), Virtualisation (VMWare), IDE(Eclipse), Other (Java, Groovy, Ruby, GNU/Emacs, XSLT/XPATH, REST).
The Hague (NL), 2005-2009, Contractor position as Software Architect and Developer within the Research and Architecture Division at the European Patent Office. Design and Development of build-system “Darwin” .
A problem to tackle when building component based applications, is the use of proper versions. The usage of an outdated version is typically detected late in the deployment cycle and thus costly. The goal of my assignment was to provide a solution for this problem. I solved this task by providing a fully automated build-system based on a Continuous Integration approach, internally branded as “Darwin”. A fundamental aspect of Darwin’s design is that developers do no longer care about versions. Version management was entirely taken over by Darwin in a fully automated way. CruiseControl had to be extended in order to archive this goal. A larger part of the complex version management got written in Python. Furthermore, a framework sitting on top of Ant had to be written to reduce build scripts to essentially dependency listings; assuring a homogeneous build process of several hundred projects. Darwin became the de-facto standard for building software within the EPO.
Java, CruiseControl, Ant, CVS, Maven, Tomcat, XML, XPATH, Linux, Windows, Eclipse, REST, Python, JSP, graphviz