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 PCs, 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 PCs 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