Professional Experience

British Telecom

Senior Software Developer June 2018 - Present

  • Developed machine learning tools for detecting anomalies build on the Spark framework.

Ambiata

Team Lead January 2017 - April 2018

Senior Software Developer June 2014 - December 2016

  • Led a small team focussed on improving the customer experience around the web-facing aspects of Ambiata. This included being involved at all stages of the product lifecycle; from the initial technical architecture, user design, through to front and back end implementation.
  • Replaced a Gulp script with a general-purpose Haskell build tool for building the various web projects at Ambiata. This included supporting an in-house type-safe template language Projector, as well as compiling Sass and Purescript components.
  • Developed a number of services written in Haskell for storing metadata about the configuration and state of the Ambiata data pipeline.
  • Involved in the development of a number of Haskell tools and libraries for AWS-based service deployment and discovery.
  • A core developer on Ivory, a Hadoop-based application written in Scala optimised for storing large data to allow for efficient generation of machine-learning features.

Atlassian

Senior Software Developer Jan 2012 - June 2014

  • Senior Developer on Stash, involved with all stages of the development cycle. From feature planning, to implementation and support.
  • Git expert:

    • Ran a Git Pro Bootcamp class for new Atlassian_ employees.
    • Converted a large number of SVN repositories to Git.
    • http://blogs.atlassian.com/2012/03/git-vs-mercurial-why-git/
  • Introduced FP into various of Stash:

    • Wrote a number of Scala plugins for implementing server-side functionality.
    • Extended use of Underscore.js with a custom library.
    • Bacon.js for event handling and stream processing.
    • Training (FP and FRP)
  • Heavy contributor to Stash developer community:

    • https://community.atlassian.com/t5/user/viewprofilepage/user-id/781511
    • https://bitbucket.org/cofarrell/

Mincom

Software Engineer Level 4 Mar 2010 - Dec 2011

Software Engineer Level 3 Jul 2007 - Feb 2010

  • Extended open-source COBOL to Java library to enhance complex legacy systems

    • https://github.com/charleso/naca
  • Replaced HTML and JavaScript heavy site to modern Flex RIA
  • Migrated teams from Clearcase to Git/Ivy to support development in multiple continents

    • Creator of https://github.com/charleso/git-cc/
  • Developed internal model-driven tools, transforming UML to Java and Flex artefacts

The Learning Edge

Software Developer Nov 2003 - Mar 2007

  • Worked closely with peers on a small development team
  • Analysed, designed and developed features based on requirements
  • Maintained versions of products, including regular bug fixing
  • Consulted with customers onsite and implemented tailored solutions

Community Experience

Education

Bachelor of Computing, University of Tasmania, Nov 2003, 87%, GPA 6.67

Deans Roll of Excellence, 2001, 2002, 2003

References provided upon request.