Octopull logo Octopull/persons
Homepage
Alan's CV
C++ writing
C++ links
Java
Agile
Bridge
Chess
Kids stuff
Downloads & Links
Picture of Alan

Alan Griffiths

Website: http://www.octopull.demon.co.uk/
email: alan@octopull.demon.co.uk

Availability

September 2007

Key skills

Mentoring: In my role at Microlise I was responsible for coaching development staff working in a wide range of roles: Project Management, Business Analysis, Systems Architect, Design, Programming and QA.

Java: I have 7 years experience with Java and have worked with a range of J2EE technologies. I have published articles relating to Java in Java Report, Overload and C Vu.

C++: I have 16 years experience with C++ and am a member of the BSI C++ Panel and represented the UK at the 2003 ISO WG21 meeting. I have published articles relating to C++ in C/C++ Users Journal, EXE, Overload and C Vu.

OOA/D: I have 19 years experience of Object Oriented methods and was responsible for introducing them the development groups in my last two permanent roles. I have published articles relating to OOD in EXE, Overload and C Vu.

Profile

I am an experienced software developer with particular strengths in Object Oriented methods and technologies. These include Agile Methods, Java, C++, Object-Oriented Design and Generic Programming. I have a good working knowledge of tools and technologies like CVS, UML, HTML, XML, SQL, make, Ant, and JUnit.

I have prepared and presented on technical subjects both internally to employers/Clients (Barclays Capital, Microlise and Experian) and at conferences. I have also written feature articles for a range of technical publications.

In my recent placements I have had responsibility for continuous improvement of the software development process including the introduction of methods and tools, the mentoring of project management and development staff, and responsibility for ensuring effective use of development technologies.

Employment History

[twelve month contract] Barclays Capital (February 2005 to February 2006)

The development group with which I worked provides front-office support for equity derivatives trading. During this contract I provided coaching for management and developers undertaking a project significantly larger than departmental norm, and participated in a project that increased the scope, reliability and capacity of the exotics risk calculation system. This work included process development (especially the automation of the build and regression test environments) and streamlining the rollout process.

[twelve month contract] Barclays Capital (November 2003 to October 2004)

The development group with which I worked provides front-office support for equity derivatives trading. During this contract I established the technical interviewing process for Java and C++ developers, provided coaching for management and developers undertaking a project significantly larger than departmental norm, and participated in the project that developed and deployed a new generation of exotics risk calculation system. This work included process development, selection and deployment of development tools, system design, implementation and deployment.

[three month contract] Barclays Capital (July 2003 to October 2003)

The development group with which I worked provides front-office support for equity derivatives trading. My role was to provide support for the adoption of Java within the group, reviewing development processes and standards, the development of C++ library and COM components and technical assessment of job applicants during expansion of the development group.

Microlise Limited (January 2001 to June 2003)

The principal development activity of the development group in which I worked is to build bespoke warehouse management systems software. By orchestrating a rethink of the system architecture and instituting a method of reusing work across projects I enabled the development of a standard base system that can be extended to meet specific customer requirements.

The primary development platform is Java on WindowsNT this is used to target a range of platforms including WindowsNT, AS/400, Solaris and other UNIX version. Other development tools and technologies used are GDPro, CVS, Ant, CruiseControl, Websphere, WebLogic, DB2, Oracle and SQL-Server.

I was initially recruited to Microlise to bring OOA/D skills into the software development group. In doing this it became apparent that I needed to address issues throughout the development process. During the period up to April 2002 I did so on a series of individual projects. The result was a dramatic improvement in estimating, quality, costs and morale and led to my appointment as "Software Development Champion" in April 2002.

Between April 2002 and June 2003 my objectives were to work with developers, the project management team and senior management to implement a more predictable and efficient project lifecycle. This involves:

  • liaison with the sales team to establish an estimating and tendering process that meets the needs of both development and sales;
  • mentoring business analysts to ensure efficient and effective communication with customers, users and software designers;
  • ensuring that project management have identified effective exit criteria for work products;
  • teaching software designers about OO methods and mentoring them to ensure that design is done at an suitable level of abstraction and communicated to the developers;
  • working with developers to improve knowledge of the language and provide guidance in the use of unit tests;
  • persuade with senior management to institute a "QA" role to monitor the development process and ensure that work products are validated before being marked as "complete";
  • supporting the "QA Champion" to prevent the role becoming that of "integration tester".

Experian Limited (1981 to January 2001)

Experian has undergone a number of changes during this time (when I joined it was called Midland Household Stores, and was subsequently called CCN Group). It has a number of divisions addressing different markets and I've moved between them a number of times. The most recent of these is:

Micromarketing division - (from 1995 to 2001)

I was recruited to the division in 1995 to bring OOA/D, C++ and Windows skill into the development group and facilitate reworked the exiting DOS/Borland-Pascal product into Windows/C++. In addition to my role in facilitating migration to the new target environment and development tools I had architectural design responsibility for the design for what has become the flagship software product Micromarketer and led the team that developed the data analysis engine at the core of it.

My workstation hosted the team's intranet website - this documents the development process, relevant standards, guidelines and tutorials, and indexes project specific information (hosted by the workstations of appropriate developers). For historical reasons this used the Apache webserver, although I've also used Tomcat to host a JSP demonstration of ContactCoder (described below). I used IIS and JWS webservers, but not on a regular basis.

The primary development platform of the software development group was WindowsNT using Visual C++. Other development tools used are GDPro, Visual SourceSafe, Boundschecker and Doxygen.

However, more recently the range of tools and platforms has been extended. In mid-1999 I established a "software components" development strategy. This was a new departure for the division as it involved the development of software for integration into third party applications with support for multiple platforms.

The first product in this family ContactCoder is written in a mixture of portable C++ (for the "engine") and Java (for the User Interface and some utilities). It is currently supported on WindowsNT (Visual C++, gcc, and Borland C++/JDK1.2-JDK1.3) and Solaris/Sparc (gcc/JDK1.2). The Cygwin toolset is used to support the GNU development tools (such as 'make') on Windows and the same tools are used on Solaris (and on other platforms as support is extended). Development across these platforms is co-ordinated using CVS (it was free, cross platform and, although it has flaws, has more functionality than VSS).

Interests

Professional

ACCU: ACCU is an association of software professionals with a focus on C++/C/Java/C#/Python and related languages, tools and disciplines and maintains a website at http://accu.org/. Between 1999 and 2003 I was elected Chair of ACCU. I am currently editor of ACCU's journal Overload.

Writing: I've been writing technical articles since the early 90's and have been published in Overload, C/C++ Users Journal, Java Report, C Vu, and EXE. Many of these articles are available from my website. (There is also an open source C++ library written to illustrate some of these articles.)

Conferences: In addition to reading and writing I find the best way to keep my skills current is to attend (and talk at) relevant conferences. In particular the OT and ACCU conferences.

Standards: The compiler vendors, library vendors and training organisations that dominate the C++ standards working groups do not always appreciate the concerns of practising users of the language. I have found it both necessary and informative to represent these concerns in the standards process.

Chess

I play for Bunker's Hill Chess Club and (in the 1980's) have played chess at county level.

Bridge

I have been playing bridge at local level since 1974 and played at county level between 1988 and 1994 (after which family commitments made this infeasible) I have developed and presented courses for beginners and intermediate level players. (This course is available from my website.)

Elected to the Nottinghamshire Contract Bridge Association Committee, 1990-1994. Instituted and managed the NCBA Team of Four League 1990-1992, Editor of the County Bulletin 1994-95.

Other

In addition to professional publications I read popular science and science fiction. I enjoy listening to classical and rock music.

Education

B.Sc. (Hons) in Mathematics, Nottingham University 1976-1979
4 A levels: Pure Mathematics, Applied Mathematics, Physics, Chemistry
8 O levels