Verified Expert in Engineering
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.
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.
Development and Reporting Manager
- 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.
Manager IT Infrastructure
- 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.
- 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.
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.
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.
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.
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.
SQL, C#, HTML5, CSS, HTML
Windows Presentation Foundation (WPF), Blazor, .NET 4, .NET, .NET Core, ASP.NET Web Services, ASP.NET Web API, ADO.NET, ASP.NET, Unity, Unity3D, Bootstrap
REST APIs, Entity Framework
Visual Studio .NET, Microsoft Power BI, Git, GitHub, Azure Logic Apps, Azure App Service
Windows Server, Azure, Azure PaaS
ITIL, REST, Azure DevOps, PRINCE2
Azure SQL, SQL Server Reporting Services (SSRS)
Architecture, SOAP, CSV Import, ServiceNow, ICMP, Network Monitoring, Single Sign-on (SSO), Web Services, Game Development, Virtual Reality (VR), Augmented Reality (AR)