Graham Smith, Developer in Dudley, United Kingdom
Graham is available for hire
Hire Graham

Graham Smith

Verified Expert  in Engineering

.NET Developer

Location
Dudley, United Kingdom
Toptal Member Since
August 17, 2018

Graham has over 20 years of experience with Microsoft tech and he's been working as a freelance .NET developer since 2010. He specializes in building web apps and APIs using .NET Core, particularly on the Azure platform, using Azure specific features such as Azure Functions, Service Bus Queues, Storage, and CosmosDB. Prior to going freelance, Graham worked on projects as a lead developer and as a technical team leader.

Portfolio

GS Web Applications
Microsoft SQL Server, Bootstrap, jQuery, JavaScript, Azure Cosmos DB...
Open GI
Microsoft SQL Server, VB.NET, C#, ASP.NET, SQL, Security, APIs
Wealth Management Software
COM+, Microsoft Transaction Server (MTS), Visual Basic 6 (VB6), SQL, Security

Experience

Availability

Part-time

Preferred Environment

Git, Visual Studio, Windows

The most amazing...

...project I've worked on was building a scalable web application for a large financial institution, using .NET Core, Azure Functions, and Service Bus queues.

Work Experience

Director | Web Developer

2010 - PRESENT
GS Web Applications
  • Worked remotely for various clients such as web development companies and web design companies.
  • Developed, enhanced, and supported a number of ASP.NET MVC web applications and web APIs, using both .NET Framework and .NET Core—either alone or as part of a team.
  • Served as the lead developer for large B2B projects: a multi-role website, Blazor website, APIs, and various Azure Functions, using .NET 6/7, Entity Framework Core hosted on Azure (using DevOps, Service Bus, Private Endpoints, Pipelines, and Bicep).
Technologies: Microsoft SQL Server, Bootstrap, jQuery, JavaScript, Azure Cosmos DB, Azure Table Storage, Azure Blob Storage API, Azure Service Bus, Azure Functions, C#, REST APIs, Web API, ASP.NET, .NET, .NET Core, ASP.NET MVC, Entity Framework Core, Entity Framework, ASP.NET Razor, SQL, Azure SQL Databases, Azure SQL, ASP.NET Core, Ajax, Back-end, Back-end Development, Blazor, GitFlow, Git, Azure DevOps, DevOps, CI/CD Pipelines, Full-stack Development, Security, APIs

Lead Developer

2003 - 2010
Open GI
  • Led the development of insurance trading systems for a leading insurance software house.
Technologies: Microsoft SQL Server, VB.NET, C#, ASP.NET, SQL, Security, APIs

Team Leader | Developer

2000 - 2003
Wealth Management Software
  • Led a small team of developers.
  • Developed desktop applications for ISA and pension industires.
Technologies: COM+, Microsoft Transaction Server (MTS), Visual Basic 6 (VB6), SQL, Security

Technical Consultant

1998 - 1999
JBA
  • Completed a six-month intensive training program to become a JBA consultant.
  • Worked on a Y2K compliance project for a further six months before being made redundant following a takeover.
Technologies: Visual Basic 6 (VB6)

Quilter Customer Choices

Lead back-end developer for a .NET Core / React web app that helps people decide what to do when they near retirement, for a large UK financial institution.

The application comprises an ASP.NET MVC admin area where the customer service staff would enter basic information about their clients. The client would then log in to the React app, driven by a .NET Core API, which provides content/questions to the client based on previous answers, and includes information such as how long their money would last, tax estimates, etc.

The .NET Core API is driven by JSON data that can be manipulated to configure the journey, for example, to provide different information, questions, or pathways through the application.

Voucher Portal for a Large UK Bank

I worked as a senior back-end developer on a project for a large UK bank.

The front end was built with React, and I created .NET Core APIs and Azure Functions for the back end. We also created a customer support portal using ASP.NET Core MVC.

One of the requirements was that the app had to handle 2,000 concurrent users, so we used Azure Functions for their scalability and Azure Service Bus so that we could make much of the processing asynchronous.

An important part of the project was the ledger—we had to ensure that no mistakes could be made as we were dealing with large amounts of real money. Code was carefully reviewed, and we created stringent unit tests around all the financial areas so that we could be confident it would work as expected, even under high load.

Another important factor was security, so we implemented Identity Server 4 across the code to ensure that only the correct users could access the relevant functions.

ADS Sliicer

Working via Toptal for an Enterprise level customer, the project was to add features to their Sliicer product which is used to analyze sewer flows.

As part of my work, I implemented Azure Functions and Service Bus Queues to make the application more scalable.

One of the issues I was hired to fix was that their Cosmos DB Documents were growing too large, so I designed and implemented a solution to allow parts of the data to be stored in other Cosmos documents and other parts in Azure Table Storage.

I also restructured their main orchestration layer to make it more efficient and maintainable.

Perceptor Cloud Licensing

https://licensing.perceptor-cloud.com/
Sole developer on a system to manage licensing of the Perceptor PTXL product.

The licensing web application was built using ASP.NET MVC (.NET 6) and allows administrators to manage the products and features, resellers to create orders, and end-users to customize and place orders.

The system receives usage information from the client installations via Azure Service Bus and Azure Functions. It hosts a .NET 6 REST API that can be used by the client applications to provide usage and licensing information.

The system uses Azure Pipelines for CI/CD.

Big Bang Competition

https://competition.thebigbang.org.uk/Home
Lead developer on an ASP.NET Core MVC web application for teachers and parents to register entries for their students for the Big Bang Competition and judging and administration of the competition.

Users log in using Azure Active Directory to enter, judge, moderate, or administer the competition.

Intervision Utilities

https://utilities.intervisionglobal.com/
This website is linked to the Vision Supplies website and allows users from Intervision Global to easily manage and report on their product database.

It features advanced bill-of-materials functionality for complex projects, allowing them to easily create and manage their bills of materials, including automatic lookup of prices and purchasing functionality.

It also includes multiple web scrapers which are utilised to assist in the maintenance of their 50,000+ products, including product descriptions, attributes, images, files, availability and pricing data.

Fuel Manager Application

Working with the team at Concurrent Development as a freelancer, I helped develop and maintain a web application used to monitor fuel, deliveries, and thefts at nationwide petrol stations.

Textile Bank Monitor

Working with the team at Concurrent Development as a freelancer, I helped develop and maintain a web application used to monitor levels in clothes banks in order to arrange collections and to monitor for thefts.

J B International

http://www.jbinternational.co.uk/
I built an easy-to-maintain, bespoke CMS for the training course provider, JB International. The system allows the management of pages, blogs, and courses with inline editing so that changes can be seen "in place."

Languages

C#, ASP.NET Razor, C#.NET, CSS, SQL, HTML5, CSS3, JavaScript, VB.NET, Visual Basic 6 (VB6)

Frameworks

Entity Framework Core, .NET, ASP.NET, ASP.NET MVC, .NET Core, ASP.NET Core, Bootstrap, Bootstrap 3, Blazor

Libraries/APIs

Entity Framework, REST APIs, Web API, Azure Blob Storage API, AutoMapper, jQuery, jQuery UI, Google Maps API

Platforms

Android, Azure Functions, Azure, Umbraco, Windows

Storage

Azure SQL, Azure SQL Databases, Microsoft SQL Server, Azure Table Storage, Azure Blobs, Azure Cosmos DB, JSON

Other

Ajax, Back-end Development, Back-end, APIs, Writing & Editing, Azure Service Bus, Cloud, Full-stack, Full-stack Development, Security, .NET 6, CI/CD Pipelines, GitFlow, Infrastructure as Code (IaC)

Tools

Git, Visual Studio, Microsoft Transaction Server (MTS)

Paradigms

Requirements Analysis, Agile Software Development, Azure DevOps, DevOps, COM+

1995 - 1998

Bachelor of Science Degree with Honors in Mathematics

University of Birmingham - Birmingham, UK

NOVEMBER 2019 - PRESENT

Umbraco Certified Professional (v8)

Umbraco

DECEMBER 2018 - PRESENT

Umbraco Certified Professional (v7)

Umbraco

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