Hi, I'm Dr John T. Saxon.

Dr John T. Saxon

Another personal online presence that allows people to commit identity theft.

This page is also my CV so you can print it. It is what I'd send if I applied for a job.

There is quite a lot here for a regular web-page so here are three questions:

Oh, and I like running. It's fun.


I am a self-motivated and competent software engineer. The mixture of academic and industry work has enabled me to break down problems to design software such that it is extensible and future-proof. It has also provided me with the skills to analyse technologies and languages quickly to see what is suitable for individual tasks.


Consulting Software Engineer

I am a freelance software developer, primarily back-end, but I’m currently learning front-end development using JavaScript libraries/frameworks like React.

Lead Software Engineer at Progressive Access Ltd Apr 2015 — Present

I was the lead software engineer for Progressive Access Ltd. The company itself had no central office and had employees scattered around the globe. We used Stack and video-conferencing to manage workloads and to discuss/synchronise with each other.

The primary goal of Progressive Access Ltd is to provide a generic workflow that enables users with visual impairments to read diagrams using SVG and screen readers. This process uses a plethora of languages as each component had particular requirements, but specifically C, Java, JavaScript, Kotlin and OCaml. An essential part of this work was to be able to integrate them into a web service using the Spring Framework and to formulate microservices to complete the interpretation of different domains in a scalable manner using Amazon Web Services. We were also investigating the provision of an external API to allow clients to send diagrams to us for recognition.

University of Birmingham

Senior Teaching Assistant Oct 2012 — Jun 2016

As a teaching assistant, I further aided in students’ development through small group tutorials, marking and demonstrating in labs. As a senior teaching assistant, I would plan tutorials and exercises, and manage other tutors to provide a consistent learning platform.

I primarily taught security modules and large enterprise system modules (Java).

I was awarded with the TA of the year for my second year of teaching.

Demonstrator Jan 2012 — Apr 2012

Demonstrating involved facilitating students’ learning by helping them help themselves to solve any issues or bugs that arose from development.

Worldwide Clinical Trials Inc.

UNIX Software Engineer Oct 2009 — Sep 2011

I was a co-business owner on a few of trials, this involved:

The entire codebase was bespoke and written in the C programming language. I learnt a lot from my co-workers about writing large-scale applications and the separations that should be present. This aided my move to being a core member of an R&D team aiming to provide a web-based Clinical Trial Management System (CTMS). Researching topics like:

Language Course Abroad Ltd

Web Developer Aug 2007 — Aug 2008

My placement year for my undergraduate degree at De Montfort University.

My core responsibilities were to:

All projects required a reasonable level of web security; this is where my interest in the subject began.

My work here involved the use of multiple versions of MySQL (4/5) and PHP (4/5), as well as some front-end development.

Language Summary

I am proficient in C, CPP, Java 7/8 (learning 9 as we speak), SQL, JavaScript (currently looking at TypeScript), PHP (4/5) and Python (2/3). I’m always open to learning new languages as no one language can do everything well!

I am currently learning Go to make a Github integration in my spare time.

Non-subject specific work experience

I have also previously been a purchase ledger clerk, a barman, and a sales assistant.

These roles gave me the time to interact with customers, clients and suppliers directly to sell or to query information to complete my duties.


University of Birmingham, Birmingham, United Kingdom

PhD in Computer Science Sep 2012 — Dec 2017

My research was primarily looking at how we can derive confidence in black-box processes using previous executions. We used traceability as a mechanism to see what was occurring within these black-boxes at runtime and used it as a basis for learning.

I used Python 2/3 and Java 7/8 to provide transformation engines that could give users confidence in a newly transformed source. It involved looking at and modifying alternative transformers to provide a comparison. Due to the nature of model-to-model transformation, it was essential to have an in-depth knowledge of generics, meta-modelling and reflection.

I was the year’s representative on the Staff/Research Students Consultative Committee (SRSCC) for my first and third years. Additionally, I was the representative for Teaching Assistants, on the Teaching Committee, for my third year.


Saxon, J.T., Bordbar, B. and Harrison, K., 2015. Introspecting for RSA Key Material to Assist Intrusion Detection. IEEE Cloud Computing, 2(5), pp.30-38.

Saxon, J.T., Bordbar, B. and Akehurst, D.H., 2015, July. Opening the black-box of model transformation. In European Conference on Modelling Foundations and Applications (pp. 171-186). Springer, Cham.

Saxon, J.T., Bordbar, B. and Harrison, K., 2015, March. Efficient Retrieval of Key Material for Inspecting Potentially Malicious Traffic in the Cloud. In Cloud Engineering (IC2E), 2015 IEEE International Conference on (pp. 155-164). IEEE.

Shaw, A.L., Bordbar, B., Saxon, J.T., Harrison, K. and Dalton, C.I., 2014, March. Forensic virtual machines: dynamic defence in the cloud via introspection. In Cloud Engineering (IC2E), 2014 IEEE International Conference on (pp. 303-310). IEEE.

MSc Computer Security Oct 2011 — Sep 2012

During my summer project, I developed a malformed network packet generation framework that allowed me to craft the necessary ARP packets required to perform a man-in-the-middle attack. My framework used JavaScript, C, and the foreign function interface to allow an easily craftable packet to be placed on a low level device.

De Montfort University, Leicester, United Kingdom

BSc Software Engineering Oct 2005 — Aug 2009

I was the first-year representative for the course.

My course included a year’s placement at Language Courses Abroad Ltd (see Experience).

My final year project involved transforming one programming language into another:

Throughout my studies I concentrated mostly on C/CPP and then built on that knowledge with Java and object orientation.

John T. Saxon © 2018