Career Profile
A computer science graduate with over 7 years of experience consistently delivering high quality outputs throughout the entire software development lifecycle.
Passionate full stack C# developer with experience leading, and on several occasions being solely responsible for, the delivery of projects for both national and international clients. Clients have spanned a broad range of industries; from carbon footprint tooling for universities, to electronic presentations of evidence for the United Nations. Gained valuable experience and strong skills in the full development lifecycle; from meeting clients and capturing requirements, all the way through to system architecture and delivery and support. Comfortable working autonomously and capable of making key decisions in both the development lifecycle and architecting Azure cloud infrastructure.
Skills & Proficiency
C#, .NET Framework, .NET Core
ASP.NET MVC/Web API
Azure Cloud Architecture
SQL
CI/CD, Gitflow
HTML5, CSS3, JS, JQuery
Kubernetes, Docker, TDD/BDD
Xamarin, Cordova
Experiences
Insight Investment is a global asset manager and was able to provide me with the resources to sharpen my skills that were more difficult to develop in the lean, startup environment. I joined Insight as a software engineer and was part of the development team responsible for ingesting and transforming financial data from third parties and surfacing that data directly to asset managers.
- Developing and maintaining a number of React SPAs and .NET APIs and microservices, with a major emphasis on security.
- Selecting appropriate Azure resources and contributing towards building business cases for resources that aren’t already approved for use by the business.
- Identifying and proactively delivering upon opportunities to make improvements in both technology processes and ways of working.
For the last couple of years, I have been the lead engineer on the SPINR platform. SPINR is an Integration platform as a service (iPaaS) offering which brings together data in organisations to enable greater decision making. I have implemented a large part of the back-end stack and architected a great deal of the current cloud infrastructure. Liaising with prospective clients (both technical and non-technical) has become a larger part of my role in the last 12 months.
- Designing, writing and maintaining connectors in to third party systems using a variety of methods such as ingesting data through API’s and hooking directly into databases.
- Development on a broad scope of features on the SPINR platform from authentication and authorization to T-SQL query parsing.
- Creating and monitoring Azure resources for our platform’s cloud infrastructure.
- Running numerous Early Adopter Programmes with prospective clients who want to see how SPINR can solve their integration problems with real-life scenarios.
- Leading internal meetings, from daily stand ups to specification and design sessions.
- Managing and controlling access to our elastic SQL database pool.
- Previously managing deployments to Azure Web Apps but since migrated machines to a Kubernetes cluster which I also manage and monitor.
- Meeting with Microsoft Azure Program Managers and team members, most recently at Microsoft Build 2019 in Seattle, to ensure alignment and support with the relevant teams.
- Bringing innovative technologies to our solution where possible. For example, writing Azure Serverless Functions to handle our background worker tasks rather than traditional C# console applications or Azure Web App worker roles.
- Often meeting with prospective clients and running demo sessions with senior and C-Level executives to demonstrate the value SPINR can bring to their organisation.
I joined Sputnik Digital to complete multiple .NET contracts that the company had taken on. As the only .NET developer in the company, I had to work autonomously to solve the technical problems I was issued. This included building upon an existing Web API and rebuilding an entire static website using the C# MVC pattern.
- Componentizing an existing website by splitting the previously static HTML pages in to C# Razor components. This involved quickly learning the SDL Tridion CMS and how it ties together with the ASP.NET MVC pattern.
- Planning, designing and implementing new features on a C# Web API. Also carrying out minor front end work on the accompanying Vue.js front end.
- Architecting and building an Azure dev/test cloud environment for prototyping new front and back end features.
- Designing an Azure cloud architecture and CI/CD pipeline for a new project proposal. This consisted of an Azure Web App, a number of Azure SQL databases, Azure Service Bus Queues and an Azure DevOps project to handle the deployment process.
After a year in the company I was promoted following a number of successful projects and no longer a junior member of the team. I was given more responsibility on existing projects and was involved in the design and implementation of new development projects and even trusted to lead on several features.
- Designing and building application features using both the MVC and Angular 2 frameworks.
- Implementing designs that had been previously defined by senior team members and architects.
- Visiting client sites to capture requirements and specifications.
- Applying cloud computing best practices to applications we develop.
- Mentoring a junior support developer that we took on as part of an undergraduate programme.
My first year in the industry consisted of learning the .NET MVC framework, as well as carrying out bug fixes and building out new features on existing code bases.
- Responding to and debugging customer issue reports.
- Working on small features using the MVC framework.
- Writing HTML and CSS for new application features.