DreamWorks Animation

Tech Lead, Senior Software Engineer, Remote Contractor

July 2007 - Present

During my time at DreamWorks, I have worked in R&D for Animation and Rigging tools. We had the opportunity to rewrite our animation tool, Premo, from the ground up. This software was recognized with an Academy Award in 2018. After completing Premo, we have been rewriting our rigging tools to be as lauded as Premo. I was given the opportunity to be the tech lead of this project. More recently I have returned to my home of Sydney where I continue to contribute to the leadership of the project remotely.

Given my desire for deep context, much of my contribution to these projects has been to dive deep into the customers requests searching for better ways to work. As we collaboratively explore the problem domain, we develop new and exciting approaches that are both satisfying to the user and enable elegant engineering solutions. This collaboration crosses many departments including Animation, Rigging, Layout and Pipeline.

Other than working with users, my contribution has focused on application architecture. Both of these projects are large scale Digital Content Creation (DCC) applications. Thus, this architecture is critical to achieve stable, maintainable and extendable infrastructure to handle the myriad of powerful features required. The architecture includes everything from our application plugin model, data model, command system, notifications, multi-threading, extensibility, and more.

Beyond this daily work, I have also had the privilege of presenting at and reviewing submissions for industry conferences, as well as protecting IP with patents.

  • Tech Lead of Next Generation Rigging software
  • Rewrote our dependency graph architecture for both evaluation and authoring representations
  • Architected DCC frameworks
  • Reworked our deformation system for performance gains - including SIMD and multithreaded
  • Refactored existing libraries and technologies to be more stable, maintainable and testable
  • Developed coding standards and best practices, test driven development, continuous integration

Team Bondi


April 2004 - July 2007

Team Bondi is famous for writing a Playstation 3 game called L.A. Noire. During my time at Team Bondi, I learned a great deal about the game development process. I also had the opportunity to develop my programming skills immensely. Both the game and the associated tools were written in C++.

My specific areas of development at Team Bondi include:

  • Developing aspects of the Actor and Character systems including writing Playstation SPU code for skinning geometry to bones
  • Developing the majority of our Maya workflow tools - including integration with Perforce
  • Modifying and contributing to the open source COLLADA format and exporter for Maya

The skills I have acquired at Team Bondi include:

  • Maya API, MEL, exporters, importers, mesh generation, animation tools etc
  • Software: MS Visual Studio, Perforce, Jira
  • Understanding the technical difficulties and challenges in designing and writing console game
  • Understanding the workflow in a gaming company

University of Technology, Sydney


2004 part-time

In 2004 I was asked by a senior lecturer at the University of Technology, Sydney, to tutor the subject Strategic Information Technology Planning Project. This subject deals with the issues involved in strategic level analysis and design in a corporate wide information systems environment.

  • Tutoring a number of small teams
  • Leadership of those teams
  • Evaluating various different solutions to a problem and discerning advantages and disadvantages of each
  • Conferencing with other lecturers and tutors

Digital Pictures

Research and Development

2001 - 2004

Digital Pictures, which was purchased by The Lab in 2005, was a well-known digital effects company in Sydney at the time. They provided top of the range 3D animation, visual FX and other postproduction services for Film and TVCs. Working for Digital Pictures I had a steep learning curve. As research and development, I was challenged to find new and efficient ways to work, develop solutions for the 3D team, compositors, facilities and management.

I worked in a small team developing scripts and plugins for Maya, Shake and other visual effects software. I developed various web pages using PERL and CGI to facilitate workflow. I also learnt to work to deadlines, working closely with producers, clients, 3D artists, designers and compositors.

  • Software: Maya, Shake, XCode
  • Languages: MEL, C++, Objective-C, PERL
  • Operating Systems: UNIX, IRIX, Mac OSX, Windows
  • Research methods
  • Deeper understanding of 3D/2D computer graphics
  • Understanding of workflow in post production companies


Systems Administrator and Programmer


At the time, SITA | EQUANT was a joint venture between 2 of the biggest global telecommunication companies. The company covered over 270 countries world-wide and provided the communications infrastructure of Airlines and other major corporate networks world wide. It was a great place to work. Here I have developed my understanding of worldwide networking and also had the opportunity to develop an accounting package to facilitate the accounting department.

  • Lotus Notes Administration and Development
  • Languages: C++, VB
  • Windows NT/9X LAN Administration
  • Virtual LANs/Switches
  • Communication Protocols, Cabling, Standards


Web Development


I did some part time work for SportsDNA, a small web development company for sporting organisations. The site I developed was the Triathlon of NSW which has since been redesigned. At the time, it was developed using ASP and SQL Server.

St Andrews Cathedral School, Sydney

IT Support

1998 - 1999

Worked part time for 2 years supporting a school with over 200 PCs and Macs. Integrating both PCs and Macs onto an NT domain.

William Clarke College, Sydney

IT Consulting


I provided consulting and support to this college with over 150 Macs and a few PCs. I have helped set up their Computing Labs and advised on software and hardware to be bought to serve the purpose intended. At the time, the network was administered with Apple Remote Desktop and the user accounts were managed with Macintosh Manager.