Microsoft Research, Senior Software Development Engineer, March 2009 to current
Developed many systems demonstrating application of machine learning. Designed and implemented systems running on phones, desktops and as web services.
- Major contributor to Microsoft Research WindUp social media application for Windows Phone
- Primary contributor to 2' PC project demonstrating use of gesture recognition in the space above and around the keyboard of an office computer
- Responsible for design and implementation of slideshow sample that shipped with Kinect for Windows SDK
- Responsible for design and implementation of gesture recognizer used with the Microsoft Touch Mouse
- Responsible for design and implementation of touch components of AutoCollage Touch 2009 that shipped with Lenovo touch enable Windows 7 devices
C#, C++, .NET, Win32, WinRT, COM, TFS, SourceDepot
1E, Senior Software Engineer, July 2008 to February 2009
Development of desktop and server patch and power management software.
- Introduced more numerate methods of analysing data.
- Implemented dynamic query execution allowing arbitrary grouping of servers.
- Enhanced custom application for delivering software to very remote
- Diagnosed and fixed numerous issues with desktop applications, including
significant SQL development to improve asset tracking.
C#, C++, T-SQL, .NET, ASP.NET, Win32, COM, NUnit, CppUnit, Subversion
Citrix, Senior Software Engineer, December 2004 to June 2008
Development of components of XenApp and Access
- Implemented AD FS authentication for web interface. Responsible for
Cross Site Request Forgery solution for web product.
- Developed AD FS-based Single Sign On framework for use across Citrix
products. Responsible for.NET application framework for accessing
- Created extensions for CppUnit to allow rigorous testing of code for use
in kernel mode AD FS security feature.
- Implementation of End Point Analysis. Responsible for many of the virus
scanner and service pack analysis packages and all the scripted samples.
C#, Java, C++, .NET, ASP.NET, Win32, UML, COM, NUnit, CppUnit, Perforce
Satchwell, Principal Design Engineer, May 2002 to December 2004
Development of Sigma, the premier building automation system.
- Designed and implemented integration interface allowing third party access
to system from Win32, .NET and COM clients.
- Improved Pocket PC version, replacing custom synchronisation
scheme with standard ActiveSync scheme.
- Implemented features for 21CFR compliance.
- Designed and implemented TCP-like protocol stack.
- Introduced improved working practices including overnight builds, source
control use and conversion to current tools.
C++, C#, MFC, COM, .NET, Win32, UML, SourceSafe
Orchestream, Consultant Software Architect, February 1998 to May 2002
Joined company a few months after it was founded. A key player in the design
and implementation of Service Activator, the first policy based network
management system to market. (Contract role, Orchestream are now part of
- Responsible for designing and implementing a tiered approach to user
interface implementation. Defined clear separation of user interface, object
model, remote access and database persistence.
- Designed and implemented much of the infrastructure for the product's
explorer-like look-and-feel. Created a transaction model allowing trivial
implementation of undo-redo logic and of recording and tracing configuration
- Introduced standard access mechanisms for database based on generic ODBC
- Responsible for the creation of graphical map approach to showing network
- Involved in helping with design and
implementation of many aspects of front end, server and integration components.
- Helped ensure system portable between Windows and Solaris.
C++, MFC, IP, Oracle, ODBC, Win32, UML, CVS, SourceSafe
Medical Insurance Agency, Consultant Analyst Programmer, November 1997 to
MIA deliver insurance solutions to medical and dental professionals.
- Developed automated renewals system for insurance business.
C++Builder, VCL, SQL Server
International Sales Systems, Consultant, July 1997 to October 1997
Development of CRM system. (Contract role.)
- Implemented features to comply with 21CFR.
- Improved use of CryptoAPI.
C++, MFC, ODBC, SQL, Win32
Flowmaster International, Consultant, December 1996 to June 1997
Brought in to help in re-implementation of fluid modelling package for
Windows PCs. (Contract role.)
- Designed and implemented custom graph and surface display tool. Tool used to shape curves entered into the system and to render results.
C++, MFC, UML
Vistek Electronics, Consultant Software Engineer, October 1995 to November
Development and integration of Tektronix Profile videodisk recorder into
automation systems. (Contract role.)
- Designed and implemented remote user interface for video disk recorder.
- Designed and implemented TCP/IP based communication for video disk
- Designed and implemented tool for dubbing commercial spots from video tape
C++, Delphi, MFC, VCL, TCP/IP, Win32
Microsoft, Microsoft Associate, May 1994 to September 1995
Working at Eagle Star, involved in two generations of Quotes system for IFAs.
- Designed and implemented architecture of tool used to produce formatted
policy proposals for IFA clients.
- Improved user interface look-and-feel.
- Developed tools for mapping complex relationships between front end code,
back end code and analyst specifications.
C++, MFC, UML, Win32
Channel Four Television, Analyst Programmer, January 1992 to May 1994
Developed audience research applications and tools for managing PC
- Designed and implemented audience research applications
- Designed and implemented tools for configuring all channel's desktop
workstations and to guarantee their availability during move from Charlotte
Street to Horseferry Road.
C++, MFC, Win16, DOS
The Santa Cruz Operation, Software Engineer, 1991 to December 1991
Development of Microsoft Word port to Unix platform.
- Improved and extended Unix port of Microsoft Word.
- Engineered XENIX upgrade diskettes.
C, Unix, Motif, Shell Scripts
Norsk Data, Software Engineer, 1988 to 1991
Primarily involved in Wordplex word processor projects.
- Designed and implemented hard disk, floppy disk and keyboard support for
Wordplex 100 hardware based word processor.
- Eventually assume technical responsibility for all Wordplex 100 based
- Developed spell checker for WordText word processor.
- Designed and implemented proportional space font support for WordText word
C, DOS, Win16
Arena Software, Senior Analyst Programmer, 1985 to 1988
Developed office management system for architectural and engineering
- Designed and implemented simple windowing user interface portable between
differing PC architectures.
- Designed and implemented ISAM database.
- Designed and implemented many of the applications comprising the system.
Modula-2, DOS, Unix, VMS