Michael Pivato

Career summary and interests

Contact

As a driven and highly motivated full-stack software engineer, I am always ready to improve and learn. With a vast knowledge of multiple programming languages, paradigms and related technologies, I have successfully implemented many applications that have been used and loved by clients.

Career

Senior Software Engineer at Telstra Health

2024 - Current

Key Responsibilities

  • Design, maintain and implement modern solutions in various internal and client-facing products, primarily relating to the enterprise costing product (PPM).
  • Respond to internal and client feedback to improve PPM.
  • Develop automated tests to improve code quality.
  • Review and assist new developers in the team.

Key Achievements

  • Significant contributions to PPM, including rewriting many Java Swing components to work natively in the browser.
  • Reduced time for a data transmission service by a factor of 10x (e.g. 7.5GB file went from 50 minutes to 5 minutes for data upload).
  • Created the PowerAnalytics product within the PPM reporting framework, which improved the speed and functionality of a PowerBI implementation by another team that went over budget.
PowerHealth Solutions

Software Developer at PowerHealth Solutions

2019 - 2024

Key Responsibilities

  • Redesign and maintain the PowerHealth Solutions costing product (PPM).
  • Create and maintain various front- and back-end components to support consistent theming, quality, and developer experience across PPM and the billing product (PBRC).
  • Respond to internal and client feedback to improve PPM.
  • Develop automated tests to improve code quality.

Key Achievements

  • Significant contributions to the redesigned costing product, that is now in production use and enjoyed by clients.
  • Create front-end and associated web server back-end components on the costing and billing products, as well as internal products such as the licensing service.
  • Migrate the PPM build system from a Ant to Gradle.
DST Group

Cadet at DST Group

2018 - 2019

Key Responsibilities
  • Research distributed systems and middleware for use in tactical situations.
  • Develop a project to show this research.
  • Write about new technologies, their benefits to defence, and how they can be used.
  • Held a Negative Vetting 1 (NV1) Security Clearance.
Key Achievements
  • Implementation of Raft algorithm for the camera network.
  • Implementation of Hand Detection using CNN, and finger recognition with alternative algorithm.
Kilburn Software

Software Developer at Kilburn Software

2016 - 2018

Key Responsibilities
  • Develop Mac and iOS applications using Xamarin and C#.
  • Network and MS-SQL Server Troubleshooting and Implementation.
  • Adhere to quality standards regarding privacy of information for schools.
  • Liaise with stakeholders of the application being developed.
Key Achievements
  • Rollout of macOS and iOS applications to several schools.
  • Set up a testing station in the office to simulate a Catholic Primary School.

Education

Bachelor of Information Technology

2016 - 2018

University of South Australia

GPA: 6.89

Awards

  • University of South Australia 25th Anniversary Excellence Scholarship
  • 2nd year Scholarship in Information Technology
  • 3rd year Scholarship in Information Technology
  • Chancellors Letters of Commendation

Skills

Technical

Ordered by proficiency

  • Java - Gradle, JUnit, Jooq, Swing
  • Angular and Web - including Typescript/Javascript, CSS, HTML
  • SQL - primarily MSSQL/T-SQL
  • Rust
  • Development Tools - Git, Jira, shell script
  • Modern Operating Systems - Debian Linux, Windows, macOS
  • Writing and Consuming OCI Containers - Docker and Podman/Buildah
  • Managed Cloud Services (PaaS) - Azure SQL, Microsoft Entra, Cloudflare (this site is hosted on Cloudflare!)
  • Python - Tensorflow and pandas for machine learning and data analysis
  • Flutter/Dart
  • Xamarin + C#/.Net

Other

  • UI/UX - responsive, easy to use, and acessible design
  • Excellent written and verbal communication - handling of client and internal feedback, new features and problems
  • Testing - automated unit and integration tests

Hobby Projects

Over the years I've hacked away at various personal projects. My preference is always to build, run and host applications locally, however I have come around to cloud services for public-facing resources, such as CloudFlare, which is used to host this page!

I have used AI/ML in the past, as seen in my own Depth Prediction implementation, and LLMs, where I fine-tuned BERT to perform Named Entity Recognition, however recent models have gotten too large to train at home. I also use local LLMs in LM Studio, to provide basic information and coding assistance when learning a new framework. Recently my interesets have shifted to designing applications that can maximise throughput for large datasets and minimise response time for queries/charts. I'm currently reading Designing Data-Intensive Applications to facilitate improvements in the Ingey project once core implemetation is complete.

Finally I've enjoyed writing new applications in Rust; the efficiency, ease of use and correctness have been fantastic. One example is in the Ingey project, where I reduced the time to perform reciprocal accounting on a costing product from ~1.5 hours to ~7 seconds on a laptop/desktop, or ~36 seconds on a smartphone. This was due to avoiding non-bulk inserts into a relational database, and using a custom algorithm in overhead allocation that significantly reduced memory consumption and the number of required calculations. The optimisations applied by Rust in release mode also had a significant impact on performance, and is what facilitated easy deployment to an iOS application.

Buf Piv

Source

This is a Tauri + Angular application that makes it easy to edit json files conforming to a protobuf definition. It works as a standalone desktop application for the most complete experience, with browser support to show Tauri's versatility as well.

A browser demo is available at BufPiv

PiCar

Source

This project originally involved communication between a Raspberry Pi and a Traxxas Slash using the Pi's GPIO to control the steering and throttle of the RC Car. This was mounted on some 3D printed brackets. The steering and throttle are set by an iPhone/Android application connected over WiFi.

Over time this worked as a base to explore other ideas, namely:

  • SLAM: Using BreezySLAM and a 2D RP Lidar A1, the Pi can map out an area and send this information to the controlling phone.
  • Depth Prediction: Using the Pi's camera and an Intel Neural Compute Stick (NCS), the Pi could process camera data and use a custom implementation of the FastDepth Neural Network to add 3D sensing capabilities.

Recently there have been efforts to port the backend to Rust, with the 2D Lidar sensing and control completed. The Python BreezySLAM implementation is currently unfinished, mainly due to work on other projects

Depth Prediction

Source

From the PiCar project, I explored many different implementations of monocular depth prediction and 3D SLAM solutions, including implementing my own algorithms and trainers for depth prediction that perform well on constrained devices.

This gave me a solid foundation on Tensorflow/Keras and computer vision. It also helped expand my knowledge on machine learning from university/online study, as I previously had not explored models this large, or specifically computer vision related models.

About

Licensed under the MIT license.

Inspired by a motherfuckingwebsite - no JavaScript or framework was used to create this resume.