now

For the last 14 years, I have worked at a medium-sized wealth management company, designing and implementing systems to provide an edge to the front office and back office teams. In this time I have designed systems to assist in almost all areas of the business, including but not limited to Front Office, Risk Management, Compliance and Portfolio Administration.

Primarily I have used both Angular and WPF-MVVM to design the front-ends, aspnetcore or WCF where required for the middle-tier and SQL Server for the back-end. I have made use of DevExpress/DevExtreme with the UI work I have done.
You can explore more detail below, or download a boring C.V. (PDF).

C# & OOParound 20 years of experience

C# is behind everything I currently do and Object-Orientated-Programming is something I really love. I am a firm believer in SOLID principals. I am a very pragmatic programmer always working to find the most efficient way to solve a problem in an extendable and maintainable way. Clean code is a passion for me. I produce code that is simple, readable, and that is easily extended and maintained.

I have worked on lots of projects of varying size, allowing me to explore lots of different design patterns. This has included the Observer, Repository, Unit of Work, Strategy patterns, and many others.

You can see some simple examples of simple projects on GitHub.

Angulararound 5 years of experience

I'm a big advocate of Angular having started working with it around Angular 7. We have several SPAs at TT ranging from simple CRUD applications to large workflow applications. I have designed and built these from scratch and upgrade them through the versions regularly. Angular is moving in an exciting direction and I look forward to working with it more and more.

ASP.NETaround 20 years of experience

I've worked with ASP.NET since the early days of Web Forms. I also have worked on a number of MVC projects. At Nexus (2005 - 2009), almost all development was with Web Forms, and much of my early days at TT featured it heavily as well. I also worked a lot with PHP and ASP in my early days, with libraries like jQuery, which together with Web Forms, gives me a really good understanding of the web stack and how we got where we are today with frameworks like Angular.

WPF & MVVMaround 14 years of experience

WPF is fantastic when it comes to rapid application development. When used in conjunction with DevExpress it is possible to create applications withs very rich UIs in a very short space of time. I really enjoy MVVM design and have used many libraries (PRISM, DevExpress-MVVM, MVVM-Light, FluentWPF, MVVM-Toolkit, and libraries of my own creation) to implement that pattern. I have also played with UWP and many of the best practices apply to this too.

I have used lots of different parts of the WPF framework. I have worked on real-time systems, putting out a great number of changes to the UI without locking. I have worked on systems with complicated asynchronous operations which can often be long running and still allow the user to continue their work.

Previous to this I used WinForms to create applications as part of my work at CMT, so I have been using the Windows API for over 20 years.

Xamarinaround 8 years of experience

We use Xamarin to develop mobile apps. We have several apps and one which is business critical. The critical application needs to be able to work offline, to deal with complex data, and refresh whenever possible to give the Portfolio Managers the best data. It is a great challenge to build for mobile phones and Xamarin is a great framework.

I hope that MAUI will soon be ready for production, and that we may be able to go to a single framework for mobile and desktop development. Given all Xamarin, MAUI, UWP, and WPF are XAML based, it is an easy transition from one to the other.

aspnetcorearound 5 years of experience

I have often found that a simple 3-tier architecture enormously simplifies a project. The ability to do batch work, scheduled jobs, caching, and many other tasks, on a central service presents many advantages over 2-tier applications.

I have become more and more of an advocate for aspnetcore WebAPIs. The ease with which you can add middleware, configure your dependency injection, create authorisation workflow, and a million other things, is really impressive.

WCFaround 14 years of experience

I have loved WCF, especially for the simplicity of duplex connections, and to avoid the HTTP protocol with TCP or Named Pipes. At TT we have several very large legacy systems running WCF middle tiers, so I am very used to designing and maintaining systems running with WCF services.

T-SQL & PL SQLaround 20 years of experience

Where I currently work there are a lot of databases, and most of the work I do ends up requiring information from many of those databases for all sorts of reasons. While this presents many challenges, it has given me the ability to keep up with my SQL skills in an age when more and more people rely on EF or other persistence frameworks.

I am often required to write reports off the back of several databases, joining, grouping and processing the data from several sources into a format for SSRS and DevExpress XtraReports. I understand most of what SQL Server has to offer, from functions, triggers and stored procedures, to CTEs and Windowing Functions.

I am also used to optimisations using the query plan, understanding how indexes work and how to build them and use them, breaking down or giving hints for queries that otherwise would run very slowly.

Dev-Opsaround 11 years of experience

Dev-Ops has become a real love of mine. I created the infrastructure we use at TT and designed all the pipelines with YAML (and a little WYSYWYG). Using continuous integration and continuous deployment (CI/CD) allows me to concentrate on the fun work of development and not worry about ensuring I have run all the tests and the deployment is taken care of!

Designing the pipelines is pretty fun. Azure DevOps is an incredible tool, and I have designed pipelines allowing us to release to UAT or Production, both on request and automatically, for just about every technology I've worked with, including iOS and Android all the way to the stores.

then

I have been in software development since 2001 when I graduated from Exeter University with a 2.1 in Computer Science. I have worked in 4 roles since.

  • TT International

    Wealth Management
    C#, Angular, WPF, WCF, ASP.NET, SQL

    2010 - present

  • Nexus Open Software

    Software House
    C#, ASP.NET, SQL

    2005 - 2009

  • CMT Group

    Software House
    VB6, ASP, ASP.NET, SQL

    2004 - 2005

  • PAA

    Journal Article Submission
    6M Contract, PHP, MySQL

    Early 2004

other

When I am not writing software I have a few hobbies. I love skiing, rock climbing, scuba diving and cycling. I try to get away skiing and diving as much as I can but obviously those are things that are less available in London! I climb regularly at the Castle in north London, and cycle (recreationally - no lycra!) on the weekends when the weather is up to it.

contact me

I live in Wimbledon and work in the City. I am contactable via the form below.

Get in touch!

Somewhere in Wimbledon.
Between 1 and 99999999999. Definitely. Unless from outside the UK.
  • image
  • image
  • image
  • image
  • image

COPYRIGHT © 2016 DOMINIC SHAW; ORIGINAL TEMPLATE: TEMPLATEMO