Senior Full Stack Software Developer
Melbourne, Victoria, Australia
Last Updated: 21 February 2025
About
- Full-time, full-stack analyst/software developer.
- Part-time technical co-founder in a bootstrapped SaaS business on the size (15-20 hours/weeks).
- Started teaching myself coding in 1997.
- Professional developer for nearly 25 years.
-
Over my career I have worked in a diverse range of roles, environments, and projects:
Full-stack software developer, front-end web developer, data analyst, A/B test integration developer, DevOps engineer, team lead, tutor, manager, self-employed small-business owner. - My secret to sustaining the pace is good sleep, resistance training 4x per week, 10K steps every day and 2-3 good holidays every year to reset and recharge.
-
I don't do software development for "fun". I do it for the accomplishment of creating products people use and receive value from.
- I abhor it when developers use "laziness" as an excuse for not liking or doing something.
- I believe in code comments, documentation, and systematising anything that needs to be repeated.
- I'm happy do all the boring and mundane jobs that other engineers and technicians don't want - documentation, testing, business analysis, data analysis, talking to people, asking questions - you name it.
- Just don't ask me to build anything in React or AWS.
Experience
Senior Software Developer
Compass Education [full-time]
February 2021 - Present
Melbourne, Victoria, Australia
Full-stack web application software developer.
- Part of a team dedicated to consulting directly with a specific large customer.
- The only team required to work across the entire platform, requiring close collaboration with other teams that own individual modules.
- Directly involved in customer meetings, planning, scoping, specification writing, solution design, and product demos.
- Wearing the hats of: front-end web developer (React/ExtJS), back-end developer (C#/SQL Server/MongoDB), functional tester, software architect, and business analyst.
- Writing extensive technical requirements/specification and performing business requirements analysis in larger projects.
- Working on projects and delivery ranging from days to over 12 months, often concurrently.
- Working both collaboratively and autonomously.
- An advocate of documentation, I re-invigorated the developer documentation by creating dozens of process and technical articles in the company wiki after joining.
- Providing support to team members and the wider development department wherever possible.
- Learnt a few new tricks in C#. Learnt React 18. Working with TypeScript. Muddling through GraphQL.
Skills
- C#
- JavaScript
- React.js
- .NET Framework
- Microsoft SQL Server
- Software Documentation
- Business Analysis
- Technical Solution Design
- MongoDB
Technical Co-founder
Lotus AI [part-time]
May 2020 - Present
Victoria, Australia · Remote
Lotus' core product is automated time tracking and timesheet generation.
- Founded in May 2020, I have continued to develop the platform outside of a full-time job since February 2021.
- Designed and built a complete SaaS product platform. Separate API back-end (.NET, Azure App Service & Azure SQL) and web front-end (Vue.js, Netlify).
- Setup automated CI/CD with GitHub Actions for Azure deployments (Azure App Service) with multiple test and production environments in Azure and Netlify.
- Created a background monitoring agent for Windows (WPF) to gather meta data and send to the API for processing.
- Successfully completed early stage beta testing with a team in a large accounting firm.
- Adapted the platform to a more loosely coupled modular design to accommodate different projects with 2 partner businesses.
- Managing the development of an iOS/Android mobile app by a remote (international) development partner.
- Managed and mentored a graduate developer.
- Partnered with 4 separate companies over the last 2 years to build and host other business modules. 2 were failure (flaky partnerships) and the first is a success in progress.
Skills
- C#
- Netlify
- Vue.js (v2 and v3)
- .NET Framework
- GitHub
- SQL Azure
- DevOps
- Microsoft Azure
- .Net (5-8)
- Project Management
RMIT University [part-time]
May 2019 - November 2019
Team Lead / Project Manager
May 2019 - January 2019
- Recruited and managed a 3-person development team and 2 PhD researchers, for a software research project in collaboration with Mornington Peninsula Council (MPS).
- Responsible for maintaining budget, planning, technical direction.
- Attended weekly multi-vendor stakeholder meetings.
- Worked closely with the primary Project Manager for MPS.
Tutor
July 2019 - November 2019
- Ran 2 tutorial labs per week for a Database Applications course.
- Taught Oracle databases.
- Learnt and taught MongoDB.
- Taught web application design fundamentals.
Team Lead / Support Project Coordinator
March 2019 - November 2019
- Managed and coached 12 student teams across 2 semesters.
- Provided guidance and support with weekly status meetings, and availability on Slack.
Self-employed Consultant
Principal Software Developer
January 2012 - June 2019
Melbourne, Victoria, Australia
- Self-employed developer and boutique consultancy owner.
- Developed and maintained websites for small businesses, primarily with WordPress.
- Designed and developed an internal student portal for a Melbourne University college (using WordPress).
- Managed 2 full-time staff in India for 3 years.
- Closed the business because due to a lack of sales experience and growth.
Skills
- WordPress
- PHP
- HTML/CSS/JavaScript
- MySQL
- PHP
- Web Application Development
- WordPress
Team Lead / Senior Software Developer
Datacom [full time]
September 2016 - September 2018
Melbourne, Australia
Full-stack senior software developer. I worked on 3 projects in my time with Datacom:
- Project 1 (Australian Unity) : Senior developer / Team lead. Developed an orchestration tool to automate the creation of EC2 dev/test environments in AWS and initiate code deployment from Octopus Deploy.
- Project 2 (BUPA) : Operations Lead. Migrating COBOL from Unix to .NET. Development team lead. Developer support. DevOps support. Inter organisation coordinator. Migration analyst.
- Project 3 (Red Cross): Full-stack ASP.NET developer on the Red Cross Blood Service “Organ Match” project.
Skills
- C#
- ASP.NET
- Visual Studio Team Services (VSTS)
- Visual Studio
- Angular 5
- .NET 4.6
- NUnit/Moq
- Micro Focus Visual COBOL
- Amazon Web Services (AWS) EC2 & CloudFormation
- Octopus Deploy
- TeamCity
Senior Software Developer (Web front-end)
Belong (placement via Object Consulting) [contact]
November 2014 - July 2016
Melbourne, Australia
Senior Software Developer
Object Consulting [contract]
September 2014 - October 2014
Melbourne, Australia
Software Developer
PageUp [contract]
August 2014 - September 2014
Melbourne, Australia
Software Developer
Village Roadshow [contract]
May 2024 - August 2014
Melbourne, Australia
Software Developer
Maurice Blackburn Lawyers [contract]
April 2013 - November 2013
Melbourne, Australia
Data Management Consultant
Transurban [contract]
July 2010 - July 2011
Melbourne, Australia
Software Developer
eNett International [contract]
April 2010 - June 2010
Melbourne, Australia
Software Developer
City of Melbourne [contract]
August 2009 - March 2010
Melbourne, Australia
Software Developer
Prima Consulting [full-time]
January 2008 - June 2009
Melbourne, Australia
Software Developer
ParagonIT / Paragon Systems [full-time]
March 2002 - December 2007
Melbourne, Australia
Technical Skills
These are the technologies I prefer to work with (and currently active in).
- .NET (4.x to 8)
- C#
- HTML
- CSS / SCSS
- Vue.js (mostly v2, a bit of v3)
- SQL Server / SQL (I still write SQL by hand)
- Azure - Managed SQL and App Services
- WPF
In my day job I also work with:
- MongoDB
- TypeScript
- React (v18+, I think)
- GraphQL
- ExtJS 4.2
The technologies I will only begrudgingly work with:
- React (what a mess)
- TypeScript (it has it's place in the world, but I'm a vanilla JS person the overhead of TS is painful)
- GraphQL (the tooling is a nightmare)
- AWS (Documentation is rubbish and the trying to figure out how to work with it is a nightmare)