|
Skills Summary
Positions:
Senior Software Engineer
Analyst/Programmer
System and Database design
Technical support
Team leader
Languages:
C, C++, Objective-C
some Visual C++ and Visual Basic
Development Environment:
Apple Mac Classic & MacOS X
Metrowerks CodeWarrior
Metrowerks PowerPlant
Cocoa, Project Builder & Interface Builder
MPW
some Microsoft Developer Studio on PC
Career History
Development of a new music processing
engine, for use in a variety of applications.
The requirement was to design and produce
an updated version of the company’s music processing engine,
currently in use in several education-based programs, in
collaboration with the existing programming staff. The code was
to be cross-platform, allowing applications to be written for
different OSes and in different programming languages. Extensive
use of QuickTime for playback.
Development work was done on the Mac using
Metrowerks CodeWarrior.
September 2003 - [snip]
Developed a finance program to run alongside the billing system
(for [snip], see October 2001) to allow ground
rent levels to be projected forward for budgeting purposes. The
billing system was amended to produce an extract file that
provided this program with property and ownership details. The
system then allowed charge rates to be set for different
property types, sizes, etc. and produced a budget summary.
Viewing, sorting and sub-totalling levels were user-defined.
The
program was mainly developed using Metrowerks C++ and PowerPlant,
running on MacOS 9.
October 2002 - April 2003
Worked on my MacOS X skills. Took an
Internet-based course on MacOS X program development, covering
Objective-C programming, the Cocoa framework, and Project
Builder and Interface Builder. I combined this with my own home
study using material from Apple Developer Connection.
April 2002 - ongoing
I provide support and enhancements
for local companies, both for the systems I
have written and for their other Mac applications. This has
allowed them to fine-tune their bespoke systems over the years
to give a better match to their business and staffing
requirements.
March 2002 - April 2002: [snip]
Writing a mailing list management system
for holiday visitors to the caravan park.
The program was a bespoke database to
replace a manual system for producing mail shots. The main
requirement was to allow address labels to be printed using
various selection criteria, including location, details of
previous visits and manual selection. Other features included
mail merge file generation and a simple method of grouping
postcodes into user defined regions. The system was designed to
allow it to be upgraded to a true booking system at a later
date, if required.
Programming was in C++ using the PowerPlant
object oriented framework. The main development tools were
Metrowerks CodeWarrior and Resourcerer.
For this contract I worked from home,
visiting the company site every other day on.
October 2001 - February 2002: [snip]
Design, implementation and support for a
new billing system.
The project was a complete rewrite of the
company’s billing system, which dealt with energy supplies
(electricity, gas, oil), water and sewerage charges, ground rent
and various other charges. The existing system had separate
spreadsheets for each charge type and was both highly labour
intensive and extremely complex, the objective for the new
system was to keep it simple to use, straightforward to maintain
and extend, and provide clear and useful analysis and summary
reports.
The normal operation of the system involved
entering the various meter readings and delivery amounts on a
monthly cycle, checking the unit costs for any changes, then
generating the bills and reports. Customers leaving during the
billing cycle had final bills produced immediately. Errors in
data entered could be corrected after the billing run,
generating amended bills, or the entire run could be cancelled
and rerun.
Features of the new system included
different bill and summary report types for different customer
groups (individuals, businesses and a large organisation that
was a major customer), analysis of electricity use by phase for
the local generating company, warnings of excessive usage based
on previous consumption when entering meter readings, prompting
for new council tax rates at the start of the financial year,
and allowance for unusual metering set ups.
Documentation and operator assistance were
provided using the online Apple Help system.
Programming was in C++ using the PowerPlant
object oriented framework. The main development tools were
Metrowerks CodeWarrior and Resourceror.
For this contract I worked mainly from
home, visiting the company site once a week on average.
March 1998 - August 2001: [snip]
Porting and development of Textease, an
easy to use but powerful DTP program primarily aimed at the
education market.
Initially I was the sole Macintosh engineer
on this project, reporting to and working directly with the
original authors of the program. The application had originally
been written for the Acorn RISC platform and ported to Windows,
part of the requirement for the Macintosh port was to isolate
platform-specfic code and prepare for merging all the code back
into one source tree.
In addition to converting the code there
were several user interface issues due to the differing
controls, graphic types, and modes of operation of the various
platforms. QuickTime was used for sound and video playback on
the Mac version.I was responsible for building the installer
(using VISE) to perform PPC and 68K installations on Macs.
Following the basic porting project I
worked on further development of the product, incorporating
multimedia, hyperlinking (including HTML) and language
switching. Development was done on a common set of source files,
with platform-specific code isolated from core functions.
I was then involved with adding extensions
to the original program, which included spreadsheet, database
and presentation units. These were available as separate
applications but could also be used directly from the main
program. During this period I was also involved in training a PC
programmer to work on the Mac code.
Another of my tasks was 'Carbonising' the
program to run natively under MacOS X.
Programming was in C within an in-house
developed object oriented framework. The main development tools
were Metrowerks CodeWarrior, ResEdit, DAVE, and SoftWindows.
For this contract I worked from home, using
an ISDN dial-up link from my home machine to the company's
Windows NT server.
June 1994 - February 1998: [snip]
Senior Software Engineer working on
SoftWindows, a cross-platform PC emulation application for the
Apple Macintosh and various UNIX workstations.
My initial position was in the Macintosh
development group as a C programmer, working mainly on
Mac-specific areas of the product. There was some involvement
with the cross-platform C code and an awareness of porting
issues was required with most of the work. Although I worked on
several areas of the product my main focus was in the windows
driver emulation and display issues in general. Due to the
nature of SoftWindows a familiarity with DOS, Windows and
Windows 95 was an essential part of the job.
Starting in early 1996 I moved into the
cross-platform display driver team and concentrated on platform-independant
display issues, although still dealing with Mac-specific options
and problems. This involved a small amount of UNIX work, but
most development was still done on the Macintosh.
From mid-1996 I was responsible for several
smaller projects began in C++, using the PowerPlant application
framework in most cases. These were mainly utilities and helper
programs (preference file and data file viewers and editors, for
example) and were used to evaluate the possibilities of
including C++ features in the main product. In May 1997 I was
seconded to the client/server group within Insignia to work on
user interface design and implementation on Windows NT. This
assignment included a Visual C++ training course.
In response to a competitive product I
spent two months in the Summer of 1997 designing and
implementing a new user interface for RealPC, a
consumer-targeted version of SoftWindows. As well as improving
its ease of use of the product the new UI was set up to work
with MacOS 8 and the Appearance extension, and to be easily
customisable for foreign language releases.
In addition to working directly on the
application I wrote several MPW tools and Apple Script
utilities, maintained and enhanced the Mac host build system,
and implemented a FileMaker Pro change control database.
From January 1995 onwards I was a member of
the C standards group, responsible for setting and updating the
company-wide standards and guidelines for all C coding. In
mid-1996 this was extended to include C++ issues.
The development environment was based
around Metrowerks CodeWarrior C/C++ and MPW, with many in-house
written tools and utilities. Extensive use was made of Projector
and SCCS for change control.
February 1995 - ongoing: Freelance
Several projects using C++ with the
Metrowerks CodeWarrior development environment and Power Plant
framework class library. These included a couple of printing
utility applets (for labels and envelopes) that could be used
from any of the main applications. Incorporated and extended the
Gray Council class library to implement the Apple grayscale
appearance specifications.
June 1993 - February 1995
Updating of projects using C++ with the
Symantec C++ compiler.
I attended a training course in `C++ for C
programmers' in January 1994. Developed a set of classes
primarily for replacing subroutine library functions. Some
evaluation and familiarisation with MacApp II and the Symantec
TCL class library.
October 1991 - June 1993: Freelance
Various projects in C using the Think C
compiler on the Apple Macintosh. Mostly bespoke database
applications (accounting, mailing lists) and various programming
utilities.
January 1994 - February 1994: [snip]
Attended an introductory course in Visual
Basic and carried out amendments to a PC based system.
October 1992 - November 1993:
[snip]
Provided both telephone and on-site support
for Mac users within the Met. in SW London (this was in addition
to my mainframe work there). Main tasks were system set-ups, OS
and application upgrading, and troubleshooting.
July 1991:[snip]
Converted and upgraded the existing
financial management system (see July 1988) and a version of the
ADMT names and addresses system (see October 1989) to run on an
Apple Macintosh
Both these systems were written using the
ZBasic compiler.
October 1989: [snip]
Designed and implemented a names and
addresses system to run on an Atari ST micro. The requirement
was for a simple to use WIMP based system with label printing by
preset criteria and/or direct user selection and automatic
security archiving.
The system was developed using the HiSoft
Basic compiler and WERCS resource file package.
July 1988: [snip]
Designed and implemented a financial
management system for my own company records. The system
processed expenditure and income entries, generated invoices and
produced monthly balance sheets with VAT breakdown. A full
graphical WIMP interface was used with mouse control over all
functions. Programs were written using the HiSoft Basic compiler
and WERCS resource construction utility and ran on an Atari ST
micro.
Mainframe programming
I worked as a contract Analyst/Programmer
on ICL mainframe computers from 1984 to 1994, previous to this I
was a COBOL programmer for five years at [snip]l. While contracting I worked for the following
companies:
[snip] October 1992 -
November 1993
[snip] March 1992 -
October 1992
[snip] June 1990 - January 1992
[snip]. November 1989 -
May 1990
[snip] April 1989 - September 1989
[snip] October 1988 - March 1989
[snip] June 1988 - October 1988
[snip] April 1987 - June 1988
[snip] February 1987 -
March 1987
[snip] November 1985
- January 1987
[snip]
August 1985 - November 1985
[snip]
January 1985 - July 1985
[snip] March 1984 - December 1984
|