Personal Details

Professional Profile

  • I am a hardworking individual with a passion and dedication for programming , making games and tinkering with technology currently working at Codeplay Software.

    I completed a Bsc in Games Development at Edinburgh Napier University achieving a First Class Honours and obtaining the University Class Medal.

    I have most recently finished an MSc course at the University of Edinburgh in the field of Pervasive Parallelism funded by the EPSRC. My thesis was titled "Parallel Relationship Decriptors for Real-time Motion Adaptation".

Work Experience

  • April 2016 - Present

    Software Engineer

    Codeplay Software, Full-Time


    I am currently working as a Runtime Engineer on the ComputeAorta project at Codeplay Software

  • January 2016 - April 2016

    Lab Associate

    Disney Research Edinburgh, Full-Time


    I worked at Disney Research Edinburgh under supervision of Senior Research Scientist Kenny Mitchell.

    • Primarily using WebGL and Javascript to create cross-platform prototypes for presentation to other Business Units within Disney.
  • May 2014 - August 2014

    Mission Scripter

    Rockstar North, Full-Time


    Scripting missions and systems as part of the Level Design team.

    • Worked as part of the Level Design team on products produced by Rockstar North.
    • Primarily used RAGE Script to add functionality to existing systems, create missions and create new systems.
  • January 2014 - April 2014

    Assistant Demonstrator (Games Engineering)

    Edinburgh Napier University, Part-Time


    Helped to teach the Games Engineering practicals for the School of Computing.

    • Involved teaching the use of C++ and Irrlicht for building a game engine as well as general game design techniques.
    • Provided assistance to students in class to increase their understanding of the subject and helped with any problems that arose.
  • August 2013 - November 2013

    Student Intern

    Pufferfish Displays, Part-Time


    Created applications for Pufferfish’s Puffersphere device. Applications were developed using Unity3D. The Puffersphere is a spherical projector device. One such application used the Flickr API to take a group of images from the website that were in equirectangular format and then stretched them across the sphere allowing the user to swipe between them.

  • September 2013 - December 2013

    Assistant Demonstrator (Graphics Programming)

    Edinburgh Napier University, Part-Time


    Helped to teach the Introduction to Graphics Programming module practicals for the School of Computing.

    • Involved teaching use of C++, OpenGL and GLSL, primarily using Visual Studio 2012 to create a 3D rendering engine and shader effects.
    • Provided assistance to students in class to increase their understanding of the subject and helped with any problems that arose.
  • July 2013 - September 2013

    Student Intern (Data Visualisation)

    Edinburgh Napier University, Part-Time


    Produced data visualisations for the Institute for Informatics and Digital Innovation (IIDI) displaying lecturer’s information and their published works as well as other associated information. This can be viewed on the IIDI website.

    • The visualisation was created primarily using HTML, JavaScript and D3 with SQL and PHP for server side data management.
  • January 2013 - May 2013

    Assistant Demonstrator (Database Systems)

    Edinburgh Napier University, Part-Time


    Helped to teach the Database Systems module for the School of Computing with Brian Davison.

    • Primary practical topics covered were SQL and Oracle DB as well as SQL Developer.

Technical Skills

  • Programming Languages C, C++, C#, Java, Javascript and small amounts of HTML and PHP. Shader writing in HLSL and GLSL. Knowledge of SQL.
  • APIs and Libraries Working knowledge of OpenGL, OpenCL, GLM, DirectX, and D3.
  • Parallel Computing Familiar with parallel computing technologies, particularly OpenMP, MPI, DirectCompute, OpenCL and Geometry Shaders (HLSL/GLSL) and C++11 threads.
  • Version Control Working knowledge of GIT and P4 for versioning software.
  • Tools Knowledge of OracleDB and MySQL for database management. Unity3D, Visual Studio and Eclipse for applications developement.
  • Software Engineering Concepts Object Oriented Design, Software Design Patterns, Human Computer Interaction, Multithreaded Computer Models.

Education

  • 2014 - 2015

    MSc. Pervasive Parallelism

    Edinburgh University


    Studied Pervasive Parallelism on a MSc course supervised by Taku Komura and funded by EPSRC. My thesis project is titled "Parallel Relationship Descriptors for Real-time Motion Adaptation". My primary focus was on optimising a method for motion retargetting so that it can be performed in real-time. This project made use of C++, OpenGL and OpenCL with the technique being optimised for GPGPU. My work during this time was published as part of a paper in Motion in Games 2015.

  • 2010 - 2014

    BSc. Honours Games Engineering

    Edinburgh Napier University


    Studied Games Engineering at Edinburgh Napier University. Achieved first class honours, Lawrence Ho award and Univeristy Class Medal

    Modules

    • Personal Project - (C++, DirectX and HLSL)
    • Group Project - (Unity3D and C#)
    • Software Development 2 and 3 - (C#)
    • Introduction to Graphics Programming - (C++ and OpenGL)
    • Games Engineering – (C++ and Irrlicht)
    • Softare Engineering - (JAVA)
    • Fundamentals of Parallel Systems - (Groovy)
    • Software Engineering Methods
    • Database Systems - (Oracle DB and MySQL)
    • Algorithms and Data Structures
  • 2007 - 2010

    Ross High School

    Scottish Highers


    • English - A
    • Computing - B
    • Maths - B
    • Physics - B
    • Drama - B
    • Chemistry - C

Certificates and Awards


    • Duke of Edinburgh Award - Silver
    • 2013 Baillie Gifford Prize for Computing
    • University Class Medal
    • Lawrence Ho Award
    • The Future of Storytelling - Fachhochschule Potsdam, iVersity.org, 2013

Publications

Print CV Download CV