A skilled Java and Scala programmer experienced in working with highly scalable and available systems to create reliable and fast software.
Experience
Lead Developer, Pearson; Hobart, Australia — 2010 - 2016
Through starting as a Junior Developer for a small local company to being acquired by Pearson, a multinational publishing and education company, I have been able to experience a wide range of responsibilities from development and product design to customer support.
I began working on EQUELLA, a highly configurable on-premise software written in Java, providing a web-based platform for users to store, manage, search and serve content. It’s built on numerous technologies including a JDBC database (PostgresSQL, Oracle, or MSSQL), Lucene for searching, FreeMarker for templates, as well as HTML/JavaScript/CSS for the client interface. Alongside the core product, I helped build out our continuous integration and automated testing systems using Selenium WebDriver and Jenkins running on a CoreOS cluster.
At the end of 2012 I had the chance to work in a small team on a rewrite of EQUELLA to create a highly scalable and available cloud-based version that provided all of its functionality through REST services. This became EPS (EQUELLA Platform Services) and involved moving to a lot of new technologies including Scala, Elasticsearch, S3, Cassandra, ZooKeeper, RESTEasy/JAX-RS and Kafka, allowing us to provide redundancy, scale and the goal of near 100% uptime.
EPS is now the backend for numerous Pearson products, providing a fast and reliable content management service. Being only a team of three, we are responsible for a sharing a variety of tasks including DevOps, client support, 24h on-call roster, documentation, and testing.
Education
University of Tasmania, Australia — Bachelor of Computing, 2009
Coursera - Functional Programming Principles in Scala 2013
Coursera - Principles of Reactive Programming, 2014
Skills
Languages, software and services used everyday:
Scala
Java
Javascript
Docker
Cassandra
Elasticsearch
Logstash
Arch Linux
Mac OS X
AWS
Jira
Stash
Jenkins
Ansible
HipChat
Languages, software and services I have used for small projects
React
Bootstrap
Python
PHP
C
Bash
Objective-C
PostgresSQL
Firebase
Heroku
jQuery
I also take part in CTFs and bug bounty programs in my spare time, and have discovered a number of medium and high severity security issues in participating sites.