Summary

Professional software architect and designer with proven analysis and development experience in a variety of object-oriented languages, although of late mostly using a functional style with JavaScript. Wide experience in designing and implementing commercial software, components, and frameworks. Extensive knowledge of algorithms and data structures and their application for improved speed and resource efficiency. Expertise in developing using an agile process, including requirements gathering, writing user stories, test-driven development, implementing smoke and integration tests. Excellent written and oral communication skills that include teaching, presenting, mentoring, and writing for blogs and professional publications. Well-established ability to research new technology, algorithms, and development methodologies, and to evangelize and promote them within the development organization. Team management skills, including staff appraisals, salary reviews, recruitment, and managing non-performers.

Naturalized as U.S. Citizen since January 2014.

Education

University of London, Kings College
BSc (Hons) Mathematics 2:1

Ernest Bailey Grammar School, Matlock, Derbyshire
5 A levels (Maths, Further Maths, Physics, Chemistry, General Studies)
1 S level (Physics)

Experience
Show/hide all job descriptions

Show/hide job description

March 2006 to present (18 yrs)

Developer Express, Inc., Glendale, CA

Chief Technology Officer

Show/hide job description

February 2005 to March 2006 (1 yr, 1 mo)

Configuresoft, Inc., Colorado Springs, CO

Software Architect

Show/hide job description

March 2004 to February 2005 (11 mos)

Falafel Software, San Jose, CA

Senior Software Architect

Show/hide job description

May 2003 to December 2003 (8 mos)

Microsoft Corporation, Redmond, WA

Program Manager

Show/hide job description

March 2002 to May 2003 (1 yr, 2 mos)

Aristocrat Technologies, Las Vegas, NV

Director of Future Systems

Show/hide job description

May 1993 to February 2002 (8 yrs, 10 mos)

TurboPower Software Company, Colorado Springs, CO

Software Engineer, Director of Engineering

Show/hide job description

November 1990 to April 1993 (2 yrs, 6 mos)

Deutsche Bank AG, London

Trading Systems Manager

Show/hide job description

May 1990 to November 1990 (6 mos)

Softbridge Capital Markets Ltd., London

Design Consultant

Show/hide job description

September 1989 to May 1990 (8 mos)

Elders Finance Group, London

Contractor

Show/hide job description

July 1988 to September 1989 (1 yr, 2 mos)

Intercapital Brokers Ltd, London

Development Director

Show/hide job description

March 1984 to July 1988 (4 yrs, 4 mos)

Manufacturers Hanover Ltd, London

Front Office Systems Manager

Show/hide job description

November 1982 to March 1984 (1 yr, 4 mos)

Brooke Bond Group, London

Analyst/Programmer

Show/hide job description

September 1979 to November 1982 (3 yrs, 2 mos)

CAP Group Ltd, London

Analyst/Programmer

Publications
Show/hide all publication descriptions

Show/hide publication description

December 2013

Kindle: Unlock the Full Potential

Author of “How e-ink works” chapter

Show/hide publication description

May 2007 to October 2012, monthly

PCPlus

Author of Theory Workshop section

Show/hide publication description

November 2009

Professional DevExpress ASP.NET Controls

Author of chapters on JavaScript, charting, async programming

Show/hide publication description

November 1997 to January 2007, monthly

The Delphi Magazine

Author of monthly algorithm articles

Show/hide publication description

June 2001

The Tomes of Delphi: Algorithms and Data Structures

Author

May 1997

Special Edition: Using Delphi 3

Author of chapter on multithreading

Languages & Technologies

HTML5, CSS3, and JavaScript (and the usual libraries)
C# and .NET Framework (from 1.X onwards)
Delphi
SQL Server T-SQL

Expertise

Algorithms and data structures
Agile methodologies (XP, TDD, refactorings, code generation, etc)
n-tier Architectures, Client/Server
Project and team management
Object-oriented analysis, design, and programming
User interface design
Financial and banking algorithms