I'm John Helsby, a software engineer with a passion for technology and innovation as a force for good. I'm particularly interested in scalable systems, distributed computing, artificial intelligence, and how these tools can be applied to benefit ordinary people the world over.
For more on my technical interests, please see my blog. You can read about my professional experience and education below, or see my LinkedIn page for more information.
Software Development Engineer Intern, Amazon, London.
June 2024 – November 2024
Tools used: Objective-C, Swift, Java, Kotlin, Swift, React Native, Git.
For the first half of my Industrial Placement year at Bath, I completed a six month Software Development Engineering placement with Amazon, at their 1 Principal Place office in London.
I worked on the Rufus Voice team, on Amazon's mobile app. Rufus is an LLM chatbot which provides a new, generative AI-powered, conversational shopping experience.
Compiler Developer Intern, Wolfram Research, Oxfordshire.
June 2023 – September 2023
Tools used: Wolfram Language, C++, LLVM, MXNet, CMake, Git, Mathematica.
In the summer of my first year at Bath, I worked on Mathematica's LLVM-based Wolfram Compiler under the supervision of Dr Tom Wickham-Jones, Directory of Kernel Technology at Wolfram Research.
Computer Science & Mathematics BSc (Hons), University of Bath.
September 2022 – June 2026
Tools used: Python, Java, C, Git, Django, NumPy, Haskell.
My course includes a year-long industrial placement after my second year.
I am currently on my placement year. On the Computer Science side of my course, I've studied:
As part of an extended group project, I also acted as Technical Lead for the backend of a web application designed to automate the process of booking boats into harbours. The backend and accompanying tests were written in Python, Django, and the Django REST Framework, and deployed onto the web using GitHub Actions, Heroku and MailGun.
The Mathematics side of my course so far has focused on Algebra and Analysis. My studies have included:
In the my final year of my course, students can choose which modules they wish to study. I hope to take Computer Science courses in Bayesian machine learning, advanced algorithms and complexity, and natural language processing; and Mathematics courses in numerical analysis, optimisation methods of operational research, numerical optimisation and/or graph theory.