Career History

August 2004 - ongoing : Reach2Mobile Limited. Technical Director
Development of the new MOJIO Messenger prouct range.

February 2002 - August 2004 : Visioprime Limited. Senior Software Engineer
Permanent position, lead developer for their Digital Video Recorders.

February 1999 - November 2001 : Signal Computing Limited. Senior Software Engineer
Permanent position, joining the SDI group of Signal, to continue maintenance of the RAMS project. Design & develop tools for use with mobile phone handsets for TTPCommunications Ltd. Designed in UML, developed in C++ under Win-9x.
Design & Lead development of ‘SignalBox’, a product which provides a design environment for write-once deploy anywhere web/wap sites. Designed in UML, developed in Java using XML & JDBC to integrate with the legacy back-end systems.

May 1997 - September 1998: Signal Computing Limited. Software Engineer
Contract to design and implement a queuing and scheduling sub-system of signal processing software as part of a 60Mbyte/sec data acquisition, archive and signal processing system for aero-engine testing. This system was designed using Rational Rose ('the' UML case tool), implemented in C++, on multi-processor SGI Unix systems. Also advised Signal on their Coding Standards for C++, in an ISO-9001 environment and was regularly consulted by several of Signal's full-time staff on OO / C++ design & implementation issues.
The original contract was for three months and was extended several times.

December 1996 to February 1997: Cooke Technologies Limited. Software Engineer
Contract assisting in the design & implementation of a Life-Test System for Laser Modulators for IOC Ltd. The target system was a dual NT solution, the client & server parts of the system were developed in C++ and Delphi Pascal. I also helped to introduce Version Control (MS-Source Safe) and some structured design techniques (similar to Yourdon & OMT).
This contract followed the successful delivery of the single test system.

October - November 1996: Cooke Technologies Limited. Project Manager
Contract to Project Manage the development of a Laser Modulator Test System, for IOC Ltd, managing two software and one hardware engineer(s).

August 1995 - September 1996: Texcel Limited. Software Consultant
Contract including the Design & Development of international, cross-platform, GUI tools in C++ using Galaxy of an SGML attribute editor and query search tools. The design & development of a CD-ROM mastering system, integrated with the CM tool and mixed mode Installation from CD-ROM to PC and Unix. I also provided assistance for the development of an automatic test suit for their main database server.
Following on from the first two contracts, this period was extended several times during the period.

May - August 1995: Texcel Limited. Software Consultant
Contract to advise in the porting of Unix based C code to the PC. The project consisted of several GUI applications in the technical publications area, using several in-house & 3rd party database components using Sockets over TCP/IP to communicate with the server database (UniSQL). Sockets were also used for Groupware / Middleware communications between the heterogeneously networked applications.
The original contract was for two weeks (as a consultant) and subsequently to drive the porting exercise.

February - April 1995: Staefa Controls. Senior Software Engineer
Contract to supply an embedded three-way protocol converter with in-built database. Cross development from the PC using C, targeting to a Z80 based programmable controller. The three protocols were Modbus, and two proprietary Staefa protocols. Responsibilities were to Specify, Design & Write the system and to provide some commissioning support at the New En-Route Centre.

January 1995: ICAM Limited. Software Engineer
Contract (2-days) to program a PLC to control a Constant Volume Sampler for an automotive application.

May 1989 - December 1994: Fisher-Rosemount Limited. Senior Development Engineer
All software work was hosted on Unix and PC’s, targeting to the PC and embedded micros. Using structured methods and coding in C, C++ or Assembler as appropriate. Working in the Temperature, Analytical and Communications areas, responsibilities included:

Software life-cycle of all PC based projects (e.g. real-time acquisition, sequencer & logging system), from Specification, through Analysis, Design, Implementation, Testing, Field-trials, into Production, Installation, pre / post sales support.
Design of real-time embedded systems. (e.g. temperature transmitter; hand-held terminal).
Writing specifications: Communications protocols, Engineering specifications, Test procedures.
International design review of: Engineering Specifications, Test Procedures, Code Inspections.
Team leadership: Up to 4 software engineers.
Design and implementation of tools and procedures, to ISO-9001 standards.

May 1988 - May 1989: M.B.A. Systems Limited. Senior Software Engineer
Design & Develop, using PC’s in ‘C’ and 80x86 Assembler, the following:

Real-time X.25 (full-duplex) to RS-232 (half-duplex) protocol converter.
Device driver software for an image scanning, archive, retrieval and printing system for A-Revelation (an RDBMS).
Network concentrator and cache system using the TOPIC communications protocol.
Dealing-room communications & information display systems, including SEAQ & Topic.
Innovations: Simple RS-232 network (fault tolerant, ring style); Introduction of structured methods.

August 1986 - April 1988: Sigmex Limited. Senior Software Engineer
Work involved structured use of ‘C’, 680x0 Assembler and Pascal, hosted on VAX/VMS, documented to JSP188 standard. We developed a graphics and imaging system based on a parallel architecture. Responsibilities included:

Design and development of the systems software based on the pSOS real-time kernel, including device drivers, system boot and CPU independent run-time interface.
Development of some CASE tools.
Stroke and Polygonal planar text for a PHIGS kernel.
DR11W device driver for a unix workstation (Sun) and integrating it using C & Fortran to a GKS kernel.
Innovations: Single-cycle DMA design for VME-bus; run-time link libraries; Hardware independent device driver layer.

May 1984 - August 1986: A.T.E. Systems Limited. (Senior) Software Engineer
Work involved use of 680x0 Assembler; maintenance of the in-house operating system (preemptive multi-tasking) and design and development of embedded 68000 based digital test sub-system.

May 1982 - May 1984: Weir Electronics Limited. Assistant DPM
Work was mainly in Databus with some BASIC, on a Datapoint ARCnet LAN system
Responsibilities included:

Day-to-day maintenance of materials control system, general accounts and payroll
Maintenance of general user software.
Support for several Apple II users.

Jan. 1982 - Feb. 1983: (part time) The Micro Centre Workshop Engineer
Main duty was repair of various microcomputers, mainly BBC and Olivetti