Curriculum Vitae: Dr Dafydd Rees
- Please don’t submit this on-line CV for anything without asking my approval.
- I only “add people as a linkedin contact” if I have either done business with them or have met them in person.
- This page is a commercial summary: Many things have been removed from this CV to reduce keyword-matching spam.
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.
Current Technical Disciplines
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
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 www.sky.com for BSkyB using Extreme Programming. He developed, configured, deployed, optimised and supported the www.sky.com 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
References available on request.