154A Flinders St, 6060, Yokine (AU), WA

About

I am a full stack software developer with experience in delivering clean, testable and maintainable solutions and system improvements. With plenty of experience in establishing and maintaining continuous integration pipelines and delivery automation, I am well equipped to take responsibility of devops tasks as well. Outside of work, I enjoy spending time with my family, watching and playing basketball and writing electronic music whenever I have spare time.

Experience

Campfire Digital Technology

May 2021 - March 2022
Senior Java Developer
  • Placed at Department of Education, and part of a team responsible for modernising the tech stack of a Liferay based web application, widely used by teachers, students and parents.
  • Tasked with porting views from Java/Vaadin to Angular (v11), creating responsive components using atomic design principles to promote clean, reusable and DRY code.
  • Involved with designing JSON schemas and implementing / updating Spring REST endpoints to expose logic and data models to and from the Angular frontend.

21st Century Software, Perth

November 2020 - May 2021
Software Engineer
  • Formalised Java component build processes by migrating projects from Ant to Maven, and automated the process using Jenkins on a zLinux build server.
  • Implemented a 'Fractal Forecasting' algorithm, to provide insights for Mainframe resource consumption for future yearly events which may not occur on the same date.
  • Implemented a 'Workload Simulator' forecasting algorithm, to provide insights for Mainframe resource consumption by modelling how a mainframe dispatches work to its processors, while applying increased growth of work and/or hypothetical hardware upgrades.
  • Responsible for technical writing, by updating the manual to explain how to use the new features I implement in the product.

Bankwest, Perth

March 2018 - October 2020
Java Developer, Senior IT Specialist (from November 2019)
  • Received numerous awards and recognition for challenging the status quo of previous performance tests and taking ownership of the design and delivery of a more resilient, accurate, flexible, highly automated and easier to maintain framework solution in JMeter.
  • Created interactive dashboards and data visualisation for performance test results using Elastic Search, Logstash and Kibana, paired with an automated pdf report generation and distribution tool written in Typescript and Nodejs.
  • One of only a few team members cross skilled, capable and responsible for the maintenance and improvement of three different platforms.
  • I have automated many tasks that my team mates and I perform, such as setting up our development environment, to managing CI pipelines, deploying builds and triggering test suites using Jenkins and TeamCity, increasing our speed to get code into production.
  • Delivered features and bug fixes for an internal Java lending application hosted on JBoss EAP.
  • Contributed to the migration of an internal lending application from Java 7 to OpenJDK 8 and JBoss EAP 5 to JBoss EAP 7.1, which not only involved code updates, but also infrastructure setup and configuration.
  • Delivered features and bug fixes for a core banking REST API platform using metaprogramming techniques with xtend/xtext, deployed to a mainframe environment.
  • Delivered features and bug fixes for a Spring based legal document distribution application.

Cash Converters, Perth

August 2017 - February 2018
Graduate Software Developer
  • Responsible for the development of customer datalake import services which extracted, validated, cleansed and matched customer data from many Cash Converter systems and persisted the data to a cloud NoSQL store to facilitate consumer segmentation and improve marketing strategies.
  • Developed an event source replication library which considerably improved read model population, consumed by business intelligence reports, by utilizing flat file binary formats, cached on high speed NVMe drives.
  • Improved efficiency and resiliency of AppVeyor and Octopus Deploy CI/CD pipelines.
  • Developed a 'Loan Book' event source read model for a PowerBI driven Executive Dashboard, providing an interactive view of outstanding loan balances.
  • Gained experience in behaviour driven development, and followed SOLID principles while following Cash Converters standard practices to ensure code quality.

IBM, Perth

January 2016 - July 2017
Intern Software Developer
  • Added support for new log types and additional dashboards for a mainframe log analysis application, involving the creation of new server-side REST endpoints, additional Angular components for the user interface, and data visualisation with D3.js.
  • Developed the Java component of a mainframe log consolidation application, which was responsible for accepting events from multiple mainframe sources in their raw format, performed data processing and transformation, then pushed the log events to subscribers, formatted as required by the subscriber.
  • Even as an intern, I was considered a subject matter expert in the development of the log consolidation application, and was invited to IBM's Raleigh, North Carolina campus to hand over the project to a new team who were to take over its maintenance and development.
  • Assigned to the team in Raleigh, North Carolina and gained experience in working remotely, attending their stand ups via video chat during US East Coast business hours.

Education

ECU, Perth

2014 - 2019
Bachelor
Computer Science, Software Engineer Major

KvB Institute of Technology, Sydney

2003 - 2004
Diploma
Graphic Design, Print and Digital Media

Skills

Java server side
Master
  • Maven
  • Gradle
  • Spring
  • JBoss
  • REST API
  • TDD
  • JUnit
  • Mockito
  • BDD
  • JBehave
Version control
Master
  • git
  • github
  • bitbucket
  • gitlab
Client side
Master
  • Javascript
  • Angular
  • Typescript
  • D3.js
  • HTML
  • CSS
  • Bootstrap
  • PHP
Relational database
Advanced
  • Design and normalization
  • MS SQL
  • PL/SQL
  • MySQL
CI/CD automation
Advanced
  • TeamCity
  • Jenkins
  • AppVeyor
  • TravisCI
  • Powershell scripting
  • Bash scripting
  • Docker
Project
Advanced
  • Agile
  • Jira
  • Confluence
  • Git
  • RTC
  • Scrum
.NET
Intermediate
  • C#
  • .NET Core
  • .NET MVC
  • MessagePack
  • xUnit
  • NSubstitute
  • BDDfy
Cloud native
Intermediate
  • Azure
  • AWS

Interests

Basketball
  • Casual player
  • NBA fan
  • Wildcats fan
DJ / Music production
  • Serato
  • Ableton Live