Graham Smith
Verified Expert in Engineering
.NET Developer
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
Experience
Availability
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
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).
Lead Developer
Open GI
- Led the development of insurance trading systems for a leading insurance software house.
Team Leader | Developer
Wealth Management Software
- Led a small team of developers.
- Developed desktop applications for ISA and pension industires.
Technical Consultant
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.
Experience
Quilter Customer Choices
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
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
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/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/HomeUsers log in using Azure Active Directory to enter, judge, moderate, or administer the competition.
Intervision Utilities
https://utilities.intervisionglobal.com/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
Textile Bank Monitor
J B International
http://www.jbinternational.co.uk/Skills
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+
Education
Bachelor of Science Degree with Honors in Mathematics
University of Birmingham - Birmingham, UK
Certifications
Umbraco Certified Professional (v8)
Umbraco
Umbraco Certified Professional (v7)
Umbraco
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring