Sabbatical for Personal and Professional Development
October 2021- Present

During the past two years I have focused on realigning my priorities while residing in Germany, taking a deliberate hiatus from paid employment following the challenges posed by Brexit and the COVID-19 pandemic. During this time, I have dedicated myself to language acquisition, attending language classes, followed by intensive self study and achieving proficiency at the C1 level in German by mid-last year, when I successfully took the Goethe-Zertifikat C1 exam.

Additionally, I took the opportunity provided by the Deutschland rail ticket to explore Germany extensively and immerse myself in its culture and diverse landscapes. Most recently, I have re-engaged with programming and am currently developing my own Real-Time Ray Tracer.

C++ Software Developer. Binary Spaces.
April 2018 - October 2021

Binary Spaces was the German subsidiary of DP Technology, which was acquired by Hexagon AB during the COVID-19 pandemic. As a CAD/CAM company, Binary Spaces specialises in developing 3D simulation software written in C++ and used by various manufacturing industries, including aerospace, automotive, energy, and medical applications.

The company creates simulation software that provides real-time visualization of machine components' motion, offering precise verification of complex geometries and motions. It allows for dry runs of industrial machine programs, ensuring no collisions occur between the machine, drills, clamps, etc., and the workpiece. This highly accurate simulation helps clients avoid costly errors by verifying machining operations before they are executed with real parts.

During my employment, my primary role involved maintaining, developing, and troubleshooting the collision detection system for Binary Spaces' own key product, SIMNC. Ensuring the accuracy of the collision detection system was crucial, given the potential financial implications for a customer of missed collisions.

I also developed and contributed to maintenance of our comprehensive suite of unit tests which monitored system stability. Furthermore, I contributed to other aspects of SIMNC and Esprit, including mesh and graphics/user control enhancements such as touch control functionalities.

I decided to depart following the COVID-19 pandemic to prioritise personal development, travel in Germany, and language acquisition. Concentrating on learning German has been particularly important to me as it allows me to fully integrate into my life in Germany.

Senior C++ Developer . Storecast.
December 2017 - January 2018

I was part of the development team at Storecast, working on the Juke music app for MediaMarkt/Saturn. My primary responsibility involved developing and enhancing the cross-platform C++ API utilised by the Juke Music App. However, my duration was brief as the company lost the contract, resulting in the redundancy of all app developers.

CTO & Programmer - MXDN Music
2016 - 2017

I served as the programmer and CTO at the start-up MXDN music, contributing to the development of a fun to use gamified music-making app. My contributions included enhancing user experience, implementing video sharing features, and migrating server code to AWS - in particular converting the mixing code to run remotely using AWS Lambda. The app was built using Haxe, an open source high-level strictly-typed programming language known for its fast optimizing cross-compiler, as well as natively in Objective C++. MXDN music was recognised as the winner of a start-up business award in Stockholm. For further details, please visit the links below:

C++ Tools Programming - Animation Viewer
May 2016 – September 2016

During this period I returned to dedicating my full attention to my personal project, the Animation Viewer. This graphical tool is designed to load fully featured FBX animated models and animate them using hierarchical key-framed animation techniques. You can explore examples and view the code by following the links below:

IOS Developer – Zalando
October 2015 – April 2016

I was a member of the iOS team responsible for developing Zalando's main shop app. During this employment I contributed to the development of both the app, which is implemented in Objective-C and Swift, and the Java API.

IOS Developer Freelance
February 2014 - October 2015

Worked on a iPhone/iPad project for a client 'The Housepack App' which displays house and area info for new house owners and also released some of my own minor app projects.

C++ Tools Programming - Animation Viewer
October 2013 - February 2014

I created the animation viewer tool for my own personal interest using C++. The application is designed to load production-quality FBX files along with associated materials and diffuse textures. For more information please see the link below:

C++ Tools Programmer - Blitz Games Studios Ltd
April 2012 - September 2013

Blitz Games Studios was a UK based games company renowned for the well known Dizzy games series. At Blitz I contributed to various aspects of software development until their closure in September 2013. Primarily focused on tools and game engines, I implemented usability enhancements and feature requests, bug fixes, and unit testing. In particular, I enhanced the deployment system, improving and fixing game packaging and deployment, which was supported for multiple platforms.

Notable achievements include optimising mesh and animation processes, and transitioning from internal mesh formats to FBX loading and improving mesh asset batching. I played a primary role in developing an art visualiser application for Autodesk which facilitated 3D model export and viewing across PCs and iPads via cloud storage. Additionally, I rewrote the model viewer application in collaboration with users, introducing a new user-friendly GUI for previewing art assets within the game engine.

Co-Founder and SDK programmer Uplivion Technologies GMbH
February 2011 – April 2012

As a founding member of Uplivion, a Berlin based start-up company, I contributed to the development of our C++ API aimed at enabling seamless integration of C++ games into web browsers. My contributions included writing engine bindings for platforms like the Havok Vision engine to enable their compatibility with web-based environments. I played a key role in developing diverse components of our SDK such as a robust multithreaded streaming module and an efficient HTTP package downloader.

Java Tools Programmer. Jagex Ltd
August 2007 – December 2010

Jagex is the company behind the innovative and hugely successful browser based MMORPG Runescape. The company used its own heavily optimised proprietary Java libraries to enable MMO gameplay directly within web browsers years ahead of its competitors. My responsibilities included feature implementation and ensuring stability and user-friendliness across various software tools developed in-house and tailored for Jagex's art, design, and animation teams.

Key projects included maintaining and improving their mesh editor, character editor, and texture editor, each of which enabled users to manipulate their art assets as well as procedural animation and procedural texturing. Collaborating closely with end-users, I added many features to enhance functionality and usability of these tools and worked closely with users to greatly improve the stability of the in-house software.

C++ Tools Programmer. Reflections (Ubisoft) Ltd.
Sept 2005 - Sept 2006

Reflections was originally famous for the Driver series of video games and was later acquired by Ubisoft. I was employed by Reflections for an internship during my programming degree as a member of their tools team and I also returned during subsequent university breaks. During this time I focused on improving and maintaining a diverse range of their in-house tools.

Research Coordinator. Experian Ltd.
Sept 2000 - Aug 2003

Prior to returning to university in September 2003, I worked for the data collection company Experian. I managed the monitoring of new retail developments in the UK and Ireland, liaising with developers to obtain opening dates, floor plans, and survey permissions and also ensured that our surveyors had access to this information. Additionally, I supervised and coordinated the efforts of two team members, devising procedures to update and maintain a new national database of public house ownership information. I also tracked changes in the retail industry, such as mergers and takeovers, through online research and trade publications, producing a regular newsletter for my department and several senior managers.

Goethe-Zertifikat C1 from the Goethe-Institut Germany

I attended classes at the Goethe Institut in Berlin late 2021 and first half of 2022. Following a significant amount of self study I successfully passed the C1 exam in 2023 on my first attempt.

BSc Visualisation from Teesside University.
Grade: First Class Honours.

Specialising in 3D graphics, simulation, AI, collision/games physics and procedural content generation.

BSc Geography from Plymouth University.
Grade: Upper Second Class Honours.
1997 - 2000

Specialising in water systems, erosion, spatial vegetation analysis and statistics. Also marco and micro population analysis and geographical history.

Contact me

Connect with me on LinkedIn or check out my GitHub profile using the buttons below: