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. This CV is also available in Adobe PDF format and Word format.

Personal Details


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

Employment


May 2018–present Software Architect, Software AG
https://www.softwareag.com/en_corporate/platform/iot.html
Architect leading designs for the core high-performance streaming analytics engine in best-of-class
IIOT platform. Technical lead for features across multiple agile teams, including senior development
and review roles. Leading system administration for R&D systems including on-prem, containerized
and hybrid-cloud. Planning and architecture roles extend across multiple product areas.
Specific achievements:
Personally ran a complete R&D infrastructure rebuild and recovery for the Apama team after
significant cyber attack, restoring productivity and the ability to deliver customer fixes faster
than the rest of the company.
Designed features to enable customers to improve performance of their code running in the platform.
Lead and implemented a devops transformation for R&D to hybrid cloud and containerized,
infrastructure-as-code in Kubernetes and AWS using a gitops workflow for infrastructure deployment.
Independently produced Functional extensions to the platform DSL.
Cross-product architecture lead for rearchitecting the input layer for the platform.
July 2013–May 2018 Principal Software Engineer, Software AG
C++, Java and Python engineer leading a team to design and deliver features.
System administration for R&D systems.
Technical recruitment interviews, new hire onboarding and mentoring.
Specialized in performance and security aspects of the high-performance native runtime.
Specific achievements:
2014-2016:
Concepted, designed and delivered declarative, multi-threaded, multi-language and multi-platform
python-based build system (https://github.com/xpybuild) to unify product builds.
Replaced build and fix delivery system.
Wrote an automated performance analysis toolfor monitoring and improving product performance.
Designed and built in-process connectivity and integration for the platform,
reducing latency and improving deployment architecture.
2017-2018:
Lead a project to update compilers and platforms to move to modern C++ language features.
Added containerized deployment for the product to enable customer migrations to cloud deployments.
Proposed, designed and delivered Python integration to the custom DSL including support for ML/AI.
May 2008–July 2013 Senior Software Engineer, Progress Software
C++, Java and python developer on world-leading, high-performance, multi-threaded realtime
streaming analytics platform. Delivering features on time and with high quality and debugging tricky
concurrency and performance issues in the platform.
Specific achievements:
2008-2010:
Designed and built an interactive debugger for the custom DSL in the platform and proposed,
built and delivered Java extensions to the DSL.
2011-2013:
Designed and built declarative stream-based language extensions to the DSL and underlying runtime.
Delivered a compiled backend for the DSL using LLVM for high performance language execution
with benchmarks similar to natively-compiled C++ and Java.

Education


2004–2008 Computer Laboratory, University Of Cambridge
PhD
Doctor of Philosophy in Computer Security
Thesis topic: consumer security devices for Internet banking
2001–2004 Trinity Hall, University Of Cambridge
MA
Masters Degree in Computer Science

Patents


Issued Jan 2016 Second-order tuning of spin loops
US9262233B1
Filed Dec 2022 MULTI-USER IN-MEMORY QUEUE FOR MULTI-TREADED AND/OR
MULTI-PROCESS COMPUTING ARCHITECTURE
US2024012645A1

Publications


April 2008 A Real World Application of Secure Multi-Party Computations
Presented at the 16th 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

Organizations


December 2012–present UK Magic Officials Ltd
Founded an organization to train and support tournament officials for tabletop card games.
https://magicofficials.uk
December 2012–present Magic: The Gathering Level 3 (Premier) Tournament Judge
Responsible for managing teams of judges at the highest level tournaments across the world
and for local community development within the program
https://blogs.magicjudges.org/
April 2009–present English Bridge Union Congress A Tournament Director
Tournament and rules expert on the national panel of directors responsible for running bridge
tournaments across the UK.
Certified by the European Bridge League as a National Tournament Director
https://www.ebu.co.uk/

Open Source Projects


Feb 2017–present Xpybuild
Co-author, Xpybuild build system
Xpybuild is a fast cross-platform, cross-language build system that uses Python as the file format.
https://github.com/xpybuild
Dec 2006–Jan 2010 dbus-java
The Java binding for the dbus system bus on Linux.
https://dbus.freedesktop.org/
Dec 2006–Jan 2011 Debian
Certified Debian Developer, maintaining several packages,
including designing and building the Java packaging framwork
and regularly contributing bug reports and bug fixes for others.
https://www.debian.org/

Skills


  • Language:15 years C++ expert including STL, template metaprogramming, C++20
  • Language:15 years Extensive use of Python
  • Language:Significant Java experience over 20 years
  • Language:Developed a custom DSL compiler, intepreter and JIT using ANTR and LLVM
  • DevOps:Linux and Windows System administration
  • DevOps:AWS, Docker and Kubernetes hybrid-cloud devops
  • DevOps:Git, SVN, Github, Ansible, Gitops
  • AI:LLM/API with OpenAI and Copilot
  • Development Methodologies:Agile including Scrum and Kanban, Waterfall, Design Thinking
  • Nontechnical:Excellent communication and presentation skills
  • Nontechnical:Strong team leadership and mentoring skills
  • Nontechnical:Experience in technical recruitment and onboarding
  • Nontechnical:Experience in technical writing and documentation
  • Nontechnical:Experience in public speaking and conference presentations
  • Nontechnical:Software AG Global Architect Program graduate