Matthew Johnson

Page Body

Curriculum Vitae

The canonical address for this CV is If you are not viewing this at that address, please see there for an updated version. This CV is also available in Adobe PDF format.

Personal Details

Date of Birth: 23rd September 1981
Email Address:
Nationality: British
Driving licence: UK, Full, Clean


2004–2008 Computer Laboratory, University Of Cambridge
Doctor of Philosophy in Computer Security
Thesis topic: consumer security devices for Internet banking
2001–2004 Trinity Hall, University Of Cambridge
Masters Degree in Computer Science
1998–2000 Peter Symonds College , Winchester
A-levels: Maths (A), Further Maths (A), Physics (A),
Computer Science (A)
1991–1998 The King's School , Basingstoke
GCSEs: 10, (including 6 grade A* and 2 grade A)


May 2008–present Principal Software Engineer , Progress Software
Principal software engineer in the core engineering group
developing the Apama Complex Event Processing Engine.
Responsible for planning and implementing new features
as well as maintenance of the current product line.
Core Skills: C++ and Java development on Windows, Solaris and Linux.
Domain-specific language development using ANTLR
Python scripting for comprehensive regression test suite.
Version control using Subversion
Working in an Agile team environment
Testing, test triage and defect fixing
Feature design and development technical leadership
April 2002–May 2008 Computer Support Group Member , Trinity Hall
The group is responsible for support of student computers
in College, and runs a pool of 32 Windows 2000 desktops
available for use by students—including a server
running Debian GNU/Linux as a Windows Domain,
Controller and several other servers running
critical network infrastructure.
Core Skills: Linux and Windows system administration
Network infrastructure management
Development in Java, C++, Shell scripting, PHP and XHTML
Jul 2004–Sept 2004 IT Department , Trinity Hall
Full time contract, developing bespoke firewall
system and network administration software.
Core Skills: Linux and Windows system administration
Network infrastructure management
Development in Java, C++, Shell scripting, PHP and XHTML
Jul 2003–Sept 2003 Citrix Research Division , Cambourne, Cambridge
Working with their Java Client development group,
developing part of their printing subsystem, which
is now included in their current product.
Core Skills: Java development on Linux and Windows
Version control using Perforce
Aug 2000–Sept 2001 Basingstoke Community Church , Basingstoke
Full time work, split between systems administrator
for the small business network, and voluntary schools
& youth work for the church
Core Skills: Windows system administration and IT support
Teamwork, teaching and communication


May 2008 A new approach to Internet banking
Submitted for the PhD degree and published in the University of Cambridge
Computer laboratory technical report series.
April 2008 A Real World Application of Secure Multi-Party Computations
Presented at the 14th International Workshop on Security Protocols
October 2007 A New Approach to E-Banking
Presented at the 12th Nordic Workshop on Secure IT Systems
April 2006 Usability of Security Management: Defining the Permissions of Guests
Presented at the 14th International Workshop on Security Protocols
April 2005 Implementing A Multi-Hat PDA
Presented at the 13th International Workshop on Security Protocols

Current Positions

February 2012–present Area Judge for Magic: The Gathering
Tournament operations for competitive events in the UK
Core Skills: Teamwork and team leadership
Methodical, analytical skills and organisation
Customer service and communication
December 2010–present English Bridge Union Congress A Tournament Director
European Bridge League NBO International Tournament Director
Tournament operations for major competitive events in England
Core Skills: Teamwork and team leadership
Methodical, analytical skills and organisation
Customer service

Open Source Projects

D-Bus I authored and maintain the D-Bus Java bindings
Core Skills: Java development on Linux
Distributed version control with GIT
Debian I am a Debian Developer, maintaining several packages
and regularly contributing bug reports and bug fixes for others.
Core Skills: Package creation and maintainance
Distributed version control with GIT
Collaboration within a distributed team
Bug triage and reporting to upstreams

Previous Positions

2004–2010 Archery:
Member, BUCS sports management group responsible for UK University Archery.
Co-Organiser, UK University Archery E-League
Secretary, then Captain, Cambridge University Bowmen
2001–2008 Student computing:
Trinity Hall student web/shell server system administrator
Trinity Hall MCR Computing Officer
Membership Officer, then President, Student Run Computing Facility
Committee Member, Cambridge University Computer Society
1998–2006 Scouting:
Assistant Scout Leader, 1st Whitchurch Scout Group
Scout Leader, 54th (St. Georges) Cambridge.
2003 Game Umpire , Cambridge University Assassins Guild
1997–2001 Sound Engineer , Basingstoke Community Churches


I enjoy problem solving and challenges both generally, and specifically those involving computers. I have spent a lot of time involved with computers, both in the various positions and jobs I have done, and in my own personal time. I have a good working knowledge of several operating systems, and also several programming languages, and am comfortable with assembling and fixing PC hardware. I am also good at working with both specific, and more long time goals, and working without close supervision.

I am very competitive, in my spare time I compete for the University in both Bridge and Archery. In the latter I have several BUSA medals, I am regularly part of the University team in both University and national competitions and have been awarded the Full Blue, the University's highest sporting award.

I have a lot of recent experiences with programming for databases, and managing of large UNIX systems, and enjoy both of these. I have also been keeping up with more traditional programming, mainly in Java with which I am quite proficient.

I am involved with several Open Source Software projects. I am a member of the Debian Project distribution of Linux, maintaining several packages and I am the Java language bindings maintainer for the D-Bus Freedesktop project.

I am also very interested in the fields of computer security, and ubiquitous computing, both from the systems and theory contexts. My final year project involved Linux smart-card support and was supervised by a member of the Cambridge University Computer Laboratory Security Group, and my doctorate was affiliated with the Security Group.