(Address and telephone supplied on request)
Mail me

Key Competencies:

  • 10 years post-graduate experience of Software Engineering.
  • Electronics experience in instrumentation and microprocessor interfacing
  • Windows PC development using C/C++/C# and various BASICs. Embedded systems (Intel 8051/x86, Motorola 681x/68k, Atmel AT91) using assembly and C.
  • HCI design and data visualisation.
  • Algorithm, data organisation and optimisation.
  • Signal processing and analysis using Matlab.


Senior Software Engineer, November 2006 Present, MaxWell Downhole Technology Ltd
Responsible for taking requirements through to complete software packages and providing support for them. Developments are a mix of new products, ports of legacy products and in-house test products. Software packages typically involve interfacing to embedded devices, acquiring data from them and processing and visualising the processed data. Additional duties included maintaining the version and change control systems.

Software Developer, November 2005 - November 2006, NCR FSD Ltd
Working in the Secure Devices department I was responsible for taking product requirements and carrying them through the entire development, following a CMMI level 3 accredited process, and for the life cycle management of older devices. A typical project would require a functional specification for the device, one for the software, conducting unit testing and delivering the completed software. Software development included C++ for Windows based ATMs and a variety of different embedded architectures and languages on the devices, using RS232, USB and proprietary communications systems. Other responsibilities included assisting the test groups to resolve issues, investigating customer problems and liaising with vendors on technical and project management issues.

Systems Engineer, October 2002 November 2005, Imes Ltd
Part of a small multi-disciplinary team responsible for enhancing the company's capability in inspection and test services, although work with other business units when required. Design and develop electronic, software and embedded systems for data acquisition/logging, (automated) analysis and display, both new product designs and enhancements to existing products. Software component of work consisted of a 50-50 split between embedded and desktop projects. Electronic design was in support of the overall systems integration. Carry out on-site testing, including customer liaison and report generation. Assist in QA system selection and deployment for software. Investigate new technologies and possible collaborations in order to support the future development of products.

Embedded Programmer, July 2002 October 2002, Imes Ltd
Designed and implemented the software, hardware and user interface for a hand-held condition monitoring and measurement tool. Took the software from the requirements to the maintenance stage while working closely with the Electronics Designer and assisting the PC Software Engineer. Wrote production guides, user manuals and installation software and act in a technical support role for the end users.

Education / Training:

Embedded Systems Conversion Course, July 2002 August 2002, SLI Institute
Four week course focusing on and fast-tracking the skills and knowledge required in the Embedded Systems market. Studied Software Development, Microprocessor and micro-controller interfacing, Embedded Programming, Real Time Operating Systems and completed a group project using the eCos RTOS.

PhD in Artificial Intelligence, June 1998 - April 2002, Robert Gordon University
Investigating a model of an Artificial Nervous System, specifically the parts equivalent to biological spinal cords. Practical work involved computer simulations of evolution to create neural networks. Wrote and presented papers for publication in conferences and demonstrated work at different levels within the university.

BEng (Hons) Electronic & Computer Engineering (First Class), September 1994 - May 1998, Robert Gordon University

  • Subjects included: Electronics, Electrical Engineering, Mathematics, Professional Skills, Product Development, Communication Engineering, Computer Engineering, Instrumentation Systems, Signal Processing and various individual and group projects. (Full list)
  • Programming languages taught included: C/C++ (including RAD), Motorola 6811/6812 and 68000 Assembly languages, Matlab.
  • Electronics subjects covered analogue, digital and microelectronic design including CAD, VHDL and circuit simulation.

(Secondary School)


  • Suggested a product improvement, which was being taken forward the last I heard about it, that could have saved NCR US $7 million.
  • Developed the hand-held instrument as an Embedded Programmer at Imes in 3 months.
  • Received IEE Prize for highest overall marks.

Professional Memberships:
Member of the Institution of Electrical Engineers (MIEE), since 1994.

Skills and Other Training:

  • Acoustic Emission Level II Qualified (Non-Destructive Testing technique).


  • Cycling and playing football.
  • Listening to music and attending concerts.
  • Computing in general. Develop applications for Windows and Amiga computers, including low level optimisation using 68000 assembly language.

Available on request.

Return to main page