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 failing, 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 .

Note: The book is taking up about 80% of my time, so that limits what I can take on at the moment.

I have designed and build several web applications, all with me as the lead developer – 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 really am a full-stack developer, with strong skills in database, application architecture design and JavaScript (including React.js and backbone.js). 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, WebJobs, table and blog storage, message queues 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 on a rewrite of a job board using ASP.NET MVC5 and Entity Framework 6.2. 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).