Technologies

C#

I have over 8 years experience working with C# across many diverse industries including eCommerce, finance and education. Most of the applications I’ve developed have been web applications, but I’ve also developed desktop and console applications. I’ve mainly used the full .NET framework following design patterns such as MVC and MVVM . I see unit tests as both proof that my code is working and documentation to explain what the expected behaviour is. As such I have made extensive use of test libraries and mocking frameworks.

Ancillary technologies of note - Sitecore, Umbraco, Moq, NUnit

Java

The main Java project I’ve worked on was developing a Selenium based automation framework to test a complex and highly configurable web application. When I came onboard the project was already underway with some tests already written. I took over as Lead Developer for the project and majorly refactored the framework to use Spring to support testing customer environments where the base code was customised for their specific requirements.

Web

I’ve worked on many web projects so have a lot of familiarity with HTML, CSS and JavaScript. In addition to bare metal JavaScript I’ve made use of many client side libraries - jQuery seems to be the one that has survived long enough to be worth mentioning.

Data Persistence

The vast majority of projects I’ve worked on have persisted data to a Microsoft SQL Server database. I’ve designed normalised databases from scratch and been heavily involved in schema decisions.

SQL Injection

(from XKCD)

In addition to SQL Server (and other SQL databases), I’ve made use of Redis, MongoDb and Neo4J to satisfy particular requirements.

DevOps

I have a strong interest in getting code into production so I’ve often been involved in setting up continous delivery practices and automating processes. I’m a big fan of JetBrains TeamCity!

AngularJS and Angular 2+

I worked on an AngularJS application used by tier one banks and hedge funds. More recently, I’ve developed a number of applications using Angular 2+.

NodeJs

I’m not a huge server-side JavaScript fan, but I think NodeJs can be a valuable tool for quickly throwing together lightweight API’s and CLI tools.

Source Control

I’m happy working with any modern source control system. Git is my go-to, but I’ve also worked with Perforce, SVN and TFVS.