Hire Me

Summary

I am a contract solutions architect with special focus the Microsoft .NET/Azure – think of me as a cross between a CTO and a senior programmer. I’m a good choice if you have a project that is not performing well, or want to get a good design for your next project. In the Microsoft area I know my stuff – I was picked to write a book called Entity Framework Core in Action by Manning Publications.

I have designed and build many web applications, all with me as the lead developer, and I have performance tuned other applications. A lot of my time is spent programming, but because of my background in senior management I combine a business-focused approach with excellent technical skills. So, if you want someone who will focus on the business needs first and then translate those into sensible, deliverable software systems then we should talk.

I am based in the UK and I am available for short-term contracts in the UK and/or working remotely.

Skills

Full stack developer using ASP.NET Core (and ASP.NET MVC)

I’m a full-stack developer, with strong skills in database, application architecture design and JavaScript (including React.js and backbone.js). Obviously, because of the book I wrote on EF Core I do focus more on the backend, but I have designed whole web applications, and built single page application front-ends. I have also build several NuGet libraries to help me build web apps quicker.

I also know Microsoft’s Azure system, with Web Apps – including scaling, message queues, table and blog storage, etc.

Software architecture

I have written many articles about software architecture topics, ranging from “Is the Repository pattern useful with Entity Framework?” through to “Architecture of Business Layer working with Entity Framework“. Also my book, Entity Framework Core in Action, contains lots on Domain-Driven Design, software patterns etc.

Designing and building great applications quickly is a passion of mine. I have build a number of libraries to help me build applications quicker – see my GitHub page.

Management skills

In my long career I have managed a team, overseen teams, held the role of Technical Director and acted as a consultant. I have also interacted with customers a lot, including managing a large technical project for NBC at the Olympics.  This mean I can work well with clients and developers alike, and I am more business-focused than many programmers.

Recent projects

I am currently working as a contract architect/developer for a US company to build a ASP.NET Core/EF Core B2B web application. This application needs to support tens of thousands of user and grow to cover multiple countries, with multiple databases located close to the user. The application uses multiple web API applications to segregate parts of the system, and to provide good performance. It relies on five of my open-source libraries.

I worked on a rewrite of a job board using ASP.NET MVC5 and Entity Framework 6.2. where I was the lead developer. I designed the overall architecture, and we are using five of my libraries, three open-source and two private libraries that I have licensed to them.

I previously I designed a e-commerce site hosted on Microsoft Azure using MVC5 and Entity Framework 6. which uses all these libraries, plus some new work on handling database migrations. This application has both a complex backend, with a comprehensive SQL database, use of Azure Blob and Table storage, Azure WebJobs and other RESTful services such as Stripe. It also has a fast front-end using extensive JavaScript to provide mini-SPA (Single Page Application) features in specific areas that need good performance.

I have done some work on using React.js with ASP.NET Core. You can find the various articles here.

I have developed some years ago a web application using Microsoft’s ASP.NET MVC and Kendo UI in conjunction with a JavaScript Single Page Application (SPA) built using backbone with marionette, plus OpenLayers for geographic visualisation. This applications, called Spatial Modeller™, forms a key tool for healthcare modelling (see Selective Analytics).

Based on these experiences I have developed a few Open Source projects (see my blog posts and the example web site, SampleMvcWebApp and Complex.SampleMvcWebApp) to help build robust web applications using MVC5 and Entity Framework 6. I have also build other propitiatory libraries, such as GenericActions, GenericMenus and GenericIdentity to enable me to develop web applications quickly.

Previously I developed windows applications for analysing and modelling data, some of them using advanced T-SQL database techniques to solve complex mathematical problems (see HIV/AIDS project we undertook in South Africa).