Damien Whitten

API Developer and Leader

I have skills in a wide variety of technical methodologies, languages, tools and leadership techniques, bringing Agility and transforming communication everywhere I work.

Clear communication of complex ideas, both deep and wide, puts me in a great position for a combination of leadership, mentoring and hands-on coding. In successful projects, I have been all three, generally focusing on coding in the API / back end, and training newer developers and graduates to implement user interfaces in web technologies.

I have worked with and implemented a number of different Agile approaches, usually based in Kanban, taking elements from Scrum, always retaining agility in both the product and the methodology.

With a passion for solving problems, I am constantly looking for new solutions to real world problems in software, bringing my history of success and stability to teams I work with.

Career Overview

Time Company Role
Jan 2018 > Present Seek Ltd. Senior Backend Developer
Feb 2016 > Jan 2018 Third Party Trade Lead Developer, Order Management System
Oct 2015 > Feb 2016 Lynx IT API Lead, DevOps, Keno Project
Mar 2012 > Mar 2016 Rebase Pty Ltd Software Consultant
Jan 2012 > Aug 2012 HealthKit Ltd CTO, DevOps
Apr 2011 > Dec 2011 World Vision Australia Front End Lead
Feb 2011 > Apr 2011 Urban Intelligence Integration & Field Programmer
Jul 2009 > Feb 2011 Lightmoves Project Support & Programmer

Expertise

Methodologies

  • Agile, SCRUM, Kanban, Lean
  • Continuous Integration
  • Test Driven Development
  • Behaviour Driven Development
  • API design and development
  • Microservices, SOA

Platforms & Tools

  • Make, Grunt, NPM, Bash
  • PostgreSQL, MySQL
  • Linux (Debian, CoreOS, Arch)
  • Amazon Web Services
    • EC2
    • ECS/ECR
    • S3
    • RDS
    • Dynamo
    • SQS
    • SNS
    • SES
    • CloudFront
    • CloudFormation
    • Beanstalk
    • Lambda
  • Docker, Kubernetes, Vagrant, Ansible

Languages & Technologies

  • Go(lang)
  • JavaScript, ECMA6, Node.js
  • CSS, Less
  • HTML5
  • React.js, Redux

Project & Work Experience

Third Party Trade | Lead Developer

Dates: March 2016 - Jan 2018

Project Overview

Third Party Trade is an API-First online securities brokerage. As lead developer, I built a quality, modern API, aggregating various 'industry standard' (read: legacy) systems into a single, radically simplified interface.

Technology

  • Go
  • Kubernetes
  • React.js
  • AWS

Outcomes

Customers of Third Party Trade are able to add financial trading functionality to their applications in a matter of weeks, using the services we have developed:

  • FIX Gateway
  • Order Management System
  • Account transaction system / balance management

Keno iOS API | API Lead / Devops

Client: Tabcorp Limited, through LynxIT Dates: October 2015 - March 2016

Project Overview

I was brought on to Tabcorp’s Keno project to design and code API’s that would support new gaming platforms.

The unique requirements of the project required innovative solutions to meet emerging standards within the highly regulated gaming industry.

Examples of innovative approaches to meet project requirements included:

  • Nationwide event synchronisation without web sockets
  • Creating micro-services to support multi-jurisdictional regulatory requirements
  • Content negotiation using a modified HATEOAS standard for future-proofed backwards compatibility

In addition to this new API providing extend functionality and improved reliability, it had to remain backwards-compatible with the existing website.

Devops

A key part of my role at Tabcorp is to design, build and maintain the development and production environments, across multiple platforms.

Regulatory constraints necessitated the use of different platforms for different aspects of the project, using both AWS and various Private Regulated Networks.

I was responsible for building a continuous delivery pipeline, designing and delivering Git workflows, as well as implementing automated testing.

Technologies

  • Node.js and GoLang
  • AWS
  • Ansible
  • Docker
  • GoCD and Travis CI

Outcomes

  • Full Continuous delivery system using GoCD and Docker
  • A series of micro-service APIs handling live draw information, placing bets and retrieving results for Keno gameplay
  • Docker as a deployment tool in the wider Tab Digital team, and provided guidance for a gradual roll-out across various tab projects.
  • Regulatory approval for new ‘baseline’ gaming components.

Energy Portals | Tech Team Lead

Client: Smart Matter Pty Ltd, through Rebase Pty Ltd Dates: October 2014 – October 2015

Project Overview

Smart Matter (formerly Greenbox) are an ‘Internet of Things’ energy and resource management company who build intelligence gathering hardware and software which can be installed in homes and businesses to manage and optimise energy usage. Smart Matter specialise in Solar Systems, and provide end-user web portals for energy retailers.

I was contracted by Smart Matter to build all front-end components of customer portals, working with styling and designs from agencies, and building APIs to import data from Smart Matter hardware and databases.

Outside of developing software, I was contracted to formalise the team’s Agile process, and implemented a ScrumBan-like approach with rotating scrum masters, daily stand-ups, and fortnightly iterations. Most importantly, this process had a positive impact on our customer relationships and improved developer morale.

Some of the Portals I have developed include:

  • AGL Home Solar, AGL Onsite Installer provisioning app
  • ‘Flow’ community Water & Energy billing and management portal
  • Generic Solar and Energy Usage portals.

Technologies

  • Grunt, Bower, NPM
  • CoffeeScript, LessCSS
  • require.js, moment.js, backbone.js, underscore.js

Outcomes

All portals are in active use by tens of thousands of end clients each day

Based on the success of this work, Smart Matter have been contracted to develop customised energy management portals and applications for several other large customers.

GU-API | Back End Dev

Client: Smart Matter Pty Ltd (Formerly Greenbox Group), through Rebase Pty Ltd Dates: October 2014 – Present

Project Overview

The GU-API project was an initiative to correct many learned challenges and issues that arose during my time developing end-user portals for Greenbox. Working with the AGL web team, the API also enabled external agencies to implement portals inside existing web frameworks. Some of the challenges addressed through development of this API included: Hard coded dependencies between back and front end systems PHP scalability issues

Technologies

  • Google ProtoBuff
  • GoLang
  • ZeroMQ
  • Debian 7 & 8

Outcomes

Separation of application components Basic scaffolding between components to allow independent innovation Defined boundaries, allowing end to end tests of discrete components. Introduced Behaviour Driven Development Implemented Git (Gitolite) and Continuous Integration (Docker) servers

ReferralNet Claims 2 | Java Dev

Client: Global Health Inc Dates: December 2014

Project Overview

Global Health had been searching the market for a solution to simplify and update their Medicare and medical billing software. Global Health approached me to assist with challenges including:

  • Consolidation of multiple existing systems
  • An unmanageable Delphi code base
  • Updating an out-of-date Medicare client adaptor

Technologies

  • Java6 and Java8
  • C#.NET DLL

Outcomes

An ‘ideal’ API structure for Medicare Client Adaptor calls, build into a discrete application implementing the API which could handle all Medicare integration, and pass all Medicare Notice of Integration testing

A translation adaptor for the existing legacy applications so that no code changes would be required

Plan for future development to transition to the new API structure.

SchKit CRM/ERP | Back End Development

Client: Rebase Pty Ltd, Point of View Ltd, CI Asia Pty Ltd, Dates: 2013 - Present

Project Overview

SchKit is a scalable and customisable data platform I developed within my own business to support the needs of multiple clients. Currently, SchKit is deployed as the base for several medium enterprise customers CRM/ERP and project tracking platforms.

SchKit supports:

  • An Iterative and agile approach to data design
  • Parallel synchronised data structures
  • Immediate response to changing requirements
  • Stable product for routine use

Technologies

  • GoLang
  • PostgreSQL
  • Javascript (TypeScript and CoffeeScript)
  • LessCSS and Bootstrap
  • Grunt, Bower, NPM
  • require.js, moment.js, react.js, jQuery
  • Debian 8, Ansible, Docker

Claiming.com.au | Back End Dev

Client: Sapient Pty Ltd Dates: 2013 - Present

Project Overview

I was approached by Cutting Edge software to redevelop their Medical Practice Management software using modern technologies and techniques.

This project required integration with the technically outdated and under supported Medicare Australia Client Adaptor.

Forming a partnership between my own company (Rebase) and Cutting Edge, we crafted a business model that developed a public API to address the various limitations with the Medicare Client Adaptor.

Claiming.com.au’s API makes medical billing integration easy for developers and businesses. The API:

  • Removes requirements for developers to use Java6, 32 bit (or any other dependencies)
  • Allows for parallel key usage
  • Provides documentation of validation rules
  • Correctly processes validation rules
  • Has a consistent structure across all claim and report types
  • Supports asynchronous, idempotent report fetching (with call-back URLs and ‘changed since’ queries)
  • Provides primary keys to track each claim.

The API has been used to submit over 350,000 Medicare claims since 2013.

Technologies

  • GoLang
  • Java6
  • MySQL
  • Debian 8, Ansible, Nginx

NLX | Lighting Control Application

Client: BB3 Systems Ltd, State Library of Victoria, National Library of Australia, ACT Dates: 2012 – Present

Project Overview

NLX is a hardware and software project that adds rich functionality, and an easy to use interface to the Philips ‘Dynalite’ lighting control system.

As the predominant energy management and building control interface in Australia, the NLX system and interface has been used in a variety of applications; from controlling lighting levels in art galleries, to switching for home entertainment and HVAC systems.

NLX:

  • Links Dynalite RS485 network to a modern web application through web-sockets.
  • Allows complex back end logic to control lighting and automation systems, without breaking the distributed intelligence advantages for daily use

Technologies

  • Node.JS
  • Dynalite DyNet (assembly variant)
  • Hardware (SBC – Raspberry Pi, RS485, RS232)
  • iOS Web App – JavaScript, CSS, HTML

Commtrack ERP | Full Stack Dev

Client: Lightmoves Pty Ltd Dates: v1 2009, v2 2014

Project Overview

Lightmoves are a specialist lighting design, control and installation company, specialising in complex ‘Dynalite’ products. The company was looking for a software solution to track customer quotes, proposals and projects by consolidating various computer based and off system processes.

The solution was a fully customised, hosted CRM and ERP application, based on open-source libraries and languages.

Technologies

  • Symfony2 (PHP5)
  • MySQL
  • Pronto Accounting ODBC Drivers
  • VisualBasic for Applications (VBA)
  • Microsoft IIS and LDAP servers
  • mDaemon Email Server

HealthKit Practice Management Software | Full Stack Dev

Client: SpecialistLink Dates: January - October 2012

Project Overview

SpecialistLink is an Australian based cloud provider of Health Practice management software, automating and streamlining the entire Healthcare value chain. SpecialistLink’s ‘HealthKit’ application provides diary management, secure patient record storage, online payments processing, and health-fund claim processing.

Leading a small team, my role was to transform and rebuild SpecialistLink’s existing application into a global offering that could meet the needs of practitioners around the world.

Technologies

  • Symfony2 (PHP5)
  • MySQL
  • Web
  • Debian, Apache2

Outcomes

Introduced the Scrum-Agile project management methodology, combined with Jira and Greenhopper software. The new project management methodology increased productivity on the project by highlighting bottlenecks in the work-flow.

Developed a secure software platform that processed Medicare claims, provided complete medical practice management functionalities and was readily scalable and adaptable to be launched in any global market

This involved the design of a flexible data model which allowed users of the system to customise the application to work with their regionalised requirements

World Vision Australia Website | SiteFinity Developer & Standards Development

Client: World Vision Inc Dates: April - December 2011

Project Overview

World Vision's digital team pride itself on being a cost effective marketing channel for the charity, measuring its success on donation rates and child sponsorships through the website. Part of the in house web development team, I was responsible for all front-end JavaScript and assisting with .NET API development and integration.

Technologies

  • C#, .NET
  • SiteFinity CMS
  • HTML, Javascript, CSS

Outcomes

Web Standards Development:

Responding to a lack of clearly defined development standards in the team, I worked with management to design a ‘best practices’ framework that covered design, development, testing, deployment and content management.

Redeveloped a number of web sites, including:

  • Child Sponsorship search tool
  • New home page
  • Rebrand
  • Letter Translator tool