CV for Matthew ArcusSee CV Summary Page for further details and also this CV in Word format. Personal details
SummaryI am a skilled and knowledgeable software engineer with experience in a wide range of languages, tools and application areas. I am looking for a challenging software development role that will allow me to make best use of my skills and experience. Core skillsExcellent knowledge of C and C++. Also ML, Lisp, Java, Javascript, Perl, Pascal, Prolog, and various assemblers (Z80, AVR, PIC, SPARC and MIPS); development with, and for, many Unix/Linux and Windows variants; Symbian; VxWorks; STL; Posix; MFC; Win32; HTML and web development; TCP/IP and other related technologies; Tetra; real time and embedded systems; compilers; graphics; basic electronics and hardware; PIC and AVR microcontrollers; good maths and computing science. Career to dateAugust 2006 to present, Cachelogic, Cambridge.A member of the core software team for their P2P-based content delivery system. Responsible for the design and implementation of an efficient and scalable messaging system for communication between all components of the delivery network, also the design and implementation of a token-based authentication system, extensive work on the build system using GNU Make, library development and maintenance, HTTP download, PERL log file analysis, and work on a performance test bench. C++, C, STL, Perl on Linux (Fedora Core, Debian, Ubuntu). March 2003 to July 2006, Infomatrix Ltd, Fen Drayton.Designing and implementing logging software for a Series 60 Mobile Phone. Developing configuration tools for GSM base stations. 6 months at Domino, Bar Hill, (contracted from Infomatrix) on the GUI and control software for their industrial inkjet printer. Mostly using Windows CE on x86 and MIPS targets, but also some PIC assembler programming. Design and implementation of a user application for the Symbian operating system, particularly the file system interface and the graphical layer. August 2001 to Dec 2002.Travelling, mainly in Asia. December 2000 to May 2001, Cambridge Positioning Systems, Cambridge.Worked on various aspects of the design, implementation and testing of their GPS-based mobile phone positioning system. September 1999 to November 2000, Infomatrix Ltd, Fen Drayton.Involved in a number of projects with this small software consultancy including: implementing a voice-driven web browser; designing and implementing test software for a digital radio network switch; building management software for an HF radio system. C and C++ on Windows and Linux. February 1999 to August 1999, Fujitsu Telecommunications, Sawston.Part of a group developing software for an ADSL access multiplexer, connecting ATM networks to subscriber telephone lines. This included work on device drivers, network management and system design, using C with the AMX RTOS. March 1998 to January 1999, Simoco Europe, Cambridge.Part of the TETRA development group, working on various aspects of software development for a digital mobile radio base site. For most of the time I was working on the communications software between the base site and the rest of the network. This work included development of parts of the protocol stack software itself, as well as the integration, testing and debugging of the complete system, using Solaris for software development and testing, and VxWorks on the target MIPS and Power PC platforms. Before that, I was a member of the Software Architecture team, developing a translator from Shlaer-Mellor object oriented designs to C. This included work on the translator itself, written in Perl; the runtime system, written in C; and the build and test scripts, written using a variety of languages and tools. August 1990 to August 1997, Harlequin Limited, Cambridge.Mainly involved with the development of their Lisp and ML language implementations, as well as working on a number of other smaller projects. MLWorks: I worked on many aspects of the compiler and programming environment, making many major contributions throughout the project. On the compiler, these included the complete implementation of the ML parser and the optimizer for the intermediate lambda representation, as well as significant parts of the typechecker, register allocator and machine code generators for SPARC, MIPS and Intel processors. I worked extensively on the Motif-based programming environment which I also ported to the Win32 API. My work on the project used C and ML, on Solaris, Irix, Windows NT and Windows 95. Lispworks: In the Lispworks group, I implemented a parser generator, worked on a hypertext system, including the addition of authoring facilities to the tool, and was involved in the development of a Lisp binding for CORBA, as well as a variety of smaller tasks involving the GUI and language implementation. Common Lisp on a variety of Unix platforms. Other Projects: I worked on the Panoptica image sequence processing system, using C and C++ on Windows NT and Irix. I was involved in an IED project developing verification tools for the hardware description language ELLA, in conjunction with the University of Manchester and RSRE. I took responsibility for most technical aspects of Harlequin's work, which included GUI development, parser construction, and the development of a translation from ELLA to Lisp functions via an intermediate process algebra. I worked with members of the LFCS at the University of Edinburgh investigating aspects of compiler verification, in particular the optimization of the intermediate representation of the MLWorks compiler. This included extensive work on proving basic theorems about an imperative lambda calculus using the LEGO proof system. March 1988 to July 1990, SD-Scicon, Camberley.A member of the Formal Methods Group, involved in a mixture of consultancy and programming work. Consultancy projects included work on computer security for various government agencies, designing a formal semantics for an object oriented requirements notation, and developing part of the Ada binding of the specification of PCTE. Programming work included parts of the Perspective programming environment, working with Ada on Vax VMS, and building a user interface for the Analyst Assist Alvey project, using Common Lisp on Texas Explorer and Sun Workstations. Sept 1985 to July 1986, Programming Research Group, Oxford University.In my role as a Research Assistant I worked on the Alvey Flagship fifth generation computer project and the Alvey PISA project, investigating novel architectures for persistent storage. Work included describing transaction processing and security features using CSP, and using Z to specify the semantics of a graph-rewriting language. Other Projects
Designed and built an AVR microcontroller-based NTP server. InterestsTravel, art and architecture, cooking, Buddhism, computing and electronics. I read widely. Education
MSc, Computing Science (Distinction), University of Essex, September 1985
BA Hons, University of Cambridge (Churchill College), June 1983
A-Levels, Farnham College, Farnham, Surrey, June 1979
O-levels, Farnham College, Farnham, Surrey, June 1977 |