jhb

Log in as admin

CV

Intro

Driven problem solver looking to take the next step in a career in software development. Innovative and thrives on challenges. Adept at learning new products, systems and technologies. Proactive, diligent, self-sufficient, reliable and collegial.

Programming languages

Rust

Javascript

Kotlin

Python

Skills

Compose

MUI

AWS S3

AWS SES

AWS Lambda

AWS DynamoDB

React

Numpy

Jetpack

OpenCV

Rocket

Appium

Docker

Git

Github Actions

Agile

Teamwork

Active listening

Planning

Time management

Signal processing

Mathematics

Machine learning

Statistics

Experience

Evertz

Design Engineer

November 2023 - Present

This role focussed on building software tools for developing state-of-the-art hardware for streaming audio visual data.

Motorola Solutions

System Test and Integration Engineer

October 2023 - November 2023

Junior System Test and Integration Engineer

November 2022 - October 2023

This role focussed on testing a multi-platform suite of software products used by police agencies.

  • Delivering an ID scanning app during a 2 day Hackathon. The app utilised machine learning and the phone's camera. I designed the product, managed a team, mentored team members, designed the app's architecture and developed a large portion of the codebase.
  • Automating regression tests. When I started this role, regression testing of the product's Android, iOS and Windows clients was done manually. I took the initiative and created a Python package which used Appium and HTTP requests to test the application. I wrote a set of 20 Gherkin scripts for running regression tests, and this has laid the ground work for a more extensive test suite.
  • Converted hundreds of unit and integration tests from the Moq framework to the NSubstitute testing framework.
  • Improving the testability of the clients by adding properties to the UI that can be detected with automation frameworks. This required me to work with C#.
  • Manually testing and investigating bugs found in the suite of products.

Ouster (formerly for Sense Photonics)

System test and characterisation engineer

May 2021 - October 2022

Worked in the R&D team within a high-paced startup that made hardware for use in self-driving cars. My role was to ensure that the product's design would meet the customer's requirements.

  • I identified features from the hardware's data that could be used in novel algorithms to enhance its performance by a factor of 10. These results guided design choices and were essential for demonstrating the feasibility and viability of the product.
  • Quick turn-around between the product team and engineers was required, and I was key in developing a Python package for running simulations and analysing data to enable this.
  • To produce new products, in-depth characterisation of quantum light detectors was needed. I automated experiments with Python, and this improved the reproducibility of tests and reduced test time from days to hours. I led discussions based on the results with a large group of engineers on a bi-weekly basis. This work could be audited by automotive customers, so rigorous methodologies, reports and data management were essential.
  • To demonstrate the viability of the product, I lead field testing of the product's proof-of-concept. This included hiring the use of an airstrip and people management.

Caltech

Visiting Researcher

October 2019 - December 2019

The laser is a fundamental part of the LIGO experiment. I worked in a team to prototype LIGO's new laser and we obtained a 30% performance increase. This work was published.

Programming Projects

CrosswordScan

This project is composed of two parts: an Android app and a Python REST API which leverages AWS. The Android app lets users digitise and share crosswords. The app consists of eight screens, is written in Kotlin, employs an MVVM architecture and uses Jetpack compose along with Material 3. Crossword grids are detected in real-time using a custom processing pipeline made with OpenCV, and Google's ML kit is used to extract the clues from photographs. The Python REST API was made using Flask, and this utilises AWS to store data, send emails and manage databases. This is deployed as a Lambda function. The Android app uses Github workflows to deploy it to the Playstore, and it is in internal testing mode while a small group of users test it. The Python Flask server project uses workflows to run tests every time code is pushed, and coverage reports are generated when code is merged onto the main branch.

enhance_greyscale

A convolutional neural network made with PyTorch for upscaling greyscale images.

Education

PhD Physics

University of Glasgow

2017-2021

Minor corrections

  • Worked on various aspects of a Nobel prize-winning experiment known as LIGO. LIGO detects gravitational waves and it uses complex instruments made up of dozens of interconnected subsystems to do this.

  • Developed Python scripts to aid in the design of experiments. This involved advanced mathematics and the design of algorithms. This was key for the rapid conceptualisation of the hardware for the UK's £10.7 million contribution to an international scientific project.

  • Identified an 8% improvement to LIGO's apparatus. This was done by consulting on-site scientists, reviewing measurements and design work, and running a simulation to test a hypothesis. Key parts of the upgrade to LIGO are influenced by this analysis.

  • Researched the feasibility of using novel light detection technologies in gravitational wave detectors. This involved defining requirements, designing experiments and data analysis. Presented the results at a conference.

  • Wrote a 350-page PhD thesis. Deep technical knowledge, a high level of organisation and time management was required to meet the deadline for writing my thesis.

  • Taught lab work to undergraduates. This involved active listening and explaining concepts.

  • Showcased aspects of gravitational wave research to members of the public at the Scottish Festival of Physics. This involved speaking to a wide range of the general public, from children to adults. To pitch to my audience, I needed to be adaptable, engaging, confident and friendly.

Msci Physics

University of Birmigham

2013-2017

First class honours

  • Masters project focussed on using machine learning to enhance seismic sensors. This work was published.

Training

Containerized Applications on AWS

Coursera

This had modules on Docker, ECR, ECS, Fargate, Kubernetes, and Lambda.

Machine Learning

Coursera

Included modules on linear and logistic regression, neural networks, SVNs, anomaly detection, online algorithms, unsupervised learning and recommender systems.

SQL for Data Science

Coursera

This course focussed on using SQL to search databases optimally.