Software Engineer – June 2018 to present
I am currently working at Optalysys, involved in research and development into optical computing. I primarily use C/C++ in a Linux environment when working on the core software. I also created and maintain a Python plugin to make our software easier to use.
ADI (Advanced Digital Innovation)
Senior Software Engineer (Server) – June 2016 to June 2018
Senior Software Engineer – Aug 2011 to May 2016
This role involved developing real-time virtual training environments for radiotherapy (cancer treatment). Programming was mainly done in C++, using OpenGL for graphics. A full installation would allow learners to work with a life-size simulation of a treatment room, using real clinical data to visualise patients and their internal organs in 3d.
For full details, see my Vertual portfolio page.
Bonus factoid: I also narrated some of Vertual’s promotional videos.
Technical Consultant – Oct 2010 to Aug 2011
Part-time role providing technical guidance, programming, and voice acting for a small startup project. We developed a prototype for an interactive graphic novel to pitch to potential investors. The main project was coded in ActionScript, but I was also responsible for designing and implementing a WYSIWYG editor in C#.
I provided most of the voice acting for the prototype as well, but the less said about that the better…
Mobile Games Developer – Aug to Nov 2010
I developed a small iOS game called Octapool on a freelance basis. It was used as a marketing tool to promote the 8-sided pool tables produced by Aarcee Ltd. This project began as a feasibility study through SCET (see below), but I was subsequently contracted independently to complete development and take it onto the app store. I was using Objective-C and the Cocos2d engine.
Scottish Centre for Enabling Technologies
Consultant Senior Technologist – multiple short-term projects between 2008 and 2010
I worked on 3 feasibility studies on a consultancy basis. The first was an investigation into using an ordinary webcam as a control method for computer games. It was coded primarily in C++ with DirectX, and I developed a few algorithms for tracking coloured items around a scene. The second was looking at developing a mobile game as a marketing tool for Aarcee Ltd, which is a project I later completed on a freelance basis. Lastly, the third project was looking at integrating the Second Life virtual world with a school’s education system.
University of the West of Scotland / University of Paisley
Research Assistant – various full-time and part-time contracts, 2008 to 2011
I was mainly involved in work relating to immersive virtual worlds and e-learning. This included being the Lead Developer of the open source SLOODLE project for a year, which required extensive programming in PHP and LSL, along with MySQL. It also involved coordinating with a worldwide community, and helping to plan the implementation of a complex integration of different systems.
I also provided technical expertise for a multi-institution research project working in a similar field.
Associate/Guest Lecturer – various ad hoc contracts, 2009 to 2011
I delivered occasional lectures or provided classroom support for the Computer Games Technology degree programme. The main topics I covered were physics and graphics.
I also provided one-off training and/or induction sessions for research students and supervisors on an ad hoc basis. Topics I covered include Transfer Event Preparation, Progression Issues/Reporting, and the Student/Supervisor Relationship.
Lab Tutor – various part-time contracts, 2006 – 2011
I assisted with supervision of various lab sessions for undergraduate students. The main topics were Interactive Physical Modelling, and Computing Systems. I also provided general support for students on any computing-related course.
Developer – June to Aug 2007
I was hired to establish the university’s presence in Second Life, along with a designing and implementing an accompanying website. Coding was done in PHP and LSL, along with MySQL.