C:/Users/nicolai.CANOO/IdeaProjects/www.canoo.com-consultants/www-new.canoo.com/static/people/cv/hamlet_darcy.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 
 
 
 
 
 
Hamlet D’Arcy, 1976 
Project Lead, Senior Software Engineer, 
Agile Coach
 
 
 
 
 
 
Objective 
 
Work as a team lead and software engineer in an environment where inspiring, aspiring, and 
high-caliber people are the rule not the exception. A team where the norm is delighting 
customers with lightweight and constant improvement of product, processes, and skills. 
 
Profile 
 
13 years experience has led to strong technical skills across a variety of platforms and 
languages. Hamlet leads and mentors development teams in areas of engineering and 
architecture, is an agile advocate enthusiastic about finding more productive ways to work, 
writes regularly for several websites on the topics of Java, Groovy, architecture, and agility, 
and is an international speaker at conferences and user groups. 
 
 
Professional Achievements 
 
Hamlet has worked on several projects since joining Canoo in 2010. These include a Google 
Web Toolkit rich front end for a major bank, a Google App Engine deployed product build on 
Canoo's RIA Suite framework, and a large Enterprise Java Bean 3 and Service Oriented 
Architecture roll-out for a large insurance company.  
From 2008 through 2009 Hamlet led the effort in a large publishing company to re-architect a 
legacy desktop platform to a secure and scalable Java and Flex solution using web services 
and a modern data access layer. Hamlet led the project thorough the initial chartering and 
vision, the research and prototyping phases, and then stayed with the project as an 
engineer/architect until final delivery. 
C:/Users/nicolai.CANOO/IdeaProjects/www.canoo.com-consultants/www-new.canoo.com/static/people/cv/hamlet_darcy.html
background image
 
Page | 2  
From 2006 through the end of 2009 Hamlet was a major process change advocate within the 
same company. He served on the CMMi process group for two years, and as group chair for 
6 months. He migrated and coached a team towards lightweight practices like iteration based 
delivery, user demos, user stories, emergent design, and Scrum. He held training sessions 
internally and externally on testability and test driven development, worked with several 
teams to improve the quality of the software design process, and co-led a successful effort to 
introduce agile retrospectives. 
Hamlet is an active speaker and author in the Java software community. He blogs on topics 
of software, language, and architecture, and he has been published in several forms, 
including as co-author on Groovy in Action, several articles in both GroovyMag and NoFluff 
Magazine. He speaks frequently at user groups in Europe an the US, and has spoken at 
conferences such as Devoxx, JAX.de, SpringOne/2GX, GR8 Conf, and ÜberConf. 
Hamlet is an avid contributor to open source software. He has contributed to the Groovy 
language since 2007 and became a committer in 2009, and he is the most active committer 
on the Groovy static analysis tool CodeNarc. He also contributes to side projects such as 
Griffon, Gradle (a build framework), Gpars (a concurrency library), easyb (a testing library), 
and JConch (a concurrency library), and is the creator of CrushGraphics, an award winning 
children's development environment.  
 
 
Professional Experience 
Canoo Engineering AG, Basel, Since 2010 
 
09/2011 – 01/2012 
 
Project: Project: Image Service, Die Schweizerische Post, 
Bellinzona 
Role: Project Lead / Software architect 
Lead developer and architect for service providing images and a 
search API to several different applications within the Post. Service 
layer exposed Hessian and SOAP-XML endpoints for 
searching,retrieving, converting, and manipulating image data. 
Backend layer was an Oracle SQL and a Centera content repository, 
and the front end was Spring MVC. Used Spring Integration for 
running requests in parallel, aggregating results, and transforming 
images (format conversion, rotation, and scaling). 
Introduced WebDriver (Selenium 2) for automated UI testing. 
Introduced Spring aspects for automatically generating a mock 
datalayer and load tests. Coached team on evaluating Project 
Lombok for code generation, pair programming, and test-driven 
development. 
Environment: Java, Spring, Spring MVC, Spring Test, Spring 
Integration, CXF, Hessian, SOAP, Selenium, JMeter, Maven,Groovy, 
C:/Users/nicolai.CANOO/IdeaProjects/www.canoo.com-consultants/www-new.canoo.com/static/people/cv/hamlet_darcy.html
background image
 
Page | 3  
JSP, CSS, JUnit, Ehcache, YourKit Profiler, Windows, Linux, 
Subversion, IntelliJ IDEA, Tomcat, Jetty, Oracle SQL 
01/2010 – 07/2010 
07/2011 – Ongoing 
 
Project: Rich Web-Enabled Statistical Model, Bank for  
International Settlements, Basel
 
Role: Project Lead / Software architect / Agile Coach 
Key developer and agile coach for project enhancing an AJAX-
enabled rich internet application for a major banking corporation. 
Development includes both client and server side code written in 
GWT 2.x, Java, Groovy 1.7, JavaScript and CSS. Project includes 
migration from GWT 1.4 to 2.0. Rich browser experience includes 
cover-flow style navigation, drag and drop, spreadsheet displays. As 
agile coach, lead team to adopt and iterate on several practices, 
including regular retrospectives, zero-defect approach, story cards 
based planning, daily stand-ups, and test driven development. 
Application is a Rich Web-Enabled statistical model for world 
financial and economic data. Worked directly with the customer to 
prototype and create user interface for viewing and manipulating 
large datasets, as well as worked directly with other 3rd party 
software providers for integration needs 
Environment: Java, Groovy, Google Web Toolkit (GWT), Scrum, 
Lean, agile retrospectives, XP, usability prototyping, Javascript, 
Servlets, JUnit, XMLUnit, Ehcache, YourKit Profiler, Speed Tracer 
Profiler, Windows, Linux, Subversion, IntelliJ IDEA, Tomcat, Jetty, 
MySQL, Ant 
 
09/2010 – 03/2011 
11/2011 
Project: EJB3 / SOA Pilot & Rollout, Basler Versicherung, Basel 
Role: Sr. Software Engineer 
Team member on an Enterprise Java Bean 3.0 and Oracle SOA pilot 
project. Helped introduce team to effective automated testing with 
unit testing mentoring and Mockito training. Introduced soapUI for 
automated acceptance testing and performance testing, including 
soapUI Groovy scripting and EJB/JNDI integration. Active participant 
in strong Scrum practice, introducing several new practices and 
ideas. Also took active role in mentoring new GWT developers. 
Environment: Java, Groovy, Google Web Toolkit (GWT), Scrum, 
XP, soapUI, Selenium WebDriver, Mockito, WebLogic, Glassfish, 
EJB3, JPA, JAX-WS, JAX-B, JNDI, Oracle SOA, Maven, Eclipse, 
German speaking only. 
07/2011 – 10/2011 
 
Project: Grails Business Process Management, Vodafone, 
Düsseldorf 
Role: Sr. Software Engineer 
Team member on a Grails application that managed the business 
process of rolling out telecommunications services to end-customers 
(such as installing a new landline or Internet connection). The old 
application relied on Excel spreadsheets for tracking and moving 
orders through the process. The Grails application automated all of 
this, provided nicely formatted reports, an easy-to-use UI, and 
C:/Users/nicolai.CANOO/IdeaProjects/www.canoo.com-consultants/www-new.canoo.com/static/people/cv/hamlet_darcy.html
background image
 
Page | 4  
process escalations. 
BPM was performed using the Activiti workflow engine. User 
Interface used Canoo RIA Suite. Apache POI was used to read and 
process Excel input data, as well as create nicely formatted reports. 
Environment: Groovy, Grails, RIA Suite, Activiti, Apache POI 
05/2011 – 07/2011 
 
Project: Dällebach Kari Film Portal, CatPics AG, Bern 
Role: Sr. Software Engineer 
Lead for the portal website for the Swiss Dällebach Kari film 
(
http://www.daellebachfilm.ch/
). Website front end is public-facing 
allowing users to search You Tube videos, register as an extra in the 
film, or submit and rate jokes. Backend provided for user and role 
management, allowed admins to search and contact potential film 
extras, and schedule YouTube videos to be released on the site. 
Project was executed under extreme deadline pressures based on a 
film's release date. 
Environment: PHP, Wordpress, Custom Wordpress Plugins, CSS, 
Wordpress Themes, Scrum, Pair-Programming, JetBrains PhpStorm 
07/2010 – 09/2010 
Project: Canoo Finish Product, Canoo, Basel 
Role: Project Lead / Software architect / Agile Coach 
Lead effort to bring a new Google App Engine and RIA Suite based 
product to market using lean and agile practices such as a kanban 
boards, frequent retrospectives, pair programming, and focusing on a 
minimal marketable feature set. Set up continuous deployment to 
GAE using Gradle, facilitated retrospectives in German, and 
mentored newer team members on software development best 
practices and design patterns.  
Environment: Java, Google App Engine (GAE), JPA, Canoo RIA 
Suite, Gradle, Continuous Deployment, Lean Software 
Pearson, Minnesota USA 2006 - 2010
 
 
06/2006 – 12/2009
 
Project: Computer Based Testing System, Pearson VUE, 
Minnesota, USA 
Role: Architect, Sr. Software Engineer, and Agile Coach 
Lead and architect for team 10 to 20 people in size, including quality 
assurance and business analyst staff. Focus on modernizing Swing 
desktop application group and moving to thin client architectures 
using Java and Flex. Included Responsible for mentoring and 
educating team on modern ideas in software such as testability, 
component design, and tools/frameworks. Held formal and informal 
training sessions across groups. Play key architectural role, and 
coach teams on agility in multiple projects. 
Led effort to modernize codebase by introducing and training team 
on TDD, mock object frameworks, dependency injection (with 
Spring), Model-View-Controller in Swing, new Java versions, and 
usability testing.  
Prototyped and implemented major rollout of thin client architecture 
C:/Users/nicolai.CANOO/IdeaProjects/www.canoo.com-consultants/www-new.canoo.com/static/people/cv/hamlet_darcy.html
background image
 
Page | 5  
using SOAP web services with CXF, JAX-WS, JAX-B with a 
Flex/PureMVC front end. 
Environment: Java, Groovy, SQL, ActionScript, Flex, Flash, C++, 
Javascript, C#, Swing, Flex, Grails, PureMVC, SwixXml, CXF, Axis2, 
BlazeDS, Tomcat, Jetty, Spring, Hibernate, SOAP, POX, and 
RESTful services, JAXWS, JAXB, AMF, OSGi, Quartz, CORBA, 
Jconch, Junit, XMLUnit, Groovy, EasyMock, usability testing, 
Marathon,  JConch, BCEL, ASM, MS-SQL, MySQL, Derby, 
Windows, Unix, Enterprise Architect, Perforce, IntelliJ IDEA, Eclipse, 
Visual Studio, Ant, Ivy, Gradle, Cruise Control, TeamCity, YourKit 
Profiler, SoapUI, Scrum, XP, Lean, CMMi, Design Patterns 
RedPraire, Minnesota USA, 2003 - 2006 
 
2003 - 2006 
Project: Payroll and Compensation Tracking, Minnesota, USA, 
Shangai, China, and other US cities 
Role: Senior Software Engineer, Sr. Manager, and Agile Coach 
Lead developer for the company’s payroll product, eventually 
migrating the product team to a services group and acting as an 
architect and manager. Also lead developer for PHP and Smarty 
based web applications for the Windows CE and PocketPC 
platforms. Product development included requirements analysis, 
software design and reviews, development, and deployment support. 
Included managing an offshore development team in the company’s 
China office, leading a Scrum pilot project with the distributed team. 
As Senior Manager, responsible for team remaining billable, account 
management of several large customers, and mentoring team 
members. Instituted many Scrum, XP, and Test Driven Development 
practices within the team. Personally created unit testing framework 
for the developers. Also instituted user interface testing using Java's 
Junit and HTTPUnit frameworks. 
Environment: C++, PHP, Java, CSS, HTML, VB.NET, VB6, JSP, 
Perl, Swing, SOAP, Junit, usability testing, HttpUnit, Selinium, nUnit, 
MS-SQL, Oracle, Windows, Unix, Windows Mobile, WindowsCE, 
Rational Rose, ArgoUML, CVS, Eclipse, Visual Studio, Ant, Make, 
Quantify, Scrum, XP, Lean, Design Patterns 
Vertical System Inc, Minnesota USA, 2002 - 2003
 
 
2002 - 2003 
Project: Custom Wireless and Mobile Applications, Minnesota 
and Seattle, USA, and other US cities 
Role: Team Lead, Project Manager 
Responsible for software projects from requirements through 
development, including management. Worked closely with clients to 
identify application functionality, and lead development teams in 
delivering value driven software. As a project manager, was 
accountable for budgeting and profitability of projects. 
Responsible for writing and maintaining a Java middleware 
application for the City of Seattle's Police and Fire dispatching 
system. High throughput, mission critical application took mainframe 
messages and forwarded them to vehicle based mobile computers of 
the city's CDPD network. Involved Java sockets, Java threads, UDP 
C:/Users/nicolai.CANOO/IdeaProjects/www.canoo.com-consultants/www-new.canoo.com/static/people/cv/hamlet_darcy.html
background image
 
Page | 6  
and TCP issues, and heavy refactoring. 
Environment: Java, C/C++, VB6, PowerBuilder, MFC, MS-SQL, 
Sybase, Windows, Unix, PalmOS, PocketPC, Windows Mobile, 
WindowsCE, Rational Rose, Argo, CVS, Visual SourceSafe, Eclipse, 
Visual Studio 
Noblestar, London, England, January 2001 – October 2001
 
 
2001 
Project: Custom Wireless and Mobile Applications, London, 
England 
Role: Software Consultant 
Provided mobile computing design and programming expertise to 
clients as an on-site consultant based in London, England. 
Performed system design and lead development teams for a wide 
range of clients. 
Helped develop the London Underground's smart card application for 
subway and bus fares. Rational shop required many UML diagrams 
and OO Patterns. Written in embedded C++ for the PocketPC 
platform. 
Environment: C/C++, VB6, Perl, PalmOS, PocketPC, Windows 
Mobile, WindowsCE, Windows, Rational Unifed Process, Visual 
SourceSafe, Visual Studio 
Vertical System Inc, Minnesota USA, 1998 - 2000 
 
1998 - 2000 
Project: Custom Wireless and Mobile Applications, Minnesota, 
USA 
Role: Programmer / Analyst 
Designed and developed mobile and wireless applications for the 
manufacturing and distribution industries. Responsible for gathering 
requirements from clients, designing user interface and systems, 
coding, and integrating with back-end systems. Lead Developer for 
the HindSite project, which was later successfully spun off into its 
own company 
Environment: C/C++, VB6, PowerBuilder, MS-SQL, Sybase, 
Windows, PalmOS, DOS, CVS, Visual SourceSafe, Visual Studio 
 
Management Experience 
 
Since 2005 
Scrum Master and Agile Coach for teams of various sizes 
2005 – 2006 
Senior Manager, Red Prairie 
  Responsible for software services team of 4-8 members with 
concurrent 400 to 800 hour projects 
  Responsible for billing and accounts  
  Management of team and customers 
Instituted Scrum, XP, and Test Driven Development practices within team 
2004 - 2005 
Offshore Development Center Management, RedPrairie 
  Offshore Development Mentor and Manager 
C:/Users/nicolai.CANOO/IdeaProjects/www.canoo.com-consultants/www-new.canoo.com/static/people/cv/hamlet_darcy.html
background image
 
Page | 7  
  Lead and managed offshore development team in Shanghai, China. 
Included travelling to China to mentor developers in C++, PHP, and 
SQL 
  Created performance metrics for judging offshore work 
Wrote internal white papers on effective communication strategies with 
Chinese employees based on linguistic and cultural differences between 
the US and China 
 
Speaker Experience 
 
2011 
Effective Groovy, Tales of Little 'a' Agile, Java Boilerplate Busters, Code 
Generation on the JVM, New Ideas for Old Code, Presentation Patterns – 
Event Buses and Presentation Models, Getting Started with Mockito, 
Static Analysis on the JVM 
2010 
Slimmed Down Software: A Lean, Groovy Approach, Code Generation on 
the JVM – Spring Roo, Lombock, and Groovy AST, Groovy AST  
Transformations 
2009 
Groovy, Legacy Code, and You – Legacy Code Testing Strategies,  
Getting Started with Groovy and OSGi, Functional Groovy – Functional   
Programming in Groovy, Thinking in Functions – Functional    
Programming, Concurrent and Parallel Testing Strategies, Groovy   
Compiler Metaprogramming – The Groovy compiler, Groovy    
Metaprogramming – Runtime & Compile-Time Metaprogramming, Groovy    
IDE Support – IDE Shootout 
2008 
Beginning F#, Grails and JSecurity 
 
Teaching Experience 
 
2011 
Technical Writing in English (3x 3 day course) through UBS University 
Code Retreat – Pair Programming and Test Driven Development 
2009 
Spring for Dependency Injection (1 Hour) 
Introduction to Groovy (1 Hour) 
Agile and Lean Software Development (1 Hour) 
2007 
Java 5 Concurrency (2-3 Hours) 
2006 
EasyMock and Mock Objects (1 Hour) 
2003 – 2006 
At RedPrairie, led many customer site training sessions, ranging from 1 
hour to 2 days in length. Developed extensive written training material. 
 
Publications 
 
2011 
Co-Author Groovy in Action 
NFJS Magazine – Groovy Command Expressions 
2010 
GroovyMag – 7 part series on Lean and Groovy 
NFJS Magazine – Article on Waste in Software Development 
DZone Refcard – Up and Running with Griffon 
C:/Users/nicolai.CANOO/IdeaProjects/www.canoo.com-consultants/www-new.canoo.com/static/people/cv/hamlet_darcy.html
background image
 
Page | 8  
Since 2006 
“behind the times” technical blog – 
http://hamletdarcy.blogspot.com
 
Since 2010 
Canoo RIA Blog – 
http://www.canoo.com/blog
 
2009 
DZone MVB - “Most Valuable Blogger” 
2008 
IntelliJ IDEA Dzone Refcard (updated in 2009) 
2005 
Internal white paper: “Effectively Communicating with Offshore 
Developers” 
2004 
White paper: “Tracking FMLA Time with RedPrairie CompTrak©” 
2003 
Internal white paper: “Mobile Device Development with PocketPC” 
 
Open Source and Community Contributions 
 
Groovy 
Committer since 2009. Developed AST tools for the 1.7 release and 
some 1.8 features. Bug fix contributer for several years 
CodeNarc 
Committer since 2010. Wrote many Groovy static analysis rules 
CodeNarc Web 
Console 
Project owner since 2010. Google App Engine based interface for the 
CodeNarc project. Available at 
http://meetcodenarc.appspot.com
 
IntelliJ IDEA 
JetGroovy contributor since 2009. Added enhancements and bug fixes in 
IDEA 9, 10, and 11 
JConch 
Committer since 2009. Created concurrency testing libraries in 1.1 and 
1.2 release 
CrushGraphics  Project owner since 2008. Award winning F# based Logo IDE designed 
for children aged 3 to 12 
Griffon  
Plugin Committer since 2009. Author of several plugins 
Gradle 
Contributor since 2009. Contributed plugins and OSGi examples 
Easyb 
Contributer since 2009. Helped with IntelliJ IDEA support 
GPars 
Contributor since 2009. Contributed concurrency examples and OSGi 
enabled Gradle build script.  
Spock 
Contributor since 2010. Help keep documentation up to date. 
JetBrains 
JetBrains Academy Member since 2009. This is a small group of people 
recognized by JetBrains as community experts.  
filter4osgi 
Project owner for LDAP filter DSL for OSGi 
groovy-osgi 
Contributed OSGi Filter Builder based on filter4osgi work 
TimeTool 
Project owner for time tracking application since 2006 
(http://code.google.com/p/timetool2/) 
Hackergarten 
User group organizer since 2010. http://www.hackergarten.net 
Groovy.MN 
User group organizer and frequent presenter since 2007 at Groovy Users 
of Minnesota 
OTUG 
Object Technology User Group – Session organizer and webmaster from 
2007 – 2009 
Agile 2009 
Volunteer  
CITCON 2009 
Continuous Integration and Testing Conference social director 
C:/Users/nicolai.CANOO/IdeaProjects/www.canoo.com-consultants/www-new.canoo.com/static/people/cv/hamlet_darcy.html
background image
 
Page | 9  
GR8 in the US 
Coordinated financial donations for the Groovy and Grails conference in 
the US 
Agile 2006 
Student volunteer 
 
Technical Skills 
Languages 
Java, Groovy, PHP, Javascript, ActionScript, C++, Perl, F#, C#, 
CSS, Scheme, Logo, Jython, Bash Script 
Modelling Tools 
Enterprise Architect, Rational Rose, Magic Draw, UML 
Application Frameworks  J2EE, EJB3, Google Web Toolkit (GWT), Grails, Griffon, 
PureMVC, Flex, Flash, Spring, OSGi, Terracotta 
GUI Frameworks 
GWT, Swing, Flex, HTML/JSP, WPF, SwiXml, Canoo ULC 
Application Containers 
and Web Services 
WebLogic, CXF, Axis2, BlazeDS, Tomcat, Jetty, SOAP, POX, 
and RESTful services, JAXWS, JAXB, AMF, JMX, Quartz, 
Ehcache, log4j, slf4j 
Databases 
JPA, MS-SQL, Oracle, DB2, MySQL, Derby, Hibernate 
Performance Tools 
YourKit, SoapUI, Quantify, soapUI 
Methodologies 
Scrum, XP, Lean, RUP, CMMi, Design Patterns, OO, 
Functional Programming 
Build and CI Tools 
Ant, Gradle, Ivy, Maven, Cruise Control, Team City, Make 
Version Control Tools 
Subversion, Git, Perforce, CVS, Visual Source Safe 
IDEs 
IntelliJ IDEA, Eclipse, Visual Studio 
Operating Systems 
Linux, Unix, Windows, PalmOS, PocketPC, Windows Mobile, 
WindowsCE 
Education 
 
2006 
Master's of Science in Software Engineering, University of St. Thomas, St. 
Paul, MN 
2005 
Certified Scrum Master Course 
2001 
Microsoft Certified Professional, Microsoft Technical Architectures 
1997 
Bachelor of Arts in Sociology, University of Colorado, Boulder 
 
 
Personal Profile 
 
Date of Birth 
28.03.1976 
Nationality 
United States 
Languages 
English (native), German (intermediate) 
Marital Status 
Married