Josh Jennings

Backend Software Engineer

Education

Imperial College London

MEng Electrical and Electronic Engineering

Oct. 2016 - Jul. 2020

  • Degree Result: Upper Second Class Honours (2:1)A Levels: Mathematics (A*), Further Mathematics (A), Physics (A)

Professional Experience

Backend Software Engineer

Online Tools Group — Arm ltd.

Oct 2021 - Present

  • Used Golang, Docker, and Kubernetes (with custom resources/operators) to develop the backend of Keil Studio's Cloud IDE.
  • Developed a HATEOAS-driven (HAL) REST API using Golang and OpenAPI to monitor/deploy new Keil Studio Cloud services.
  • Utilised Helm Charts to package Kubernetes manifests as well as Terraform to manage AWS ECR repos and key rotations.
  • Created an asynchronous HTTP file transfer system using Golang to allow Keil Studio to incrementally compile projects.
  • Updated cleanup and deployment cron jobs using Golang and RabbitMQ, decreasing runtime and container storage needs.
  • Built Python tools to automate code generation after API specification changes. Deployed the tools in CircleCI workflows.
  • Ran sprint retrospectives and hosted daily sync-ups with my team as well as taking part in engineering efficiency meetings.
  • Regularly took part in code reviews. Provided onboarding to new team members. Wrote documentation and setup guides.

Graduate Software Engineer

Development Solutions Group — Arm ltd.

Nov 2020 - Oct 2021

  • Created a Python tool for Arm Compiler that can replicate any test running in CI locally, vastly reducing debug time.
  • Rewrote Jenkins pipelines to use Docker and Conan for Arm Compiler and led migration of SVN repositories to Gerrit.
  • Developed a guide/testbench for the Generic Interrupt Controller making it easier for other Fast Models developers to use.

Student Developer

Digital Learning Hub/Department of Chemistry — Imperial College London

Jul 2018 - Sep 2019

  • Created interactive tutorials on machine learning topics for Imperial College's online Machine Learning Masters Degree.
  • Produced interactive web apps using JavaScript, HTML, and CSS. Used Python/Flask for build automation and deployment.
  • Built a smartphone-based biosensor that used OpenCV and Lateral Flow Assays to calculate Vancomycin levels in blood.

Projects

Spiking Neural Network Simulator for Event-Driven Hardware

(See project on github)

  • Built a spiking neural network simulator for Cambridge Computer Laboratory's Partially-Ordered Event-Triggered System.
  • Used C++ and Python to design algorithms that increased simulation efficiency and improved the current implementations.
  • Provided tools for researchers and investigated whether there were performance gains over conventional architectures.

Discord Bot

(See project on github)

  • Created a Discord bot in Golang that provides users' birthday information and wishes happy birthday on a per-server basis.
  • Used MongoDB to host the birthday database. The bot can run concurrently on multiple servers in different timezones.
  • Utilised GitHub Actions to automatically rebuild and deploy the bot to Heroku when changes are pushed.

F# Neural Network Library

(See project on github and a writeup on my website)

  • Developed a small library for creating neural networks designed for and built with F#.
  • The library supports neural networks of any size with many activation functions, optimisers, loss functions, and initialisers.

Game Boy Emulator

(See project on github)

  • Utilised C++ and the SDL2 library to build a Game Boy emulator.

Static Site Generator

(See project on github and a writeup on my website)

  • Built a static website generator using Python that converts markdown into HTML using Pandoc and Jinja templates.
  • Used GitHub Actions to automatically rebuild the site only if the markdown files or templates change.

Intermittent Claudication Health App

(See project on github)

  • Built a cross-platform smartphone app that improves quality of life for patients suffering from Intermittent Claudication.
  • Leveraged JavaScript, React Native, and Firebase to create a platform that allows patients to exercise together and keep track of the illness. A patient's progress could be monitored remotely by a health practitioner using a web interface.
  • The application won the prize for the best 3rd year group project.

Technical Skills

Experienced in: GolangPythonGitLinuxCircleCIDockerKubernetes/HelmRabbitMQAPI Design (OpenAPI).
Some familiarity: AWSTerraformRelational DatabasesHTML/CSSJavascriptC++ElasticSearchGitHub Actions.