C:/Users/nicolai.CANOO/Desktop/cvs/dierk_koenig.html
background image
 
Canoo Engineering AG
  
|  Kirschgartenstrasse 5  |  4051 Basel  |  Schweiz  |  T +41 61 228 94 44  |  F +41 61 228 94 49  |  www.canoo.com 
 
 
 
 
 
Dierk König, 1968 
Senior Software Architect and Coach
 
 
 
 
 
 
Objective 
 
Assisting our customers in successfully creating software solutions that meet their 
requirements and exceed user expectations.  
As an architect, I'm happy to take responsibility for non-functional requirements like stability, 
extensibility, performance, scalability, maintainability, testability, and correctness. As a 
coach, I enjoy helping teams and individuals to achieve extraordinary results and to 
continuously improve through collaborative learning. 
 
Profile 
 
A Senior Software Architect with extensive technological background who has come to the 
considered opinion that architecture is never finished until it has become live in the minds of 
the development team and is working in production. To this end, I strive for simple, solid 
concepts, clear purpose, and the highest standard in software craftsmanship. 
Being an early member of the agile developer community, I have contributed to making this 
idea a reality through both running projects in an agile manner and sharing experiences in 
talks and publications. I have helped in advancing the practices of customer collaboration, 
agile planning, test automation, test-driven design, code katas, pair programming, continuous 
integration, refactoring, incremental software construction, and retrospectives. 
It is my particular strength to alleviate major project risks that habitually arise from any of the 
above practices not being obeyed. 
 
Professional Achievements 
 
Shaping the open www.pillarone.org Risk, Rating, and Reserving platform for the insurance 
industry as its technical architect. My contributions included laying out the general 
architecture and guiding a mixed team of Canoo and customer engineers through the 
C:/Users/nicolai.CANOO/Desktop/cvs/dierk_koenig.html
background image
 
Page | 2  
implementation. Moreover, I coached the team in agile development practices and various 
technological issues.  
I facilitated a customer collaboration scheme that addressed major communication issues 
and is meanwhile deemed indispensable for the project's ongoing success.  
Development of the award-winning Canoo TIPP! game, where I laid out the general 
architecture and the initial implementation with a team of six Canoo engineers. I prepared the 
timely submission and presented the winning solution. 
Development of a Struts/JSP based intranet application for managing the corporate reporting 
and account structure at SwissRe. I worked as senior developer while coaching a mixed 
team of customer and Canoo engineers through all project stages after an initial 
requirements gathering until final successful delivery. The introduced approach to project 
planning and controlling, release management, test automation, continuous integration and 
team collaboration have become a role model for subsequent projects. 
Founding, setting up, co-developing and managing the open-source Canoo WebTest project 
webtest.canoo.com. The project was invented in 2001 as the first powerful open-source 
solution for automated testing of web applications. It has become very popular and is used all 
over the world in companies ranging from small shops through academia up to a number of 
fortune 500 and government organizations.   
Author of the best-selling "Groovy in Action" book, Manning 2007, with translations into 
German, Japanese, Chinese, and Korean. Foreword by James Gosling.  
From the Amazon reviews: Johannes Link "It is a Gordian challenge to write an interesting 
and readable book about nothing but a programming language. Dierk König and his co-
authors actually did succeed in cutting the knot. They even accomplished much more: they 
added lots of insight about object orientation, programming language design and good 
software development. As long as I only had the PDF available, it served me as THE 
reference for all my questions about Groovy. Now the printed copy makes my commuting 
time worthwhile. Cover to cover. 700 pages of computer LITERATURE." 
John Sanabria " [...] I consider it as much as a Groovy bible." 
 
C:/Users/nicolai.CANOO/Desktop/cvs/dierk_koenig.html
background image
 
Page | 3  
Professional Experience 
Canoo Engineering AG, Basel, Since 2000 
 
11/2007 – 05/2010 
Project: PilarOne open source “Risk, Rating and Reserving” 
platform, sponsored by MunichRE 
 
Role: Technical Architect Consultant 
Challenges: extremely complex business logic, high-performance 
number processing, high flexibility in risk modeling and 
parameterization, interactive GUI, business open-source, scaling 
from laptop to enterprise, diverse stakeholders, mix of public and 
private building blocks 
Tasks: laying out the general architecture, introducing developers to 
it, providing reference implementations, continuous work on design, 
test, and implementation, refactoring, performance optimization, 
troubleshooting, SAP integration, presentations, organizing agile 
collaboration practices and retrospectives, continuous consulting 
Outcome: delivered within time, scope, and budget. All functional and 
non-functional requirements met or exceeded. Outperforming all 
competitors. Actively used in insurance and reinsurance companies 
as well as actuary consultants. At delivery date, the only enterprise-
ready solution on the market. See http://pillarone.org 
Environment: Groovy, Java, Grails, Canoo ULC, Spring, Acegi, 
Hibernate, Tomcat, MySQL, Jira, JUnit, Cobertura, IntellijIDEA, 
Hudson, YourKit, Subversion, Git 
11/2009 
Project: Development of the award-winning Canoo TIPP! game 
 
Role: Senior Software Engineer and Architect 
Challenges: create a visually-appealing online solution for betting on 
the outcome of the FIFA 2010 World Cup soccer games in order to 
win the W-JAX Developer Challenge in a matter of days 
Tasks: provide application architecture and infrastructure, lead the 
group of six developers, define the data model and implement the 
data management facilities, implement the business logic in 
transactional services, implement the HTML and ULC GUIs, include 
ULC Extensions and a mobile channel for iPhone and Android 
devices, automate tests, make the code review-ready, provide the 
required documentation, present the solution before the W-JAX 
plenum 
Outcome: an expert group reviewed the quality of the code and 
selected it for the final round where the audience selected us as the 
winner with 226 votes (runner-up was 85 votes). Subsequently, the 
solution was reworked, extended and put live for the World Cup 
under http://cats.canoo.com where it worked to our complete 
satisfaction. 
Environment: Groovy, Grails, Canoo ULC, JUnit, Canoo WebTest, 
Spring, Acegi, Hibernate, Derby, MySQL, Jira, IntellijIDEA, 
Subversion, Gradle, Pages, Keynote 
C:/Users/nicolai.CANOO/Desktop/cvs/dierk_koenig.html
background image
 
Page | 4  
Since 2004 
Project: Committer to the Groovy, Grails and GPars open source 
proejcts 
 
Role: Committer 
Challenges: design and implement a new language, web application 
platform, and concurrency library 
Tasks: participate in all activities involved from early ideas through 
specification, roadmap, design, implementation, test, debugging, 
profiling, infrastructure, communication, and public presentations  
Outcome: Groovy has become the de-facto standard for dynamic 
programming on the JVM, Grails is hugely popular, and GPars gets 
great coverage at leading conferences 
Environment: Groovy, Java, JUnit, ANTLR, Objectweb ASM, 
Confluence, Jira, JUnit, Cobertura, Ant, Gant, Gradle, IntellijIDEA, 
Subversion, Git 
01/2004 – 08/2004 
Project: Development of a Struts/JSP bades intranet application 
for managing the corporate reporting and account structure at 
SwissRe
 
 
Role: Consultant and Senior Software Engineer 
Challenges: organizational and technical integration, understand, 
estimate, and implement complex business requirements that took a 
full year to specify, introducing agile practices 
Tasks: estimation, planning, and progress tracking in an agile 
manner, design, implementation, infrastructure for build automation, 
test automation and continuous integration  
Outcome: the product went live in time with such a low defect rate 
that it became the role-model for further projects, some observations 
made it into the book "Agile Development in the Large" (Eckstein) 
Environment: J2EE, Struts/JSP, Eclipse, DB/2, CruiseControl, JUnit, 
Ant, Canoo WebTest 
2003 
Project: Participation in the development of the corporate 
content management system WIP at UBS
 
 
Role: Senior Software Engineer 
Challenges: implementing a company-wide content management 
system that puts the internal workflow directives, user roles, and the 
corporate document styles in action. Very high demands in rich user 
interaction capabilities like structural, collaborative editing.  
Tasks: supporting the development team technically and giving focus 
to the development methodology  
Outcome: delivered in time, scope, and budget. Was successfully put 
in production and is still running 
Environment: WebSphere Portal Server, Portlets, Vignette Story 
Server, Canoo ULC, XML, XSLT, WSAD 
 
 
C:/Users/nicolai.CANOO/Desktop/cvs/dierk_koenig.html
background image
 
Page | 5  
Since 2001 
Project: Founder and project manager of the Canoo WebTest 
open source framework for testing web applications
 
 
Role: Senior Software Engineer 
Challenges: invent a free solution for testing web applications that is 
fast, efficient, easy to write, easy to understand, easy to maintain, 
and scales to large enterprise applications 
Tasks: define approach and architecture, find and keep collaborators, 
setting up the open-source project, shape initial version, make a self-
documenting system, public communication 
Outcome: Canoo WebTest has become hugely popular and is 
actively used by thousands of testers and developers all over the 
world. It is widely renowned as a role-model for a well-run, high-
quality software development project 
Environment: Java, Ant, Groovy, Jira, JUnit, CruiseControl, Clover 
(reached 100% code coverage), Subversion, Fisheye 
03/2000 – 11/2000 
Project: Development of a securities order management system 
for Credit Suisse Private Banking (CSPB)
 
 
Role: Senior Software Engineer 
Challenges: replace a high-performance 3270-Terminal application 
with newly introduced web technology 
Tasks: lead the development team as senior developer  
Outcome: delivered in time, scope, and budget. Was successfully in 
production for some years, meanwhile merged with a successor. 
Since 2000 
Project: Coaching and Consultancy 
 
Role: Consultant and Coach 
 
Supporting Credit Suisse in using test automation efficiently 
 
Consultant for various clients concerning the technical 
architecture for high-impact web applications 
 
Special consulting for Groovy and Grails  
 
Organizing and leading continuous improvement programs and 
project retrospectives 
 
Coaching various teams in CSPB in Java, Web Technology 
and Development Methodologies 
 
Coaching of Trainees in groups and personally in CSPB and 
CSFS 
 
Leading a three-month, six-trainee education project in CSPB 
that successfully delivered a reporting solution for the 
corporate back-office platform 
Founding member of the XP Adopters Group Switzerland (XPAGS) 
Clients: Credit Suisse, UBS, Julius Bär, Bank Leumi, SwissRe, 
Swisscom, EMPA, Hofmann - La Roche, Basel-Stadt, APG, SAP, 
Bertelsmann, Web.de, Kontoblick.de, Bewotec, Businessglue, 
C:/Users/nicolai.CANOO/Desktop/cvs/dierk_koenig.html
background image
 
Page | 6  
dict.leo.org, Opitz, Sächsische Aufbau Bank, Software & Support 
Verlag, Logica, Smartmedia, Intuitive-Collaboration 
UBS AG, Basel, 1998 - 1999 
1998 - 1999 
Role: Software Engineer 
Development of a framework for lightweight self reflecting datatypes 
in Java 
Development of Servlet based web services, e.g. an automated 
glossary lookup service 
Prototype applications for EJB and XML usage 
Swiss Bank Corporation, Basel, 1997 - 1998 
1997 - 1998 
Role: Software Engineer 
Development toolkit for Servlet based applications 
University of Karlsruhe, 1991 – 1997, Student, Research Assistant 
1991 - 1997 
Role: Student, Research Assistant 
Development of a log based intrusion detection system for Deutsche 
Telekom AG 
IBM Germany VSE Dev. Lab., Böblingen, 1988 - 1991 
19888 - 1991 
Role: Trainee 
Design & Development of a test shell for Advanced Program-to-
Program Communication (APPC, LU6.2) 
 
Publications 
 
Books 
Main author of the best-selling "Groovy in Action" book, Manning 2007, 
with translations into German, Japanese, Chinese, and Korean. 
Foreword by James Gosling 
Contributions 
Acknowledged reviewer, quoted reference, and/or contributor to many 
books, including  
Extreme Programming Explained (Kent Beck),  
Test-Driven Development (Kent Beck),  
Pragmatic Thinking and Learning (Andrew Hunt), 
Agile Development in the Large (Eckstein/Josuttis), 
JUnit (Johannes Link), 
JUnit and Fit (Frank Westphal), 
Refactorings (Roock/Lippert), 
The Definitive Guide to Grails (Graeme Rocher), 
Grails in Action (Glen Smith, Peter Ledbrook) 
C:/Users/nicolai.CANOO/Desktop/cvs/dierk_koenig.html
background image
 
Page | 7  
Articles 
Over 25 articles in leading magazines like iX (Heise), 
OBJECTspectrum (SIGS DATACOM) and JavaMagazin (Software & 
Support), covering  
Extreme Programming, Test Automation, Build Automation, 
Continuous Integration, Rich Internet Applications, Groovy/Java, and 
the Grails web application platform. 
Authoring the Groovy reference card for refcardz.dzone.com 
Multimedia, 
Web 2.0 
Videos of selected public appearances: 
http://www.viddler.com/explore/oredev/videos/30/ 
http://it-republik.de/jaxenter/news/JAX-TV-Dierk-Koenig-ueber-Groovy-
038854.html 
http://it-republik.de/jaxenter/news/JAX-TV-Dierk-Koenig-ueber-Pro-
und-Contra-der-Sprachenvielfalt-053492.html 
http://www.parleys.com/#id=1831&st=5&sl=1 
http://video.google.com/videoplay?docid=-3779950329348771651# 
Many appearances in http://grailspodcast.com 
Tonabnehmer podcast http://www.frankwestphal.de/Tonabnehmer13-
DierkKoenig-GroovyundGrails.html 
Many Twitter followers for @mittie 
Appreciations (kudos) at https://www.ohloh.net/accounts/mittie 
 
Public appearances 
 
Conferences 
About 100 appearances at various national and international 
conferences with sessions, panels, workshops, and keynotes as well 
as having served as program chair and jury member having reached 
multiple thousand listeners. 
The conference list includes JavaOne, JavaPolis, JAX, W-JAX, SET, 
CeBIT, Jazoon, Oeredev, Developer Summit Stockholm, GR8 
Copenhagen, 2GX London and Washington D.C., JavaGruppen, 
XP200x, XP Days, DLW, OpenExpo, RIA Forum, Entwicklertage 
Karlsruhe, SPBUG, AKQIT, Java Forum Stuttgart, Expertenforum 
Stuttgart, and various Groovy and Java User Groups 
Invited 
appearances 
at ETH Zürich, University Zürich, University Basel, Fachhochschule 
Nordwestschweiz, HSR Rapperswil, Hochschule der Medien Stuttgart 
Workshops 
About 20 full-day or multiple-day workshops on test automation, 
Groovy, and Grails in collaboration with JAX, W-JAX, Entwickler-
Akademie, iX, and LinuxHotel 
Awards 
Presented Groovy to receive the JAX Innovation Award 2007  
Presented Canoo TIPP! to win the W-JAX Challenge 2009 
Jury member for the JAX Innovation Award 2008 and the Jazoon 
Rookie Award 2009 
 
C:/Users/nicolai.CANOO/Desktop/cvs/dierk_koenig.html
background image
 
Page | 8  
Technical Skills 
 
Languages 
Groovy, Java, XSLT, Perl, Ruby, C, Assembler, PL/1, Pascal, 
Prolog, JavaScript, JavaFX, Scala, Clojure 
Java 
Core, Swing, Concurrency, Sockets, RMI, Servlets, JSP, 
JDBC, XML, JMS, Web Services 
Frameworks 
Grails, Griffon, Servlets, Struts, JSP, EJB, JavaBeans, ULC, 
Swing 
Libraries 
GPars, Apache Projects, UltraLightClient, Quartz, JUnit, 
TestNG, Webtest, HtmlUnit, Jacob, Scriptom, and many more 
RDBMS 
MySQL, HSQLDB, DB/2, Derby, IMS, Oracle, MS Access 
Servers 
Apache, Tomcat, Jetty 
Platforms 
Windows/NT/2000/XP, Unix, Linux, MVS, VM, VSE, DOS, Mac 
OS X 
VCS 
Subversion, CVS, Git 
Tools 
Idea, Eclipse, Netbeans, Ant, Gradle, Maven, JBuilder, 
JTogether, Sniff+, Jinsight, YourKit, Clover, Cobertura, Hudson, 
CruiseControl, Bamboo, TeamCity, Fisheye, Findbugs, 
JDepend, Checkstyle, Sotograph, PMD, XRadar, E, Textmate, 
UltraEdit, Wiki 
Code 
Design Patterns, Refactoring, Test-Driven Development 
Processes 
OO RAD, Extreme Programming, Design Patterns, RUP, ASD, 
Scrum, Crystal, Kanban 
 
Education 
 
Master of Computer Science, University of Karlsruhe 
Bachelor of Business Administration, Baden-Wuerttemberg University of Cooperative 
Education 
 
Personal Profile 
 
Date of Birth 
1968 
Nationality 
German 
Languages 
German (native), English (fluent) 
Marital Status 
Married, one child