Matthew Johnson

Page Body


Curriculum Vitae

The canonical address for this CV is http://www.matthew.ath.cx/cv. If you are not viewing this at that address, please see there for an updated version.

Personal Details


Name: Matthew Johnson
Email Address: cv@matthew.ath.cx
Phone Number: +447866492434
Github: https://github.com/mjj29

Education


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 with honours

Employment


May 2008–present Principal Software Engineer and Software Architect, Software AG Cumulocity Apama
Developing a world-leading high-performance streaming analytics platform used in finance, logistics and industrial IoT.
Responsibilities:
  • Leadership in product feature design and implementation.
  • Cross-team and cross-product architecture.
  • Product and development infrastructure administration, including devops build chain design and management.
  • L3 customer issues support and investigation.
  • Development lead specializing in performance, language development, security and legal compliance.
  • Technical interviews for new hires
Core Skills: Languages
  • C++ expert including STL, template metaprogramming, C++20.
  • Extensive use of Python.
  • Developed a custom DSL compiler and interpreter using ANTLR and LLVM
  • Significant Java experience
Tools and Technologies
  • LLM/AI with OpenAI and Copilot
  • Git, Github, SVN, Gitops
  • AWS, Kubernetes and Ansible devops/sysadmin
  • Linux amd64, arm32/64 and Windows development and sysadmin.
  • Jira, Jenkins, Teamcity, Confluence
Development methodologies
  • Agile including Scrum and Kanban
  • Waterfall
  • Design Thinking
Nontechnical skills/qualifications
  • Internal technical presentations and training
  • Technical leadership and architecture
  • Customer architecture development and presentation (Software AG Customer Architect qualification)
  • Training and development of junior engineers
April 2002–May 2008 IT Contracting , Trinity Hall
Mix of part-time and full-time roles building and supporting critical network infrastructure, user support and Linux server administration.
Jul 2003–Sept 2003 Citrix Research Division , Cambourne, Cambridge
Java Client development of the printing subsystem delivered into the main product.
Aug 2000–Sept 2001 Basingstoke Community Church , Basingstoke
Linux and Windows business network administration and IT support.

Patents


2022 MULTI-USER IN-MEMORY QUEUE FOR MULTI-TREADED AND/OR MULTI-PROCESS COMPUTING ARCHITECTURE
US Patent US2024012645A1
EU Patent EP22183950A
2016 Second-order tuning of spin loops
US Patent US9262233B1

Publications


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.
http://www.matthew.ath.cx/publications/UCAM-CL-TR-731.pdf
April 2008 A Real World Application of Secure Multi-Party Computations
Presented at the 14th International Workshop on Security Protocols
http://www.matthew.ath.cx/publications/2008-JohnsonOwen-duplimate.pdf
October 2007 A New Approach to E-Banking
Presented at the 12th Nordic Workshop on Secure IT Systems
http://www.matthew.ath.cx/publications/2007-Johnson-ebanking.pdf
April 2006 Usability of Security Management: Defining the Permissions of Guests
Presented at the 14th International Workshop on Security Protocols
http://www.matthew.ath.cx/publications/2006-JohnsonSta-Guests.pdf
April 2005 Implementing A Multi-Hat PDA
Presented at the 13th International Workshop on Security Protocols
http://www.matthew.ath.cx/publications/2005-JohnsonSta-hats.pdf

Relevant positions held


2017-present Co-Author xpybuild build system
Co-Authored a fast cross-platform, cross-language build system that uses Python as the build file format.
https://github.com/xpybuild/xpybuild
2010-present Tournament operations and leadership/development for tabletop games
National and global expert and leadership of the tournament operations programs for several table top games, including being on several national committees. Many technical presentations to a global audience.
Demonstrates leadership and teamwork skills in high-pressure environments, skills in detailed technical knowledge and being able to communicate them.
2002-2009 Debian Developer.
Package maintainer and contributor to the Debian operating system.
Designed the Java package creation and maintenance standards and tools.
Contributed to the debian-legal mailing list discussing software licensing issues.