About
Melbourne based back-end and infrastructure specialist, team leader and indie game dev with a wealth of experience kicking goals for startups and setting a relaxed and collaborative team atmosphere.
I have over 12 years professional experience creating everything from geospatial data pipelines with Rust for LiDAR scanners mounted on autonymous drones to highly available infrastructure monitoring deployed within the NBN and real-time websocket game servers for 1,000s of concurrent players.
Employment
Forage - Engineering Manager
2022 - 2023
Forage provides virtualised work experiences from global enterprise customers that prepares job seekers for the workplace.
Team Leadership
Infrastructure
Developer Tooling
Synthesis Technologies - Senior Software Engineer
2020 - 2021
Synthesis Technologies is an Australian company specialising in geospatial processing, research, 3d scene visualistion and environmental change detection.
Project Management
- First employee and principal engineer, lead the development of a suite of PointCloud visualisation and change detection software through four successful government tenders of increasing scope, growing the team size to 11.
- Performed demonstrations of the software in the field with real time data to high ranking members of the ADF.
- Stakeholder liason including deployment planning, requirement gathering, documentation and tenders.
Software and Infrastructure
- High throughput data processing pipelines in Rust for geospatial data gathered from LiDAR scanners mounted on autonymous drones.
- Provisioned Azure Kubernetes Service clusters, PostgreSQL databases and file storage
- Created Node.js webservers with TypeScript to serve and catalogue content
- Developed a Three.js based PointCloud visualisation of environmental changes with a Vue.js front end.
EasyGo Gaming - Senior Software Engineer
2017 - 2018
EasyGo Gaming is the creator of Stake.com and Primedice.com, cryptocurrency webapps. My primary responsibilities in this role were:
- Node.js websocket game servers with 1,000s of concurrent players
- PostgreSQL database management
- Operational duties, including converting a CloudFormation setup to a Kubernetes cluster running in AWS
- Created and maintained Ethereum, Bitcoin, Litecoin payment processors
Savvi - Senior Software Engineer
2015 - 2017
Savvi is a vendor of networking software, users include NBNCo and Telstra Global.
Root Cause Ticket (RCT)
Fault detection system that combined error reports and network layouts of the NBNCo copper network and mapped them into a graph database (JanusGraph / Titan).
This service then analysed the structure of the network to identify the probable cause of network disruptions and notified repairs teams in an attempt to reduce public spending.
- Groovy JanusGraph bindings and graph traversal system
- Apache Kafka Pub/Sub event system
Network Operation Centre (NOC) Dashboard
Dashboard for use in the NBN's Network Operations Centre, filtering and prioritising which incidents the operations team should focus on.
In this project incidents were collated from a legacy system and parsed with Rust for display with a modern React.js and GraphQL single page application.
- C API Access Library
- Rust Message Parser/Converter
- Node.js API + GraphQL
- React + Redux Client
Gateway (SNPM)
Node.js gateway powering Savvi's data visualisation platform. This platform generated reports regarding the health and performance of network devices within the NBN backbone.
- Node.js API Server
- Splunk Data Store
- PhantomJS Report Generation
EDGE
Telstra's EDGE network visualisation platform.
- KDB+ Database
- Node.js API
- React.js / WebGL Client
Merge Gaming / Codeworx - Software Engineer
2011 - 2015
Brisbane based gaming company focusing on online poker and sportsbooks.
Fantasy Sports
A fantasy sports web-app designed for browsers and mobiles with a responsive layout and realtime scoring feed using websockets.
- AngularJS Client
- Vagrant VM server bundle
- Websocket connections
- Integration and unit tested with Karma
- Customised Semantic UI framework
Webclient
Created a mobile poker web-app with a three man team. I was responsible for all releases and deployments.
- Node.js Webserver
- Websocket Connections
- Coffeescript
- Browserify
- Evented XML parser for legacy system feed
- HTML5 including Audio, appcache and a custom MVC framework
Projects
Kaiju - Audio Visualisation System
Kaiju is a collection of 2D and 3D audio visualizations that uses your system audio or microphone to drive interactive effects in real time.
- Unity 3D
- WASAPI audio loopback
- Available on Steam
SpaceRace - 3D Zero-G Racing
SpaceRace is a futuristic 3D Zero-G racing game where players compete to set the best time on visually striking tracks. Inspired by precision movement games such as Surf, SpaceRace features a global leaderboard of lap times around both famous racetracks reimagined and novel circuits.
- Unity 3D
- .NET Core and Entity Framework Backend
- Available on Steam
MNML.GG - PVP Strategy Game
MNML (Minimal) is a turn-based strategy game for the web and mobile, featured at PAX Australia in 2019.
- Rust HTTP / Websocket Server
- Rust Core Game Library
- TypeScript React/Redux Client
- CBOR Messaging over Websockets
- Stripe Integration
- PostgreSQL
Education
Queensland University of Technology
Bachelor of Games and Interactive Entertainment
Graduated 2010
I was part of the inaugral cohort of this course which supplemented QUT's existing computer science structure with units specialised for the games industry, such as design and audio production.
Key Units:
- Object Oriented Programming
- Programming Abstraction
- Scientific Programming
- Agile Software Development
- Mathematics for Computer Graphics
- Systems Architecture
- Networks
- Problem Solving and Programming
- Database Systems
- Fundamentals of Games Design
- Advanced Games Design