Joseph Chan BSc, CEng, MIEE

Orac Solutions Limited

August 2003



A reliable, conscientious and enthusiastic software engineer, with an electronic engineering background, extensive experience of real-time software design, Visual C++ , MFC, C and assembly language programming, and an ability to work unsupervised within a team environment to tight timescales whilst maintaining a high quality of work.


September 2003.

Key Skills


BSc.(Hons), 2.2, Physics and Electronic Engineering, Manchester University.
A Levels - Mathematics, Physics, Chemistry.
Eleven O Levels.


Cubic Transportation Systems Ltd

Merstham, Surrey
Contractor software engineer

1998 to Present

2000 to Present

Developed the user-interface for the new London Underground ticket vending machine to due to enter service in 2002. This required producing storyboards detailing the operation of the machine from a customer's viewpoint and the development of a working prototype for marketing trials. The storyboards were developed using a combination of Visio, CorelDraw, and Corel PhotoPaint. The user-interface application was designed using UML (Rational Rose) and involved a requirements analysis phase, in which the requirements were detailed by use cases, and a design phase, in which the main C++ objects were identified through the use of sequence diagrams and class diagrams. The prototype application was developed for Windows NT and Windows 98 using Visual C++ and MFC 6.0.

Designed an application for editing SQL database tables which will be used to store configuration information for the 2002 London Underground ticket vending machine.

Implemented the aforementioned user interface and database-editing applications. Both applications were implemented for Windows NT using Visual C++ and MFC 6.0

1999 to 2000

Designed and implemented new software for automated ticket vending machine introduced into London Underground system in 2000. This software provides new features enabling the vending machine to read bank / credit cards, read and write smart cards and to automatically obtain bank card payment authorisation from a bank. Object-oriented software design performed using UML and Rational Rose UML design tool. Software implemented using Visual C++ / MFC on Windows NT platform.

Implementation required the development of a software driver to interface a credit card reader unit to an embedded PC using a proprietary software protocol and RS232 link, and an interface to a bank card payment authorisation system using a proprietary software protocol and TCP/IP connection via Ethernet link.

Designed and implemented diagnostics / calibration application for the automated ticket vending machine. This tests the peripherals connected to an embedded PC, i.e. a touch-sensitive screen, a bank card reader unit and Ethernet connection. Software implemented using Visual C++ / MFC on Windows NT platform.


Conducted requirements analysis and object-oriented system design for new automated ticket vending machine for London Underground PRESTIGE project. Requirements capture performed using UML use case analysis with Rational Rose UML tool. System design performed using UML with Rational Rose.

Oxford Instruments (formerly Medelec Ltd)

Old Woking, Surrey
Senior Software Engineer

1990 to 1998


Developed specialist software, using Visual C++ / MFC, for neurophysiological diagnostic instruments used to record and analyse nerve and muscle electrical activity based on Windows 95 platform. Specialised in the development of real-time signal processing, user interfaces and hardware control.


Designed and implemented the software for a multiprocessing DSP system, utilising up to four Texas Instruments TMS320C44 devices, for the real-time acquisition and analysis of neurophysiological signals for a medical diagnostic instrument. Specialised in data acquisition, digital filtering and hardware control.


Developed a signal acquisition and processing system, based on Texas Instruments TMS320C32, as part of a feasibility study for a high-end neurophysiological diagnostic instrument.

Formulated DSP solution for the digital implementation of filters used for electromyography analysis, traditionally implemented using analogue electronics, allowing the digital recording and re-analysis of neuromuscular electrical signals.


Developed CPU accelerator cards based around Motorola MC68000 and MC68EC030 CPUs. Designed DRAM controller circuit using PLDs to provide maximum memory access speed for MC68EC030 CPU.


Developed graphics and text display software implemented on Texas Instruments TMS34010 graphics processor using C and assembly language.


Developed embedded software, in C and Motorola MC68000 assembler, for neurodiagnostic instrument based on OS9 operating system and proprietary hardware, specialising in user interface, hardware control and graphics. Software was developed on UNIX system and downloaded for compiling and debugging on target OS9 system.


Implemented DSP algorithms, using Texas Instruments TMS32020 assembly language, for the automatic marking of features in waveforms generated by stimulation of nerves and muscles. Software was developed on PC using Texas assembler and tested on target system using Texas DSP emulator.

GEC Avionics Ltd.

Rochester, Kent
Development Engineer

1986 to 1989


Developed Zilog Z8000-based microprocessor hardware incorporated into air data computers for military aircraft.




Married, one child

Date of birth:

20th May 1965



Orac Solutions Limited, 2004