Curriculum Vitae: Dr Dafydd Rees

view profile


Extreme Programming (early adopter, 7 years)
Test-Driven Development (9 years)
Ph.D. Computer Science
Java (10 years, SCJP)
Globally distributed, agile teamwork (3 years)
High volume web development experience to 5 million page views per day.
Early adopter of Ruby on Rails.
Experience of writing and presenting technical courses.
Full software life-cycle experience.

Phone: +44 (0)20 32394867
Postal Address: Green Bar Software Limited, 2 Church Street, Burnham, Bucks, SL1 7HZ

Current Technical Disciplines

Key Skills: Java, Ruby, Test-Driven Development, Refactoring, Responsibility-Driven Design, Design Patterns, Extreme Programming (XP), Hibernate, Javascript, AJAX (using Prototype, Scriptaculous, JQuery), J2EE, Spring, Spring MVC

Production Languages: Java 6, Ruby (on Rails), Groovy

Production Server Platforms: Apache, Tomcat, Jetty, Orion

Production Databases: Oracle, SQL Server, MySQL, Postgres, Sybase

Favoured XP Tools: Eclipse/IntelliJ, JUnit, Ant, Hudson, JMock, Selenium

Additional Technologies:
Various dynamic and scripting languages, various Java-based mock object frameworks, Toplink, Model-View-Controller (MVC) and Model-View-Presenter (MVP) user interfaces, Prolog, Smalltalk (Dolphin and Squeak), Object-oriented design methods (Catalysis, Fusion, OMT and Syntropy), UML, Web Services (REST and SOAP), Linux, Unix, XML, HTML, C-based technologies

Projects and assignments

Senior Agile Developer, Well-Known Publisher, September 2010—(ongoing)

Dafydd is working on the capture, processing and reporting of usage data for a large, on-line library using Extreme Programming.

Technologies: Java, Hibernate, Sybase, JUnit, Easymock, Hudson, Spring, Spring MVC

Senior Agile Developer, Netstream Project, BskyB February 2010

Working on the broadband provisioning and service management platform for Sky Network Services, specifically the directory number inventory, broadband service checker and some ruby-based integration testing tools. Amongst other things Dafydd applied RDD to refactor part of the number inventory so that some new work could happen more easily.

Technologies: Java, JUnit, Hibernate, Concordion, JRuby, Rails, RSpec, TeamCity

Project: Senior Agile Developer, HSBC Investment Bank January 2009

Working as a developer in a Scrum-based Java Project. Although the exact business of the project remains confidential it can be described as reading several message queues, performing some computations, storing the results in a database and generating message queue-based feeds for other bank systems.

Technologies: Java, JBehave, Jetty, Hibernate, Spring, TeamCity

Project: Senior Agile Developer, BSkyB March 2008

Working on the next phase of the development of for BSkyB using Extreme Programming. He developed, configured, deployed, optimised and supported the homepage to a clustered, high availability environment to support more than 5 million page views a day as part of an XP team. Dafydd made significant contributions designing the automated deployment tool, leading on work to test-drive and refactor the Groovy on Grails code. This project allowed Dafydd to acquire substantial new skills in the area of high-volume website design including: caching technologies, building cluster-aware applications, the automated regression testing of complex large-scale deployments the use of AJAX and numerous techniques for minimising page weight.

Technologies: Groovy on Grails, Java, Ajax (Prototype, JQuery), HtmlUnit, Selenium, Fitnesse, Spring, Hudson, Gant, Jawr, Jgroups

Project: Sabbatical June 2007

After five years of continuous extreme programming Dafydd decided to take some time out from commercial development to enhance his Ruby on Rails skills and do some work on his fitness goals.

Project: Developer, BNP Paribas, London June 2006

Working on an extreme programming team on a bond static data system consolidating static data for fixed income within the bank. This involved taking several data feeds from different systems around the world, normalising them, and running them through custom algorithms to produce a definitive version. The system was developed in London and deployed globally with users in New York, London and Tokyo. Specifications for the system consisted of HTML pages written in co-operation with our business analysts. These specifications were run using the Java FIT framework and form part of the formal system build.

Technologies: Java, Hibernate, Jakarta Tomcat, Linux, Oracle, FIT, Cruise Control

Project: XP Developer, Wireless Data Services Global November 2002

Worked in a globally distributed extreme programming team mostly working in Java.

Dafydd worked in one of the first, follow-the-sun, agile teams. Dafydd was appointed team lead on a project to create a tool written with Ruby on Rails. Despite all the new tools and technology it was delivered several days early. Dafydd made significant contributions to the custom, MVP web framework, including lazy view population (for speed), sub-model aspects (for management and configuration of many, slightly different web applications) and with type converters (that considerably simplify the code by using real objects rather than identifiers). Dafydd used his Prolog skills to play a leading role introducing rules-based email configuration. This allowed internal users to describe configuration changes using rules and to quickly determine the consequences of those rules on a set of about 5100 potential configurations. Whilst working for WDS (Americas) in Seattle he mentored developers new to Java and object-orientation. Dafydd also wrote and presented a design patterns workshop.

Main Technologies: JUnit, JMock, DbUnit, Cruise Control, Velocity, JSP & Servlets (with Tomcat and Orion), Swing, Ruby on Rails, Axis (SOAP), XSLT, JDBC, Toplink, Ant, Spring, EJB, some C-based technologies

Project: Analyst/Programmer, Cardiff e-commerce practice, BT April 2002

LSST was a web-based sales tool that configures, prices and submits complex contracts. The work involved clarifying requirements with customers, Java and Javascript-based development. Dafydd was the first person at BT in Cardiff to introduce test-driven development.

Technologies: Java, Tomcat, the Selectica “ACE” knowledge base, Oracle and Javascript


References available on request.