Craig Anderson — CV

I’m a back end web developer with over 17 years of experience looking for my first contracting role. I’m interested in contracting as it should, in time, give me the freedom to move as my partner’s academic career demands. I’m a strong proponent for test-driven development, and am motivated by work for social good.

Contact Details

I'm contactable via email or via other methods listed on my web site.

Skills Summary

  • Django
  • Django Rest Framework
  • Celery
  • Docker and Docker Compose
  • Flask
  • Python

Work History

Senior Back End Developer, Ten Group (Feb ‘17–Jan ‘18)

As part of a team of senior developers, established a platform to replace an existing prototype. The new platform is implemented using Django Rest Framework, Docker Compose, PostgreSQL and Celery.

Technical lead on the Ten platform's travel component, a web site which integrates with a number of services to book flights, hotels, and car hire.

Also led development of the platform's integration with Ten's internal CRM platform using SOAP and a custom XML API.

Tech Team Lead, Ubiquity Press (Oct ‘16–Feb ‘17)

Responsible for setting the technical direction of the company whilst maintaining a suite of Django- and PHP-based legacy applications.

Senior Web Developer, Squareweave (Dec ‘15–Oct ‘16)

Technical lead on ehHAT, a survey implemented in Django and MySQL using test-driven development techniques in a Docker-powered development environment. ehHAT is used by mental health clinicians to interview young people before their counselling session. In this project I:

  • Led back end development;
  • Coordinated with project stakeholders; and
  • Participated in user experience testing sessions.

Worked developing and maintaining HAPI, a system used by headspace (the Australian national youth mental health foundation) to collect and analyse information from young people. This project made use of Vagrant to maintain development environments.

Back End and API Custom Services Development Team Lead, Australian Broadcasting Corporation (Jul ‘15–Dec ‘15)

Managed a geographically diverse team of developers through an organisational restructure.

Ran an audit of systems across the ABC and worked with stakeholders to rationalise systems.

Senior Web Developer, Australian Broadcasting Corporation (Sep ‘11–Jun ‘15)

Technical lead on Club3, a social network for 8– to 12–year olds. Club3 was written in PHP using the Symfony framework, backed by MySQL and SQLite databases. As part of my work on Club3, I:

  • Coordinated migration of Club3 onto Amazon Web Services for production and Vagrant for development;
  • Led development of ABC3 RAWR, a user-generated video platform built on top of Club3 which was nominated for a Webby award. Video uploaded to this platform is now broadcast on ABC31; and
  • Developed the Club3 game scoring API, and coordinated with game developers to improve the game scoring API and its documentation.
  • Developed a video transcoding microservice to manage interaction with Zencoder in Flask (a Python microframework) with a DynamoDB NoSQL database.

Provided technical leadership and advice to producers, managers and developers in the ABC Kids team.

Senior Web Developer, SitePoint Group (Jan ‘07–Sep ‘11)

Worked in the development teams of 99designs, Learnable and SitePoint.

Worked on custom PHP applications for government and corporate clients.

Provided technical mentoring to other developers within the company, specifically on JavaScript development and application architecture.

Technical Editor, SitePoint Group (Jun ‘05–Dec ‘06)

Edited books for technical correctness and adherence to best practices on subjects such as ASP.NET development, server administration, AJAX, web design and CSS.

Analyst Programmer, Infosys (Jan 2000–Jun ‘05)

Architected an asset management system for City West Water for development offshore. Liaised extensively with a development team in India.

Assisted with the development of a tram scheduling system which utilised a genetic algorithm to produce the most efficient schedule possible.

Personal Projects is a simple web site for converting Unix timestamps into human-readable dates. Originally written in PHP and hosted on AWS, the site now uses the Flask framework, and Travis CI and Heroku for constant deployment. The rewrite employed test-driven development practices. The source code is available on GitHub.

Open Footy Data

Open Footy Data is an API built using the Django REST Framework intended to become part of a footy tipping2 web app. The source code is available on GitHub.


Bachelor of Applied Science (Computer Science), RMIT University (1997–1999)

Graduated with Distinction.

Used languages such as Java, C, C++ and Ada.

  1. The ABC have since re-branded ABC3 as ABC ME, and ABC3 RAWR as ABC ME Your Films. 

  2. “Footy Tipping” is popular in many Australian social groups. It’s a competition conducted over a football season where each competitor attempts to guess (or “tip”) the winner of each week’s matches. Scores are updated weekly, and the winner is the person who tipped the most correct matches during the season. There’s usually a small cash prize involved, but gambling isn’t the main motivation.