I've been working with computers commercially for over 32 years now, and for many more before that. I've worked with Unix machines such as VAX 11/780 and HP 735 workstations, and Sun Sparcstations, although some of my favourite work was done using Transputers, using the parallel programming language Occam. In more recent years the machines have tended to be more standard - Intel and AMD PCs - but some have been more noteworthy, such as test boards for some of the first production run of ARM 926 processors, used in many smartphones and the tablet PCs of the early 2000s. I have built many PCs of my own, too, most recently a couple of workstations based around the Intel i9 9900 8 core CPU.
I started work for EASAMS in the late 80s, writing transputer based sonar processing applications, firstly near Kingston and then in Weymouth. I really enjoyed the parallel programming the transputer let me do, and in the end wrote a multi-client graphics server (akin to an X Server) with multiple (non-overlapping) windows to support the application.
I moved on to Insignia Solutions, working on software-only CPU emulation technologies, pioneering (some of?) the first Just In Time compilation techniques while making Intel x86 code runnable on mainstream 68K Macs and on Unix workstations. Insignia had a great influence on me, pushing me towards further rigour in software development. For example, one of their standard processes was that a product build of software was handed over for production on an actual data tape, with an accompanying notes describing how to build it. The support department then actually built the product, and any differences between the former builds and this one had to be explained. The purpose of this was to ensure that Support could indeed rebuild what they were supporting, and that it was reproducible. Of course, the tape itself was later locked in a literal safe!
In the mid 90s' I was working for TCAM Systems, based in the City of London, who wrote the software used by stock brokers in their trading rooms. I was working on their KRESTconnect software which connects their back office systems to the new London Stock Exchange CREST system. Part of the system used an asynchronous, multiprocessing FTP client which I wrote from scratch. KRESTconnect translated updates and queries on TCAM stock database records into files sent to CREST over FTP, and parsed the replies back into database entries. TCAM were part of a US company called Stratus who made, amongst other things, fault tolerant minicomputers.
In 1997 I started at ARM Ltd, in Cambridge, who design microprocessor chips, mainly into embedded systems such as portable phones, fax machines and so on. A short time after starting at ARM, I was asked to supervise development of the debugger in the ARM Software Development toolkit, which was being readied for a new release. This involved improving the systems used to track defects in the product and improving what I could, all the time trying to make best use of the developers I had available to me in fixing the problems the testers found. Although acting more in a managerial than technical role, my technical skills were kept in good trim, and towards the end of that period I started doing some work on the debugger's target-end software, called Angel. I enjoyed this so much that I eventually shifted groups within the company to join the Angel development team. Angel had some problems in its communications with the host debugger, which used a packet protocol somewhat similar to HDLC. I took on and completed the task of identifying these, and more started working on Angels task and exception management. Later in my time at ARM I joined the technical publications department to write a manual for one of the products I'd been involved with. This was pretty successful and I continued writing with the group for a couple of years.
After ARM I joined Creative Business Systems, a company specialising in business-administration software - stock taking, payroll and the like - using MBS Navision. I worked on some Navision projects and on an inland revenue electronic form submission application. I also enjoyed training clients on the data analysis tool QlikView. I really like QlikView - its intuitive way of exploring very large datasets makes it ideal for situations where you don't know in advance what you might need.
My next move took me to Stuga, who wanted consultancy help with a machine tool control system. Stuga were in Great Yarmouth but I was able to telecommute from Cambridge most of the time, travelling in once a fortnight for update meetings. I found it remarkably easy to work this way, although it could be a bit lonely at times. The contract was extended a couple of times, from an initial "document what we already have" to "document what we'd like", and finally "build what that". I was sad to see the end of it when the funding stopped.
More recently I joined Global Graphics, who sell the software that converts letters, lines etc into dots on a page, known as "rasterisation". Their software is frequently used in major newspapers, book publishers etc to drive high-end print systems, rather than desktop printers that usually rely on other software. My job there involved managing a range of 20-odd software products, the "connector" pieces that enable the generic main product to work with specific printers and file formats, and involved not just typical programming but working with colour, a very interesting but specialised topic. I enjoyed getting hands-on with the printers: seeing them fire up for the first time with software that you made was a real buzz. I also enjoyed managing the product range, and wanted to focus on this. Sadly in April I was made redundant as the company decided to focus on other developments.
You can reach me at: firstname.lastname@example.org