Sam Hogarth

My name's Sam Hogarth. I am a Principal Engineer at Tesco Bank, Newcastle Upon-Tyne, UK. I'm a husband and father of two.

Here's the kit that I use.

In the world of work

University

From 2007-2010, I studied Computer Science at Newcastle University, specialising in Games and Virtual Environments. I graduated with a First Class degree.

University was my first 'formal' entry into coding, having previously only tinkered. Coding was taught in Java, with a focusing strongly on fundamental algorithms, Object-Orientation and Real-Time Programming. Later game development work was implemented in C. While pursuing a degree focused on game programming, it was here that the dream of being a professional video game programmer died. But that's okay - because I learned that there's something I loved even more than that.

During coding labs and a year-long team project, it dawned on me that I really enjoy listening to people's problems and working with them to solve them together.

Consultancy

My first graduate role was at Scott Logic - a UK consultancy firm. I've served two extensive stints here, progressing through the ranks to a Lead Engineer.

The work at Scott Logic was challenging and rewarding. I am incredibly fortunate during my time here to have been guided, in various ways, by some genuine superstars in the industry: Kevlin Henney (through external training), Colin Eberhardt, Jon McNestrie, Chris Price, Rob Newsome and Andrew Kurowski. We should celebrate those who greatly influenced our careers more. I worked on the company's high-performance commercial charting products - Visiblox (C# .NET for WPF and Silverlight) and ShinobiControls (Android). When building the Android product for Shinobi, I was the team's Android expert, helping to squeeze every drop of performance possible out of the burgeoning framework - which ended up in us cross-compiling a shared C library across both mobile platforms!

I consulted with several of the significant Danish banks:

  • At Saxo Bank, I was part of a modernisation effort for a C# desktop-based application, focusing on 'facelifting' and rationalising the trading UX for all the available financial products into a consistent experience. I architected the solution, selecting the MVVM approach (which was the style at the time) and worked on tricky inter-dependent logic. At Saxo Bank, I appreciated working effectively with colleagues across multiple time zones: the UK, Denmark, and India.
  • At Danske Bank, I took a role on a web development team, right around the HTML5 boom, to develop a web-based trading platform.
  • In an individual role at Nordea I worked on-site with an ambitious remit - to help them modernise their codebase and development environment. This took me into the depths of JavaScript: asynchrony, modularisation and bundling. I was proud to end up with a single-page web application that didn't need a loading screen; it loaded instantaneously! I brought the build time for the application down from four minutes to sub-thirty seconds. I then brought in a colleague to collaborate on development environments, learning a lot about DevOps and Continuous Integration. We built a system based on Vagrant and Puppet for environment provisioning.

Five years of my time was spent consulting within NatWest Markets:

  • I worked with a small team to develop a high-performance HTML FX trading component within a micro-frontend platform offering. My role as a senior was to provide technical expertise on the library of choice (React, pre-Redux days!), the architectural patterns to support high-performance (Flux) and then getting into the nitty-gritty of browser performance. Timing is critical in FX, so we placed a lot of technical focus on ensuring the on-screen price was right and not lagging behind.
  • The work on Streaming Prices led to taking over the development work for a customer-facing product, CurrencyPay, another FX-based offering initially designed to make it easy to send money in a different currency. This involved connecting several bits of the bank together in a way that hadn't been done before - linking current and business accounts to the FX and e-commerce platforms. The MVP was successful, and I led a team of 13 React and Java developers as we built out the platform and operated it in production. I had a lot of fun on this team, growing into an engineering lead role, promoting agility within a traditional governance model, and working closely with commercial clients on how to scale the platform. I then formed part of a larger team that worked on migrating this application over to Google Cloud, but we ended up essentially building a cloud platform for NatWest Markets applications to operate on.
  • CurrencyPay led to CurrencyFin, an FX product aggregating small FX payments for better rates. This used the platform we built for CurrencyPay, and I got involved quite closely with provisioning cloud infrastructure - through Terraform, Gitlab CI and Kubernetes.

Later in life, I returned briefly to a startup consultancy, Test Driven Solutions, in the Head of Development role. There was a strong passion for growth and a huge pipeline of work. I consulted directly for the company's major client and provided pre-sales technical consultancy for prospective future clients. As Head of Dev, I spearheaded the development efforts of a customer-facing MVP (with AWS Amplify). I also focused heavily on recruitment and building a culture that would scale and be successful. Sounds like a lot! Well, it was. Unfortunately I was only in this role for four months, during the summer of 2021. There are times when you need to step away from something, but I still put into practice daily the skills I honed during this short time. It's not a failure if you learn something, and that's okay.

Working In-House

I spent two years as an Engineering Lead at Tesco Bank, focusing on web applications within the Insurance part of the business.

My primary efforts have been to renew our online application web portals from Java MVC-style forms, to a bespoke, performant and lightweight NodeJS frontend platform that operates on AWS. I've helped successfully bring to production the bank's first new insurance product in a decade. Our existing products are high traffic, and failures are big news. I designed a rollout strategy that allowed us to switch live platforms, monitor performance in real-time and safely roll back to the legacy applications if needed. This helped us deliver frequently and incrementally without a big bang in sight!

As part of the organisation's transition to a SAFe operating model, I've also become an internal advocate for improving ways of working.

More recently, I was promoted to Principal Engineer within the Platforms team, with responsibility across the Bank's AWS, Azure and Kubernetes platforms.

Where Next?

I'm not planning on going anywhere. But that bit in bold from higher up on the page - "listening to people's problems and working with them to solve them together" - I want to do more of that.

Trivia

  • I've wanted to do this for pretty much as long as I can remember. Here's a school report from when I'd just turned six! School Report
  • My outside of work hobby is building Halloween decorations. I like to do something different every year - check out the past years on my Halloween sub-site.
  • In my youth I would have said I'm a huge fan of metal music. Don't get me wrong, I am, but later in life I've come to acknowledge that the cheesy stuff is just as good.