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
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
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
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
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