I've both a front-end skill set (both modern and traditional web), and an event driven back-end skill set that I'm quite proud of, all driven by my TDD'd / Behaviourally Driven Developed code of course. This is complemented by my past-experience building and architecting backend applications; predominantly CRUD based APIs for mobile apps.
I work very well with my colleagues, both using a consistent feedback loop, and occasionally pair-programming. Mentoring juniors and associates is a unique skill I enjoy using as well. Also, I can and do work well alone frequently, but I appreciate having someone keep me accountable for my work in this scenario.
Outside of my life as a developer, I travel (well, used to before COVID) very often. I also dance Salsa and Bachata, cycle occasionally, take amateur photos , and tinker with gadgets like my RetroPie console and DIY NAS.
Software Engineer• April 2017 - Present (Remote/Melbourne/Sydney)
Freelance Developer• April 2016 - December 2017 (Remote)
I picked up a couple of smaller side projects alongside my fulltime job, mainly for friends who also freelanced and needed backend skills. This included some minor tweaks to a PhoneGap based mobile app, preliminary work on a job board style web-app, and integrating the SecurePay payment gateway into a chauffeured car/limousine service's booking app. I didn't continue freelancing as it made maintaining a healthy work/life balance quite difficult.
Development Lead• December 2014 - March 2017 (Sydney, Australia)
My primary responsibilities at Mobiddiction; a Sydney-based startup specialising in CRUD driven mobile apps, were architecting solutions for our clients, managing, mentoring and overseeing the backend/technical team, and also contributing to the development and maintenance of our API Management product - Mobiconnect, Web APIs and overall backend systems for our clients. I was also tasked with the coordination of “DevOps” tasks and maintenance of backend hosting - all running on AWS. I also had the opportunity to build my web front-end skill-set having built two small web-app projects from the ground up with HTML5 and Sass/SCSS in 2015 and 2016. The backend software built and maintained at Mobiddiction is primarily built using the Grails Web Framework, written in Groovy. and driven by integrated Java frameworks including Spring, Spring Security and Hibernate. Their backend solutions are designed to serve RESTful APIs for our mobile apps to consume, alongside web-based applications.
Software Engineer• July 2011 - November 2014 (Sydney, Australia)
At InterAcct I was employed as a junior developer, working on the SOAP services, the #100# USSD service, and pre-paid mobile reporting platform for Telstra Corp Ltd. I was also a developer of the EZYrecharge mobile recharge service, and SendTalk (an international mobile credit gifting service). I gained a great deal of experience here as someone new to the industry, working with a diverse Java codebase made up of legacy procedural elements, alongside object-oriented code driven by modern OOP principles that were gradually replacing legacy code. I also gained a lot of experience maintaining a database for reporting purposes (Oracle) and handling large amounts of transaction and usage data for Telstra. I was infamously known as the "Script Guy" at InterAcct, and had been responsible for implementing (and re-implementing) our testing tools, and many utilities in Bash, as part of a major Linux migration project for Telstra.
Before my career as a developer, I worked in hospitality and retail during my time travelling, and studying.
Front of House Manager and Waiter• Lebanon and Beyond Ltd
October 2009 - November 2011 (Sydney, Australia)
Waiter• Silo Restaurant and Lounge
April 2009 - July 2009 (Newcastle, Australia)
Commis de Rang• The Atlantic Hotel and Ocean Restaurant
February 2008 - January 2009 (Jersey - Channel Islands)
Delivery Driver• Pizza Hut
January 2007 - January 2008 (Newcastle, Australia)
Diploma in Software Development, and Certificate IV in Programming •June 2011
I acquired intermediate programming skills using Java and .NET (C#). I also studied UML, SDLC (focusing on Unified Process, and Scrum), and software design patterns (GRASP and OOP).
I'm agnostic, in that I believe strongly in using the best tool for the job, regardless of a framework or language's fan boi/gurl status. Saying that, I am currently most familiar with;
At work, I'm usually working on a React app using these tools, although lately I've been working on our transactional email (Rails) app and re-building email templates in MJML. That's not to discredit my less recent experience and time working with;