I'm a seasoned back-end software engineer working with dotnet core and dotnet framework. I have extensive experience of the full software development lifecycle, building content managed websites, custom software applications and 3rd party integrations.
I love writing clean, extensible, maintainable code. I particularly enjoy writing simple code to solve complex problems for the end user. When I'm not working I’m usually either playing/recording music, or taking photos. If I can combine 2 or more of these things at once then I'm extremely happy.
I have many other skills aside from those listed below, but these are the skills that I use most commonly, and in some cases have used for the lobgest time.
This has been my language of choice for close to a decade. I can find my way around other languages, but I'm very experienced with C#.
Data storage is a must for most software, and I work almost exclusively with SQL Server.
I have experience of using SQL Server with ADO.NET and stored procedures, Micro ORMs, and Entity Framework. Often it isn't possible to choose if you are working on an existing system, but if I have a choice I would use EF Core. I used to swear by Dapper, using it for all my personal projects, but having used EF Core in a couple of jobs now, I have to say I really like it. But of course, it depends on the particular project.
With so many distrubted systems now, and with data coming from so many different sources, it makes great sense to expose data via APIs so that your client application can be anything, and in fact many client apps can make use of the data.
I have extensive experience in both creating RESTful services, and consuming 3rd party services.
While I have worked with some web forms, and even classic ASP applications, the MVC pattern in my preference when creating web applications.
MVC suits the stateless nature of the web perfectly, and it's easy to create well structured web applications using this pattern.
Microservices are a way to create distributed systems, with each small component running as it's own service which can communicate with other services as part of the overall application. This architecture is a great way to build a highly scalable system.
Come to me for clean, simple, maintainable, future-proof software.
I have experience with Azure, and to a lesser extent, AWS.
Whether you need some REST services to be built, or consumed, I have you covered.
I have a great deal of experience with the Umbraco CMS, including extension and customisation.
I have experience of the full software development lifecycle, from requirements gathering to software delivery. I am also experienced in working in Agile teams. If you want to chat about your needs without any obligation, feel free to contact me.
I have a great deal of experience of MVC applications.