This post is a continuation of my series of monthly review posts - what I've been doing and all that kind of good stuff. Other entries in the series:

Work

We're wrapping up our sixth Programme Increment since the transition to working in SAFe. The Home Insurance web team that I lead completed the migration work for the remaining two of our price comparison partners. Now all Home Insurance customers are served with our new web journey, completing a fairly significant investment in modernising that application journey. Similar work on our Motor Insurance journey continues - although we're using the rewritten application as a platform to launch 'tiered' products. These are designed to closely align with customer needs that we have identified. Given the ongoing cost of living crisis and various factors such as supply-chain issues affecting the cost of insurance, tiered products let us better align to market demands. At the end of last year we launched the tiered products for the direct route into the Car Insurance journey and we've spent this month getting ready to integrate this with our first price comparison commercial partner.

One of the things that I really enjoy about where I work is that we believe in each other. As a line manager I advocate strongly for those "in my chain", I take pride in assisting with career development. This goes all the way to the top too. Recently, a Principal Engineering role came up within the Platforms side of the business - they're responsible for looking after our cloud platforms, data, VMWare and so on. My line manager strongly recommended that I apply. I'd admit to being a little hesitant, with it being what I described as a 'diagonal' move. Not just upwards, but also into a different discipline. Thinking things through a bit more and reflecting on my time within Insurance, I realised the vast majority of the value I brought was in cloud expertise. So much of my time has been spent immersed in the infrastructure, the pipelines, the operability aspects of what we build. It seemed less daunting. So I bet on myself and applied. Suffice to say, it went well and I was offered the position! We're still working through the specifics of start dates and handover.

UK News readers may be aware that this month Tesco Bank announced a sale of its Banking arm to Barclays, subject to regulatory approval. Internally, we did not know about this until it was announced to the marketplace - and so this added an extra dimension of complexity to weighing up the Principal role. However, it also means that I'm going to have 'a seat at the table' for how we technically separate the Insurance and Banking sections of the business. Possibly the most disruptive time to announce my new role to the team, but also probably the best timing in terms of the opportunities that lie ahead!

Side Projects

I've been getting hands-on with Serverless programming, building a predictions application for my friends and I. Whenever All Elite Wrestling runs a Pay Per View event, we usually exchange messages with our predictions for the match results. You can see similar Pick'Em apps for the NBA and NFL respectively.

I'll write about this in more detail in the near future, but this short project has really been eye-opening. Learning how to design using the "Single Table Design" approach in AWS DynamoDB, how user management works in AWS Cognito, how to write and deploy AWS Lambda functions (including the CloudFormation stuff), and then composing all this together using either the Serverless framework and/or AWS Amplify. There's a lot I need to unpack!

Books

Last month was pretty fiction heavy, so February switches it up to (mostly) non-fiction:

How to Decide by Annie Duke

This book came in extremely helpful, for the reasons outlined above! It's a great book from a former professional poker player about decision-making. How can we make good decisions? What gets in the way and clouds our judgement? Some choice highlights include:

Any decision is, in essence, a prediction about the future

Your decisions will only be as good as your ability to anticipate how they might turn out.

For any options you're considering, ask yourself, "if this were the only option I had, would I be happy with it?"

As humans, we're prone to resulting - the idea that we evaluate a decision based on its outcome. This is a form of hindsight bias. We can make bad decisions that have good outcomes (unexpectedly), or vice versa. But this actually impairs our future decision-making by cutting out the ability to retrospect on our past decision-making. Good decisions go beyond simplistic pros and cons lists - it's about exploring the possible outcomes, evaluating the likelihood, potential upsides and downsides of those outcomes, and then deciding. There's a lot to learn from books like this.

Quit by Annie Duke

The other side of the decisioning aspect is, once you've made a decision, when is it prudent to back out of it? Culturally we often seeing quitting as a 'bad' thing - persistence and knuckling down and grinning and bearing it are all considered virtues. Often, they can be actively harmful. The key is to understand when to quit and particularly, how you should approach this decision. I read Quit back-to-back with How to Decide and highly recommend that you do the same.

Tidy First?: A Personal Exercise in Empircal Software Design by Kent Beck

Tidy First? is such a curious book. It's lightweight in terms of page count but not content. Going in, I expected this book to be about tidyings, and it kind of is. There's the familiar "keep the kitchen clean as we cook" adage to keeping code clean, but what I hadn't initially expected is how much the question mark in the title comes into play. This book is more about the economics behind tidying - there's the cost of change aspect: code that is difficult to understand is difficult to change, and therefore costlier. Going back to the decisioning around options from Annie Duke's books, Kent Beck applies this to software:

Design we do today is the premium we pay for the option of buying the behavior change tomorrow.

I think I'll need another read-through to fully digest the contents.

Actionable Agile Metrics for Predictability (Vols 1 & 2) by Dan Vacanti

These books are a fantastic resource for those who want to get deeper into flow metrics, the relationship between those metrics, how to visualize data and how to interpret the visualizations for process improvement. The first of the volume culminates in the Cumulative Flow Diagram - which shows you the number of items arriving and leaving a process over time. Many tools will further break this up into different item statuses. As a cumulative graph, from left to right the data trends upwards so in order to interpret its meaning, you're looking at the rate of change to tell you whether items are arriving faster than they're departing, or whether items are becoming stuck 'in progress'. Ultimately, the books focus on making uncertain processes predictable, which can be done through probabalistic analysis of data. The Monte Carlo Simulation is a good example of this - taking a sample of throughput data (i.e "this item took 3 days") it is possible to run many simulations of your process and arrive at a probablistic forecast. It won't guarantee that an item will be done in X days, or that in Y days a team will achieve Z items - but it will help with expressing confidence in those forecasts. Volume two extends further into the nature of variability in processes. There's always variability, the challenge is identifying what is and isn't within your control. Process Behaviour Charts such as an xMR chart helps to visualise the variability, separating the signal (exceptional variability) from the noise (routine variability) so that you can make sure improvements are targeted where they'll have impact. There aren't entry-level books, for that I'd recommend the companion piece When Will It Be Done?.

The Sad Ghost Club (Vols 1-3) by Lize Meddings

Currently a three-volume graphic novel in which characters wearing ghost sheets (a visual metaphor for the isolation of anxiety and depression) meet their 'kindred spirits', forming the eponymous Sad Ghost Club, to support each other in challenging times. Very quick reads, but also quite profound.

Godkiller by Hannah Kaner

This is a brilliant fantasy novel that hooked me from the start with its fantastic worldbuilding, strong character development and an enticing final sequence setting up its forthcoming sequel Sunkiller. A girl survives a sacrifice to a fire God and grows up to become a Godkiller by trade, in a land where worship is outlawed. She meets an orphaned noble who has, somehow, became intertwined with a god of white lies. As they meet up with a former-knight-turned-baker, they embark on a quest to a ruined city, pursued by demons. The middle third dragged for me, but overall this is a strong debut novel.

Games

Balatro on my SteamDeck has been like catnip - it's a poker-based deckbuilding roguelite. From what I can gather, it was built by one developer and has made a huge amount of money since its launch. The core idea of the game is that you play your best poker hand from a set of available cards, trying to reach a target score. You win money, you buy upgrades to your deck, such as Joker cards that modify scoring, Tarot cards that change suits and so on. Boss battles impose further conditions - such as you can only play one type of hand. It's such a fun, lightweight game with a ridiculous amount of depth to it.