Workspace is a powerful, cross-platform scientific workflow framework that enables collaboration and software reuse. It streamlines the path from research to impact.
I’ve been a senior member of the Workspace development team since 2009, contributing not only to the codebase but to its design and strategic direction.
I designed and developed the framework’s 3D (and 2D) visualisation capabilities as well as many aspects of the core UI.
Mixed Reality Labresearch.csiro.au/workspace/mrl
The Mixed Reality Lab at CSIRO’s Data61 will enable manufacturing and other industries to create ‘Digital Twins’, or virtual replicas of physical objects and systems.
Data61’s Mixed Reality Lab is a unique combination of Data61’s research expertise across machine learning, computer vision, computational modelling, IoT, and CSIRO’s patented Stereo Depth Fusion technology for depth estimation.
As a senior engineer on the project, one of my responsibilities is creating solutions for visualising the huge datasets produced by the sensor suite.
Fractura is a hydraulic fracture simulation toolkit taking 20 years of CSIRO hydraulic fracture expertise out of the lab and into user friendly software.
My role in the development of Fractura has been to lead the team of software engineers to develop its UI and application layer alongside the expert research team that develop the sophisticated numerical fracture models.
A wildfire simulation toolkit for researchers and experts in the disaster resilience field.
Spark is a toolkit for the end-to-end processing, simulation and analysis of wildfires. Users can design custom fire propagation models by building on Spark’s GPU-based computational fire propagation solver and incorporating various input, processing and visualisation components, each tailored for wildfire modelling.
As lead software engineer on the Spark development team up until until 2015, my primary role was to design and develop the application and UI layers alongside the amazing research team developing the highly-flexible bushfire solver and utility suite.
A lightweight Python module that allows Workspace workflows to be executed from within Python code. Each Workspace workflow runs as an independent child process; an instance of the workspace-web executable. The python module binds to the Workspace C-API which it uses to interact with the running processes.
Senior / Principal Software Engineer
2015 - Present
CSIRO, Australia’s national science agency, has been solving the nation’s greatest challenges with solutions from science for over 100 years. CSIRO’s data and digital specialist data sciences arm, Data61, is at the forefront of data and digital in solving our greatest data-driven challenges today.
CSIRO’s Analytics & Decision Sciences (A&DS) program use machine learning, data analytics, optimisation and computational modelling to develop decision support technology in a wide range of application domains, such as natural hazards and infrastructure, comminution, human performance and industrial transformation. I have two primary roles in the program: a senior technical lead for the program’s publicly available, cross-platform scientific application development framework, Workspace; and leader of the program’s Industrial Transformation initiative. My key achievements include:
- Visualisation lead on the program’s largest commercial project, iteratively delivered over several years to a large manufacturing company in the US. My responsibilities include requirements gathering, designing and implementing solutions (C++ / Qt / OpenGL / HDF5) to handle the enormous point-cloud datasets generated by our distributed sensor fusion platform. This requires providing regular on-site support at customer sites in the US. Our local lab was opened publicly in 2019 to generate opportunities with local industrial organisations.
- Lead engineer on the Workspace-based Fractura project, a modelling platform for Hydraulic Fracturing research. I am responsible for defining the technical architecture of the project, leading interactions with the client, implementing major architectural features (C++ / Qt / SQL) and managing a team of developers.
- Leader of the Industrial Transformation initiative in the A&DS program, with responsibility for strategic leadership of the research agenda, engaging externally to generate interest, and ensuring staff are collectively pursuing revenue earning opportunities, exceeding the Initiative’s external earnings target.
- Presenting Workspace solutions at multiple conferences and customer sites globally, in many cases running interactive customer workshops. These engagements frequently result in new third-party projects such as Heliosim, GrainScan and SpotSizer.
2009 - 2015
CSIRO's Computational Modelling & Simulation Group uses world leading techniques and technologies to model real world situations such as natural disasters, industrial processes, human motion and much more.
Prior to becoming a senior engineer, I was working within the Computational Modelling & Simulation group as a software engineer specialising in 3D rendering and visualisation. My key achievements during this period were:
- Lead designer and developer of the 3D rendering engine deployed in Workspace. Built using C++, OpenGL and Qt, it is core to much of the software published by the group. Features include a pluggable shader architecture, volume rendering, and huge (100 million+ points) point cloud visualisation.
- Lead software engineer on the Workspace-based Spark and Swift projects, working with researchers in the Natural Hazards team in the development of their state-of-the-art fire and flood modelling platforms. I ran successful requirements gathering and user training workshops with their first customers, helping the team to grow into a large, successful research group in its own right.
- Initiated and led many Workspace-based projects with research and commercial customers around Australia, taking responsibility for product design, planning and delivery.
2007 - 2009
Accenture's Technology Consultants work on the cutting edge of the technology ecosystem while helping to transform companies across industries through digital innovation.
Accenture is a large, multinational consulting firm that develops solutions for large enterprise companies. I worked with a small team of software developers to build a web-based product configuration application, which was used to capture, format and push the customer’s product data to multiple downstream applications. Key achievements include:
- Successful design, development and delivery of a complex .NET based web application (C#, VB, ASP.NET, WCF), the key features of which were complex version control, release management and a flexible product designer sandbox.
- Developed a C# / COM application to read existing product models and render them as high-level designs in Microsoft Visio documents.
- Successfully ran requirements gathering and design workshops with both internal and external stakeholders.
BAppSc Software Engineering
2003 - 2007
RMIT is ranked as one of the world’s leading universities with a strong research record and state-of-the-art facilities and infrastructure.
While studying Software Engineering at RMIT, my studies included programming in various languages (C, C++, Java, .NET), Data Structures and Algorithms, Design Patterns, Operating Systems and Data Comms and Networks. My degree included a 1 year industry internship and a final-year software development project with an industry partner.
I was the 2006 recipient of the Infosys Industry Prize for outstanding results in the Bachelor of Applied Science (Software Engineering) program.
Languages & Tools
I am highly proficient with C++ (11/14), Qt5 and OpenGL with over 10 years of experience developing cross-platform 3D visualisation applications. Extensive experience developing multi-threaded applications with the Qt Toolkit and CMake. My proficiency with the various languages, frameworks and tools I have been exposed to are summarised below.
Languages & Frameworks
I have outstanding written and verbal communication skills, with experience presenting to large groups. My experience running user and customer workshops is extensive and I have years of experience leading software development teams.
A Little More About Me
In my spare programming time, I read books about 3D programming, work on small side-projects to help me learn technologies like WebGL and OpenGL 4, and I like to tinker away on my RetroPie (built using a Raspberry Pi 3 B+). Outside of tech, I enjoy rock climbing, am learning to play the piano and compose electronic music of questionable quality.