Career Profile

Over the last 30+ years I have gained a lot of experience in a variety of different sectors and technologies and can turn my hand to almost anything. My last fifteen years have been mainly with C# (WinForms, WPF and some ASP.NET), working in an Agile environment. I have also been developing with Delphi (Win32) since the early alphas and have experience of developing low-level (kernel mode) systems in C++.



Database development includes SQL Server (T-SQL), MySQL, Interbase and Access at various levels, including Trigger/Stored Procedure design.

Knowledge of .NET technologies includes C#, VB.NET, ASP.NET, MVC, MVVM, Restful (Web API) Services, WCF, and jQuery. This includes application development, component design, web services, and development of web sites.


Jan 2020 to date
Lawware Ltd, Edinburgh

Working as a member of a team on the on-going development of their innovative Practice Management and Matter Management system. As well as enhancing the existing core functionality, we are working on a new user interface and additional functionality.

The front-end is developed in C# Winforms utilising the MVVM design pattern and DevExpress for the UI. The back-end is SQL Server.

Development is carried out using the Agile (scrum) methodology with GitHub and Jira as they main tools for managing the process. Also utilising nCrunch for managing unit tests.


June 2019 - Jan 2020
SKF, Livingston

Member of a team that are forming to support a new service offering that SKF have recently launched for the passenger rail market. This service offering is based off the data that is provided by a cellular based condition monitoring system for bearings that links into a back end system hosted in AWS. The role is predominately focused on maintaining and enhancing the middleware components in AWS that manage the traffic between the sensors installed on the trains and the visualisation/analysis tools that application engineers use and also provides diagnostic/configuration functions to optimise/tune the system performance.


Aug 2018 - Nov 2018
Firstcall Trade Services, Edinburgh

Android and Web services development using Ionic and Cordova. The Android application is used to track Field Engineers and to allow them to accurately record times at jobs for more accurate billing and communicates with the web server via a REST Web API. The web app and server (php) allows Service Managers to allocate jobs and associated resources to engineers, track time, purchases, etc. and invoice customers. Also involved liaising with Developers in India and Glasgow regarding product development handover.

Owner and Sole Developer

Oct 2016 - Present
MCN Software, Stirlingshire

My own company originally set up for contracting roles. Continued development and maintenance of Team Coherence. In the process of developing a new client in C# Wpf using Interop to access the core DLLs.that communicate with the remote server (a Windows Service). Team Coherence integrates with Visual Studio and many other editors through support for the Microsoft SCC API.

Developed a multi-vehicle management system to track mileage, servicing, fuel usage, insurance, etc. It uses Portable Class Libraries for client-side functionality and WCF for data/server-side functionality (using REST). Runs on Windows devices but ultimate aim is to get the UI to run on any device via Xamarin.

Other personal projects include: A multi-tenanted resource booking website using ASP.NET (MVC) that makes use of WCF and REST, and a personal website to play around with reactive websites (uses bootstrap).

Jan � Mar 2017 Sub-contracted to develop a simple Stock Control application for a small manufacturer of bearings and gears in Sweden. Application was written in c#/Wpf with an SQL Server back-end. All development was done off-site.

In addition have done several small projects (desktop and website) fo a couple of local businesses.


Jan 2015 - Oct 2016
Lawware Ltd, Edinburgh

Work as a member of a small team on the ground-up redevelopment of their innovative Practice Management and Matter Management system. As well as implementing the existing functionality, we worked on a newly designed user interface and additional functionality.

The front-end was developed in C# Winforms utilising the MVVM design pattern and DevExpress for the UI. The back-end is SQL Server.

Web Developer

May 2014 - Dec 2014
Cruise Technologies Ltd, Edinburgh

Worked as part of a small team on the development of a replacement for one of the Scottish Government�s websites. This was implemented using C# ASP.NET (MVC) with an SQL Server back end. The project involved the development of both the client facing site and the admin site.

Owner and Sole Developer

Sept 2013 - May 2014
MCN Software, Stirlingshire

My own company originally set up to facilitate my contract with Senergy. On-going development of Team Coherence and other products. I also used my time to learn new technologies in the process, including web development technologies such as MVC, REST Api and WCF.

My current websites (MCN Software, Book1t (beta) and more) use MVC/Razor/CSS for presentation and Web API technology to provide the content and back-end storage, while Team Coherence uses ASP.NET.

Book1t is an on-line resource booking system I am using as as a base to enhance my knowledge of current technologies. It is currently functional but is still at the beta stage.

Senior Developer

June 2008 - Sept 2013
Senergy Software Ltd (now Lloyd's Register)

Worked on the development of new modules for their Interactive Petrophysics (IP) software.

Member of a small team developing an image-analysis module allowing Petrophysicists and Structural Geologists to record, analyse, and categorise wellbore features graphically. As well as working on the presentation, I was responsible for the interactive feature picking functionality

Amongst other modules, I was responsible for the development of a multi-threaded reader for the industry standard Digital Log Interchange Standard (DLIS) data files to improve the import of wellbore data into IP. This module integrated with IP and also ran stand-alone. Written in C# with a WPF front end.

Owner and Sole Developer

Nov 2004 - June 2008
Quality Software Components Ltd, Stirlingshire

My own company, set up for my contracting roles below. Over the years, I had designed and developed a Version Control and Issue Tracking tool (Team Coherence) for sale to software companies. Sales increased to the point where I decided to stop contracting and concentrate on the continued development, maintenance, support and sales for the products.

Designed and added new features based on user feedback and wrote online Customer Service Portal and an Admin Portal in ASP.NET and C# to help streamline order processing and interaction with resellers.


Feb 2003 - May 2003 / Oct 2003 - Nov 2004
Volunteer Development Service, Stirling

Conversion and upgrade of their Volunteer registration system. The original system was written in Access, and I was responsible for converting it to use Delphi/SQL Server. Part of the process involved helping the other members of the team get up to speed with using Delphi.


May 2002 - Feb 2003
Librae Ltd, Aberdeen

Member of a small team of developers working on a new product to help manage type-2 diabetes amongst children and adults. The software was able to analyse food intake (through a large food product database), and compare it with blood-sugar levels to predict potential risks for patients and to allow them to lead a more normal life.

R&D Manager

July 2000 - Jan 2002 / June 2003 - Sept 2003
Symax Business Software AG, Germany

R&D Manager working on the low-level design and development for a rule based security software product called D-Fence. Responsible for a small team of two core developers, plus occasional contractors, and reported directly to the directors.

The product was aimed at locking down user computers in a corporate environment, and used some very clever techniques to monitor and/or restrict access to, and running of, unknown applications. Tools used included Visual C++ (driver development, not UI), Delphi 6 for the front-end, and Interbase as the back-end database.


July 1997 - July 2000
Appsco/Appsmart, Aberdeen

Member of a team of 10 Delphi developers and testers working on a new product to make Datamart and Data Warehousing software easy to work with for non-technical users. I gained excellent experience in developing data driven applications and data visualization.


May 1997 - July 1997
Kingston SCL, Edinburgh


Aug 1996 - Apr 1997
Sandwell District Council, Birmingham

Lead Developer

June 1996 - Aug 1996
Syntegra (BT), Warwickshire

Lead Developer

1994 - 1996
Buchanan International, Glasgow


1986 - 1994
Coats Viyella, Glasgow and Ramsbottom


1989 - 1993
Parachute Regiment (TA), Glasgow and Yorkshire

15 PARA (SV), Glasgow and 4th Battalion, Parachute Regiment, Yorkshire. Challenging, tough, but great fun.


Below are listed some of my personal projects with links to the relevant websites.

Team Coherence - Integrated Source Control and Issue Tracking tool. Written in Delphi as a client server application to allow control of digital assests from anywhere. Also developed the website, shopping cart and Customer Service Portal. - Book1t is a multi-tenanted on-line resource booking system originally designed for my cousins beauty salon. I am using as a base to enhance my knowledge of current technologies. It is currently functional but is still at the beta stage.
TheMcNabs - A sample personal website designed to be responsive both on desktop PCs and tablets/mobiles. A work in progress.