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.
William Bowling and Jenna Bowling
Left: Me, Right: Jenna (my wife)

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.