Skills and technical interests
I build web applications using React, TypeScript, C# and ASP.Net Core and other related technologies.
I use TFS currently for story and ticket management but have also used JIRA and Target Process. All the projects I have 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. In my last contract I used RethinkDB because of its real time capabilities allowing data to be pushed to observers. 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