Job Title:
Full Stack Software Developer
Joined:
01 Jan 2007
Code Skills:
MS Access; HTML; CSS; Javascript; SQL; VBA; XML; .Net Core; Adobe Flash; WPF (XAML / C#); Azure Cloud; Powershell; Hololens; Unity
Experience Summary:

Headhunted into a contract role to fix an MS Access application that managed the competencies of the track workers I was able to demonstrate my extensive skillset into other areas. I enjoyed the responsibility of a full stack project to design and develop an interface, using C#.NET and XAML (WPF), enabling visibility of safety critical data providing access to maintenance schedules, fault analysis and backlog. Utilising advance SQL techniques, in a Azure SQL Database, I exposed a forecast for planned works that contributed to improving efficiencies in maintenance and better planning of safety critical work. Using powershell and C# I could automate and regulate the Azure pricing tier subject to peak usage times leading to reduced cost and optimised performance. Introducing augmented reality in the mix I was able to develop a maintenance training app for the Hololens using Unity with C#.

Experience Details:
MS Access:

I developed an interface, originally in MS Access, that could manage the extraction of data from an Oracle sFTP server pulling pipe delimited files and processesing them in a SQL database. The data was then validated and prepared for the reports that followed.

One report was a weekly backlog that was produced as an HTML email that provided a overview for each department with pie-charts and summary breakdown of outstanding faults with their delay minutes, backlog with links to launch the data for inspection and work outstanding for insights inot the level of work required until the end of the period

I also created a process to append new data into the system that involved preparing and formatting an excel document to be used as a template. The template was sent out to the end user to populate with the new data. On return the data had to be validated and processed (parsed) and transformed into an oracle ready format that was then sFTP'd up to the server where the process could be continued using built in Oracle scripts.

Another seperate MS Access project I developed was for the production of the Daily Notice which was a daily document detailing the work being carried out on the track. The document revealed who would be responsible for the work, where it would be located, what the job description was and most importantly what isolations where required to safely carry out the maintenance.

I developed a visualisation tool to present the locations of the work using Macromedia Flash. This was generated automatically once the data had been input into the system but allowed modifications if required. The WPP numbers were moveable and the extent of the work area was editable where you could toggle on and off 10 pixel blocks of track according to the refinements required. When the Export button was clicked it took a screen shot of the finished result and appended the image to the back of the daily notice document.


WPF & SQL Server:
Matrix application Flash visrep - WPF visrep

When I heard that Macromedia Flash was being depricated I had to make a decision on how to present a visualisation with more modern technology. Having studied up on what WPF can offer I took the plunge and learnt XAML and C# on site.

I rewrote the daily notice tool and the asset management interface and added a whole array of new apps and functionality using the new WPF technology including a management console for Contracts and Procurement, an app for Outside Parties, Competency Managment, Badgemaker, Phonebook for reception. Infact each department had their own app in the project that provided them access to whatever they needed.


Azure & Powershell
This powershell script was executed automatically by the WPF app at the end of the working day to set the pricing tier back to a cheaper tarrif whilst not in use outside working hours.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Import-Module Az.Sql
Connect-AzAccount -SubscriptionId "580219e5-0d20-4e11-92b4-8570eb7a7c6f"
$db=Set-AzSqlDatabase -ResourceGroupName "res-uks-nprd-nr-nrhs0001" -ServerName "sqluksnprdnrnrhsaz0001" -DatabaseName "EAMSData" -Edition "Standard" -RequestedServiceObjectiveName "S1"
This powershell script was executed at the start of each working day to ensure the best performance was available. The pricing tier was adjusted to utilise up to 6 V cores

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Import-Module Az.Sql
Connect-AzAccount -SubscriptionId "580219e5-0d20-4e11-92b4-8570eb7a7c6f"
$db=Set-AzSqlDatabase -ResourceGroupName "res-uks-nprd-nr-nrhs0001" -ServerName "sqluksnprdnrnrhsaz0001" -DatabaseName "EAMSData" -Edition GeneralPurpose -ComputeModel Serverless -ComputeGeneration Gen5 -MinVcore 1 -MaxVcore 6 -AutoPausedelayInMinutes 60

Unity & Hololens

Leading a remote development team in Poland, I wrote a storyboard for them to use to develop an augmented reality app to demonstrate the technology for carrying out maintenance tasks on an asset or for staff training purposes to handle security threats in a terrorism scenario. I was then involved in testing any changes on the Hololens and, eventually on completion, deploying the product to MS Store