Stephen Newman


I am a self-motivated, passionate software engineer with a great deal of experience across a range of industries and utilising various technology stacks. I am especially interested in building performant, scalable, distributed systems which deliver value to my colleagues and our customers. I believe that working in software is homework for life and enjoy constantly learning and pushing myself be that through reading, taking courses, or just trying new tech out. There are a multitude of ways to solve problems and by experiencing the approaches across varying ecosystems you can take the best lessons from each.

I enjoy having interesting problems to solve via technology whether that be to extend, build new, or stitching products together and prefer working within a team to achieve our goals. With experience in mentoring and helping to grow team members I am also able to help support the onward development of my colleagues.


Experience

Principal Engineering Lead

A&O Shearman

Working closely with a team leveraging large language models as part of a lawyer productivity toolset to aid their adoption of GTP-3/4 technologies and migrate from a trial on-premises deployment model into Azure. Hitting the ground running by contributing to their codebase on day 3 identifying and fixing bugs, understanding the architecture of the platform and beginning to form a strategy of simplification to aid the onboarding of additional resource, and reducing the total cost of ownership of the platform. Managing stake holders and working with other parts of the IT community to address issues such as the hardening of containers, provisioning of suitable log output, and integrating with technologies such as Azure SignalR Service. The platform is formed of numerous microservices leveraging Blazor Server (with the Flux pattern), MongoDB, EventStoreDB, SignalR, Azure Cognitive Search, numerous large language models, including Harvey.ai.

Forming relationships across the Architecture, Data, and Engineering function to promote best practice in software engineering into the organisation. Focussing on building the simplest things that could possibly work, ensuring that the development teams have access to as fast a feedback loop as possible and encouraging technologists to prioritise good technology fit to business problems.

September 2023 - present

Principal Software Engineer

AVEVA

As a senior member of the Common Cloud Platform team working across both AWS and Azure cloud stacks. Migration of core usage tracking components from an AWS, Lambda, Node.js, DynamoDB stack to an Azure, C#, Durable Functions, Cosmos DB as part of the strategic move to a SaaS offering for our customers. Working with senior technologists to provide input into improvements that can be made as we look to the future.

Leveraging extensions to the OpenAPI Specification to allow services to describe their rate limiting characteristics and that output be baked into API Management during deployment time. Providing necessary tooling to ensure that analysis of current normal load is performed consistently and in an efficient a manner as possible. Enhancing the organisation’s compliance capability by designing and delivering a new trade compliance integration affecting our IdP (Auth0) with downstream affects into Angular and .net platforms. Working across the organisation to describe the foundations for the rewrite strategy for Authorization targeting a Kubernetes based hosted model.

Mentoring members of the team as they continue to grow in their software career, providing feedback via code review and giving presentations focussing on leveraging modern software engineering practices to deliver positive outcomes for customers. Delivered talks to the team and Chief Technologists related to Domain Driven Design (including Context Mapping), along with a presentation on Explainable Artificial Intelligence during AVEVA’s Developer Conference in Cambridge.

September 2021 - August 2023

Software Architect

Aviva

Working across various parts of the business and operating within many ecosystems. Working with a team of Java engineers on a graph database backed data platform I was able to help the team move the design and technical implementation of the product towards a trial rollout serving a division. Java 8, Neo4j.

Developing an example application to support the extension of the quotation platform to take advantage of Akka.net's Clustering and Sharding capabilities. Supporting the team in the design activities associated with the extension of a high throughput payment platform. Diagnosing production issues and providing timely tactical and robust long term solutions to the root cause discovered. C#, ASP.NET Core, Redis, PostgreSQL.

Support team members and the development community through one on one mentoring sessions and team wide presentations covering aspects such as architectural styles, async/await, domain driven design, and an overview of reactive frameworks within the JVM ecosystem.

January 2019 - August 2021

Head of Development

Kodeshio

Working with a small team to build a cloud native social network platform to allow content creators to connect with their supporters. Provided software engineering guidance and technical support for a successful R&D Tax Relief application. Platform went into production and began to support content creators, but the start-up folded at the end of the year. ASP.NET Core, Azure Service Fabric, Azure Cosmos DB and CQRS.

January 2018 - December 2018

ASP.NET MVC Lead Developer

Aviva

Led as the technical authority within the Digital Quote and Buy team responsible for the successful development, deployment and improvement of the core General Insurance products (such as Home, Motor, and Travel). Successfully designed and developed a prototype to demonstrate the concept. Led a team developing Aviva's next generation quotation platform utilising Akka.net, React, and SignalR.

January 2016 - December 2017

Technical Lead

bgo Studios

Applying Domain Driven Design techniques to build a new gaming platform from the ground up. Responsible for the design and development of the Banking (including payment processing for deposit and withdrawal), Bonus, Promotion, and Customer Engagement bounded contexts. Working with a small team of developers in a green field environment to successfully deploy, and grow the website such that it attracted new investment based on a £100m valuation. C#, ASP.NET MVC, ASP.NET Web API, Entity Framework 4, Rabbit MQ, SQL Server.

January 2010 - December 2015

Senior Developer

P1 Technology Partners

Designing and leading development of a disruptive web based haulage planning system. Aided in the successful sale of the product into a number of established hauliers within the UK. Supported new deployments through training and on site "day-in-the-life" sessions. Led development of time-slot based activity sales software used by a well-known nationwide leisure company through a combination of online sales and back-office management portals. C#, ASP.NET Web Forms, ASMX, WCF, SQL Server.

July 2004 - December 2010

Developer

tso

Numerous multi-tier systems with VB6 COM+, XML with XSLT, and adopting .NET 1.0/1.1 C#.

June 2000 - June 2004

Education

University of York

Merit

MSc Computer Science with Artificial Intelligence

November 2020 - December 2022

University of East Anglia

2ii (Hons)

BSc Computer Science

September 1998 - June 2000

Skills

Professional Level
  • C#
  • ASP.NET Core
  • Blazor
  • Docker
  • Git
  • Azure
  • AWS
  • Azure DevOps
  • GitHub
Side Projects
  • Playwright
  • Rust
  • Java
  • Python

Technology Agnostic
  • Domain Driven Design
  • Test Driven Development
  • Distributed Event-Driven Systems
  • Microservices
  • Modular Monoliths
  • Infrastructure as Code
  • Agile Development & Scrum

Certifications

  • Azure Solutions Architect Expert - Microsoft
  • Azure Developer Associate - Microsoft
  • Azure AI Engineer Associate - Microsoft
  • Azure Security Engineer Associate - Microsoft
  • Azure AI Fundamentals - Microsoft
  • Azure Fundamentals - Microsoft
  • Power Platform Fundamentals - Microsoft
  • Async Expert - Dotnetos Academy
  • GitHub Actions - GitHub
  • AWS Certified Developer (Associate) - AWS*Lapsed
  • AWS Certified Solutions Architect (Associate) - AWS*Lapsed
  • MCPD Windows Azure Developer - Microsoft
  • MCPD Web Developer 4 - Microsoft

A Quantitative Analysis of Explainable Artificial Intelligence Techniques as Applied to Machine Learning Models for Breast Cancer Classification

Submitted to the University of York in partial fulfilment of the requirements for the degree of MSc Computer Science with Artificial Intelligence

Artificial Intelligence (AI) is being applied to an increasing number of facets of our lives. From scenarios such as recommendation engines through to complex systems designed to drive vehicles on public roads, there seems to be no end to the scope and variety of the tasks that AI techniques are being applied to. It is natural that these scenarios exist on a spectrum between what are referred to as low stakes towards those that would be described as high stakes. For example, a private individual may have less interest in YouTube’s recommendation engine providing appropriate and interesting content than they would be a system charged with detecting the presence of malignant cancers within tissue samples.

Machine Learning (ML) models can produce undesirable results or raise worrying questions. An individual’s life chances could be extremely negatively impacted by the misclassification of a tissue sample as benign instead of malignant. In instances where an individual has been harmed or exposed to potential harm it is reasonable for that individual and applicable regulatory bodies to ask the question as to why this happened such that suitable action can be taken. Developers of and researchers in AI systems may be able to build better systems and refine approaches if those systems have an ability to describe why model outputs have been determined. This need for explainability in systems has been known for many years, was acknowledged during the development of expert systems during the late 1970s and early 1980s, and within the field of AI is the focus of the sub-field of eXplainable Artificial Intelligence (XAI).

This research will attempt to determine the following:

  1. Can the Optimal Sparse Decision Tree (OSDT) computation technique developed by Hu, Rudin, and Seltzer be applied to build interpretable binary classification ML models?
  2. How do such ML models compare in terms of accuracy versus competing ML models developed using an alternative classification technique?
  3. How do such ML models compare in terms of interpretability versus competing ML models developed using an alternative classification technique?