Awards/Nominations

Sector Experiences:

Software Experience

Technical Experience

Technical CV

About Me:
I have just over 14 years Technical Experience.
In the last 5 years I've been working mainly on backend systems, creating windows services and APIs.
Things I Want To Learn/Work With:
  • Linux / WSL2
  • IoT
  • RABBITMQ
  • MongoDB
  • Azure / AWS
  • AI / Machine Learning
  • Augmented Vision / Virtual Reality
  • SharePoint
  • Dynamics CRM
I'm a Twitch Community Moderator in three partnered channels.
Professional Projects
  • College API Project
    TechList: C#,SQL Server asp.net core webApi Entity Framework Core Linq
    Building a College API for internal development.
  • College Dashboard Project
    TechList: C#,SQL Server asp.net core HTML5 Canvas Javascript Jquery
    Building a College dashboard to have a central point for staff and students to access their data.
  • Order Despatch Service
    TechList: SQL Server, SQL Server broker Service, C#, Windows Service, asp.net mvc asp.net WebAPI, TCP, WinForms
    I created a windows service to interface with networked barcode scanners to read order numbers, this then connects to a remote server by using PowerShell Remote Management to access a batch file and pass in the order number. This returns data indicating whether the order is at the correct status. If the order was at the correct status an invoice would be produced at the designated printer. The Service Used SQL Server Broker Service to monitor for scanner data changes and pushed those changes through immediately so settings changes occurred in real time. The service also monitored each of the designated printers to ensure they were in working order. Problems such as "out of ink/paper" resulted in the service holding and queueing orders until that's resolved. It also highlights when printers ink/paper levels are getting low as a warning. Additionally it hosted a WebAPI which exposed scanner service status, this showed if the scanner was connected, and if the printer was in working order. Each scanner operated on its own thread so not to block any other interaction. I had a MVC web front end to view the logs, make configuration changes.
  • Student Welfare systems

    TechList: SQL Server, SSIS, VB.Net
    I was asked to look into how to monitor Unauthorised Student Absences. For this I created a table to log Unauthorised register marks at the end of day, then all of those students who had an unauthorised absence recorded were sent a text message "checking if they're okay", if students had safeguarding concerns recorded they weren't contacted.
    A list of all absentee students were then sent to their Tutor to check in with them.
    At the end of the week all absentees attendance for the week was collated together and emailed to Team Leaders / Managers so they could see how those absences were impacting learning for that week. Additionally there was a more detailed Attendance SSRS report which was linked and prefiltered for each student so Team Leaders / Managers could see which Classes were being affected
    This highlighted a training issue as some lecturers were retroactively changing register marks, some tutors were marking registers late. So this email report had to be changed to highlight those changes or highlighting when registers were overdue

  • Mifare Implementation

    TechList: SQL Server, VB.Net, WinForms, USB RFID Readers
    Our IT Department bought in a Follow Me printing system, but their plan was to get every member of staff and students to register their cards at printers, which at peak enrolment time would be unfeasible. I suggested that we could register the ID cards at point of issue; which would be simpler and free up staff from having to supervise. I altered the existing Windows Forms application which was used to produce Enrolment Documentation, to create the students network account and used a USB Mifare card reader to register the card to that account.

  • Apprenticeship Integration and Reporting System
    TechList: External API, SQL Server, C#, SSAS-Tabular, PowerBI
    The task was to extract data from an online Apprenticeship platform. I designed a SQL Server Database to store the data, and My boss was working on a python script for it, so I used that as a basis for creating a Windows service. The service checked data for changes every couple of hours. As part of this project I had to do a lot of data quality checking, as data was input from excel sheets. While doing quality checking we discovered that some students data was very incorrect some students had personal identifiers of a range of different students. I used a combination of SSAS-Tabular and PowerBI for Data Checking and Performance reports; looking at are students going to meet their end dates.
  • Performance Tuning a upscaled MS Access - SQL Database
    TechList: SQL Server
    This database was originally a MS Access database which was upscaled to SQL Server. The database contained no Indexes, which was impacting performance. I systematically went through each view and function to see where SQL Server was identifying where indexes were required. I then used my judgement to apply those indexes where they would be most beneficial. Additionally I corrected use of a table valued function. This function returned a table which contained multiple columns of data yet the same function was being called multiple times with the same parameters to return different columns. I aliased the table as a subquery, called it once which had a positive impact on the performance of that view.
  • XML Deserializer
    TechList: SQL Server, Windows Service, C#, SSAS-Tabular, Excel, SSRS
    I was tasked with creating a batch of reports from a Housing CRM system which was being used to log a number of call centre interactions. The CRM system stored all of its case history in XML in a plain "text" field within a SQL Server Database. After searching around on the server itself I discovered there were XSD's definitions for each of the different case types. I created a service which extracted the data from SQL Server, Deserialized it with the XSD and stored that data in a SQL Server database. Additionally the XSD schema was constantly in flux, so a part of the service was dedicated to on the fly, converting XSD's to .cs, inserted a custom namespace / class name, then converted that to a dll which was then loaded in and used to Deserialize at runtime. The reporting was done with SSAS-Tabular, excel and SSRS
  • Housing Visit Logistics
    TechList: Google Distance Matrix, C#, NodeJS, Express, Oracle, Asp.netMVC, Exchange Web services
    I was tasked with creating a way of logging staff visits to tenants. This also looked at estimated travel times using Google Distance Matrix. We decided to use Exchange Web Services, so we can see staff availability and book their visits directly into their calendar. We used NodeJS and Express to interface with the oracle housing database to return where they were visiting, this was overlaid in a asp.net mvc page which was using FullCalendar.IO to render bookings and make the bookings by selecting available timeslots.
Day to day
  • Customer Interactions
  • Requirement Gathering
  • User Support
  • User Training
  • Attending User Groups
  • Ad-hoc Reporting
  • Server Monitoring / Backup Monitoring