Skills and technical interests

I build web applications using JavaScript, Angular, Web API, ASP.Net MVC, C#, Entity Framework, SQL Server, RabbitMQ and many other technologies.

I use TFS currently for story and ticket management but have also used JIRA and Target Process. All the projects I've worked on in recent years have taken an agile / scrum approach in one form or another. Clients usually already have an approach which works for them.

Regarding techniques, I try to apply SOLID principles where appropriate. I understand Object Oriented Design of course but other paradigms are also finding a place, particularly Functional Programming, and I am open to these. 

I use a TDD approach where possible because I believe it results in better-designed, more robust, and more adaptable software.

In terms of development tools, I use Visual Studio and VSCode commercially. I also use Resharper which I find very helpful. I use npm for managing front-end build processes and package management. I've been using Git for source control since about 2014, using Git bash, GitKraken, SourceTree and other tools. I've also used Subversion, TFS and other source code control systems.

I’ve done a lot of physical database design of relational databases. Over the last few years I've also used MongoDB for some projects. More recently I've become interested in Graph databases such as Neo4J, which requires a different way of thinking but which looks very useful for certain kinds of problem, such as discovering relationships in datasets.

You can see some of the code I write in my spare time on GitHub



Core skills

  • C#
  • AngularJS
  • ASP.Net MVC
  • LINQ
  • Entity Framework

Related skills

  • JavaScript / JQuery
  • SQL Server
  • HTML / CSS

Complementary skills

  • Agile / Scrum
  • Unit Testing