I’ve been messing around with computers since we got our first family computer (486SX 50Mhz 4Mb with CD-ROM!), at some point a free version of Borlands Delphi 1.0 shipped with a magazine, from that moment I was hooked. I went through book after book learning how to use the thing, and pretty much haven’t stopped since (I did, however, move on from Delphi 1.0 at some point, weirdly my first job was working on various different airline systems writen in Pascal).
I’ve spent most of my working career in the finance sector in either Airline Accounting or Investment Management, The industry provides a lot of fun challenges around the size of the data, batch processing, distributed systems and the ever growing problems of striving making complex domains simpler. As for where I’ll end up next, it may be finance, but I’m as equally interested to discuss problems and solutions in other industries.
I’m a firm believer in clean maintainable code, pragmatic SOID principles, and DevOps.
As for what I bring to the table…
Empathy towards colleagues and customers, we’re all facing different problems both in and outside of work, understanding/supporting others brings about a much better working environment and is inevitably seen in the final solution.
In amongst whatever I’m working on that day I try to find one thing however small that I can do to leave something better than it was yesterday. That might be documentation, automation, a refactoring or some small tweak that will at some point make someones day a little better.
After many years of owning in some way large legacy codebases my debugging skills have grown massively. I treat each issue (Opportunity) as a puzzle that needs solving and as much as it often feels like an impossible problem to solve there is always an answer waiting to be found.
I’ve spent a good part of the last 20 years head down in the internals of SQL Server, tuning, building and architecting solutions running on it. I Can and will make your data move faster, bring HADR plans into line and tested, configure and implement monitoring where needed and setup regular automated checks on the overall configuration of the server.
A large part of my current role has been mentoring some of the more junior team members, through workshops, remote training over video conferencing, code reviews and appraisals. Its been a rewarding experiance and I’ve learned a lot around communicating effectively in this area.
Automate all of the things. That thing that regularly requires Dave to log in and run a script on Sunday when something fails? That SQL Server linked server connection that drops every few weeks and requires a TCP connection be manually killed? That 33 step guide to configuring a new developers environment? Automate them all! If something requires manual action more than once and there is no good reason not to then I’m going to be doing everything I can to free up those person hours for more important things and automate the task.
I don’t want to list the tech stack too much as it has varied over the years and I’m comfortable learning most things. I will say though I’ve spent most of my career in the Microsoft Stack C#, SQL Server, and ASPNet. Outside of that stack I firmly believe in the right tool for the job, some of the tools I have used include RabbitMQ, Docker, SSIS, Powershell, Dotnet Core, Windows Services, Azure, Angular, WebAPI, WCF, WPF, Xamarin and many more.