- July 2016: Graduated from Abertay University in 2016, achieving Upper Second Class (2:1) in BScComputer Games Technology.
- October 2016: Started as Software Developer at Ultrahaptics. I spent the first few months skilling up on Unity and C# as I joined with only what I learned to do the code test.
- November 2016: Took initiative to consolidate commonly used code/assets across demos into a demo development framework which I then became the maintainer for.
- May 2017: Business trip to The Hague. First time abroad!
- June 2017: Unite 2017 in Amsterdam.
- March 2018: GDC 2018 in San Francisco. First time in the US & outside of Europe!
- November 2018: Started development of Element.
- May 2019: Ultrahaptics acquires Leap Motion.
- July 2019: Business trip to Honk Kong, Wuhan, Beijing, Tokyo, Nagoya and Osaka. First time in Asia, exciting and exhausting covering a lot of destinations in 2 weeks!
- September 2019: Ultrahaptics rebrands to Ultraleap.
- September 2019: Element adopted by Ultraleap, move to new team to focus on development of software platform for mid-air haptic devices.
- November 2019: Start of Covid-19. Scary realizing I was in Wuhan only a few months prior.
- Feburary 2020: Begin working from home. Living in Bristol city centre, the streets are eerily deserted.
- December 2020: Bought and moved into my first flat!
- March 2021: Promoted to Senior Software Engineer.
- September 2021: Ultraleap reorganizes to focus in on specific verticals. I move to the XR vertical.
Software Engineering Skills
C# - Professional experience in my 5+ years at Ultraleap using C# across Unity, .NET Core and .NET Standard projects. Definitely my most comfortable language to work with.
C++ - Professional experience in my 5+ years at Ultraleap consulting with colleagues on C++ projects. 4 years non-professional experience, all university projects written in C++11.
TypeScript - 2 months experience consulting for a project using Vue.js & Vuetify.
F# - Currently doing AoC 2021 using F# to try it out.
Other languages I've interest in picking up and trying at some point include Rust & Kotlin.
Not gaming as much as I used to but I enjoy games that involve mastering a skill or with novel mechanics - particularly a fan of music/rhythm games. Currently playing League of Legends, Genshin Impact and osu!. Eagerly awaiting Lost Ark release.
Quite a fan of anime. If you're interested, here's my AniList.
Element is an minimal embeddable functional programming language designed to be used as a data format.
RhythMIR is a content generation tool for music/rhythm games. It analyses music signals to synchronize music features with gameplay elements and estimate tempo. RhythMIR is also a rhythm game.