Peter Leahy, Developer in Corowa, New South Wales, Australia
Peter is available for hire
Hire Peter

Peter Leahy

Verified Expert  in Engineering

Software Developer

Location
Corowa, New South Wales, Australia
Toptal Member Since
June 9, 2021

Peter is a senior developer with over 20 years of experience designing and implementing robust enterprise solutions. He has broad experience and is used to wearing many hats; he is outcome-focused and able to cover many roles to deliver the solution. Peter specializes in legacy system modernization and integrations.

Portfolio

Rivalea Australia
Azure SQL, Azure PaaS, ASP.NET Web API, Blazor, Azure DevOps, HTML5, C#...
Rivalea Australia
PRINCE2, ITIL, ServiceNow, Unity3D, Unity, ASP.NET Web Services...
QAF Feeds
.NET, ADO.NET, Windows Presentation Foundation (WPF), SQL...

Experience

Availability

Part-time

Preferred Environment

Visual Studio .NET, Azure, SQL, REST APIs, ASP.NET Web API, C#, Unity3D, Unity, ASP.NET Web Services

The most amazing...

...system I've designed is a nimble custom ERP framework which lead the digital transformation of a 24 hour per day feedmill business for more than a decade.

Work Experience

Development and Reporting Manager

2017 - 2020
Rivalea Australia
  • Designed and implemented a new unifying cloud application architecture to modernize a disparate suite of 30+ in-house applications. It was designed to allow a small team to move the apps over an extended time while still running.
  • Utilized the above architecture and built a deep integration to SAP Concur (XCloud REST API) from a legacy on-premise ERP CSB system (CSV only) that processes thousands of invoice payments daily.
  • Used logic apps to create a suite of integrations with Salesforce from our legacy ERP CSB system.
  • Built a canteen management application including a POS touch screen terminal and integration into the cloud-based payroll system Preceda.
  • Designed and implemented a new Azure tenant and cloud-WAN network architecture using ExpressRoute.
  • Implemented an Agile project management process for the team and new CI/CD pipelines in Azure DevOps.
  • Designed a new role-based access control (RBAC) scheme in a new Active Directory domain using nested groups. This new scheme was synchronized to Azure AD and used for access control across custom applications and office 365, including Sharepoint.
Technologies: Azure SQL, Azure PaaS, ASP.NET Web API, Blazor, Azure DevOps, HTML5, C#, ASP.NET Web Services, Visual Studio .NET, Azure, SQL, ASP.NET Core, C#.NET

Manager IT Infrastructure

2012 - 2016
Rivalea Australia
  • Started from zero processes and implemented an ITIL-based service desk process in ServiceNow with a 24 hour per day support phone number.
  • Created a shift roster system that integrated into the Cisco phone system to redirect the support phone number to the correct on-call agent.
  • Designed and implemented a new enterprise-wide IP addressing scheme.
Technologies: PRINCE2, ITIL, ServiceNow, Unity3D, Unity, ASP.NET Web Services, Visual Studio .NET, Azure, SQL, C#.NET

Senior Developer

2003 - 2011
QAF Feeds
  • Designed and developed a paperless production scheduling application for the 24 hour per day feed production facility.
  • Re-wrote the resource planning tools in .Net (from Delphi) including product, weighbridge, inventory, contract management, and deep integration in the SAGE finance system.
  • Integrated an ABB batch control server via SOAP web services for batch creation and reporting.
  • Reverse-engineered the SAGE 500 database to integrate sales orders into the production schedule system we created.
  • Created a recursive product substitution matrix to dynamically alter recipes in the production system as ingredients ran out of inventory.
Technologies: .NET, ADO.NET, Windows Presentation Foundation (WPF), SQL, SQL Server Reporting Services (SSRS), ASP.NET, C#, ASP.NET Web Services, Visual Studio .NET, C#.NET

MillIT

A nimble custom ERP smart client application for a feed-milling business. This application has driven the digital transformation of the feed-mill business for more than a decade.

Designed specifically for a small development team to keep up with the pace of business, the modular design of the underlying framework handled all of the "plumbing," freeing up the developers to focus on designing a solution to the business problem. Heavy use of WPF templates and a Model-View-ViewModel design kept the project structure simple (only two code files for each business object) and easy to follow for new developers.

As the primary developer (working remotely), I designed and developed the framework as well as ported the initial business objects, handing more of the development off to the rest of the development team once the base code was in production.

Production Schedule

A .Net framework application to run a 24-hour-per-day feed manufacturing plant. As the central orchestrator, the system handled order allocation, truck logistics, feed substitution and inventory, dynamic recipe formulation, and contamination sequence checking.

As the primary developer, I designed and built the system from business requirements. The system features deep integration with the single-mix recipe formulation system and ABB process control system.

Enterprise Architecture

Inherited an unmanaged software portfolio, a combination of in-house developed on-premise .Net applications (both web and smart clients), a legacy on-premise ERP, and an ever-increasing number of SaaS applications.

Leveraging various integration services within Azure and the Microsoft development stack, I set up the architecture to enable the integration across any app in the software portfolio (in-house or external) and a long-term, phased, in-house-built app modernization plan to the cloud.

This architecture plan covered naming standards and structure throughout the stack, from databases, logic apps, and app services in Azure through the CI\CD pipelines in Azure DevOps and solution naming and structure in visual studio and GitHub.

We targeted the Blazor server (waiting for WASM to mature) with an ASP.NET Core Web API back end on top of Azure SQL and targeting Enterprise PowerBI for reporting to leverage our investment in SSRS. This was secured using Azure AD for SSO.

NetProbe

As part of a suite of tools I wrote for the support department, this API reads the configuration management database (CMDB) from ServiceNow to build a dynamic hierarchical list of network devices. The service monitored the status of these devices via ICMP and alerted the service desk if there was an outage.

It was easy to assess the criticality of the outage as it would only show the top level of down devices and the number of devices affected below it. The API was very successful in helping the team start proactively monitoring the network and resolving some issues before the users were aware.

Languages

SQL, C#, C#.NET, HTML5, CSS, HTML

Frameworks

Windows Presentation Foundation (WPF), Blazor, .NET 4, .NET, .NET Core, ASP.NET Web Services, ASP.NET Core, ASP.NET Web API, ADO.NET, ASP.NET, Unity, Unity3D, Bootstrap

Libraries/APIs

REST APIs, Entity Framework

Tools

Visual Studio .NET, Microsoft Power BI, Git, GitHub, Azure Logic Apps, Azure App Service

Platforms

Windows Server, Azure, Azure PaaS

Paradigms

ITIL, REST, Azure DevOps, PRINCE2

Storage

Azure SQL, SQL Server Reporting Services (SSRS)

Other

Architecture, SOAP, CSV Import, ServiceNow, ICMP, Network Monitoring, Single Sign-on (SSO), Web Services, Game Development, Virtual Reality (VR), Augmented Reality (AR)

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring