Arrange Act Assert

Jag Reehals thinking on things, mostly product development

Sometimes Boring is Best

26 Oct 2024

As I stood in the rain as a volunteer race marshal at my local park run, it occurred to me that I wanted the same thing when running applications in production, and that's absolutely nothing to happen.

The last thing I wanted to do was be a hero.

Me in the rain volunteering for Parkrun

🎸 "Always keep on the right side of the path" – the Parkrun version of Monty Python's song.

I'd rather everyone enjoy a safe, smooth race where I can cheer and encourage people on as they pass, reminding them to keep to the right so they don't collide with runners coming the other way.

It's the same in the land of IT. The only thing I want to see when viewing Grafana dashboards is a sea of green, 200 status codes and steady traffic patterns.

Read More →

Don't Look Back in Anger: Let's Design a Better Ticketing System

31 Aug 2024

Saturday's Oasis ticket sales left thousands of fans disheartened after spending hours in virtual queues. As reported by the BBC and echoed by fans on X (formerly Twitter) and Reddit, the experience could be aptly described using a quote from Liam Gallagher himself:

Like many others, I have long been frustrated with platforms like Ticketmaster, See Tickets, and Gigs and Tours. This weekend, their reputations took another hit as fans faced inflated prices and technical glitches.

This made me think if I could design a better, more reliable ticketing system that prioritises fairness and user experience.

Let's not make Sally wait any longer than she has to.

Read More →

The Leadership Gamble: Why Fighting for Your Team Is Essential for Success

06 Aug 2024

I've been fortunate to work with some incredible leaders throughout my career.

These individuals have inspired and challenged their teams and driven them to achieve their full potential.

What truly sets a leader apart, however, is their ability to motivate and their willingness to fight for their team.

There's something special about a leader who fights for their team.

In this post, I'll explain what happens when a leader truly stands up for their team, sharing my firsthand experiences from a transformative project at Cambridge Assessment in 2007.

A close-up image of an exam answer sheet titled 'Leadership' at the top. The sheet features a multiple-choice section with bubbles filled in. A hand is seen holding a pencil, and a bold red 'A+' grade is hand-drawn and circled in the center of the sheet. The overall setting has a realistic, academic feel, highlighting the theme of evaluation and achievement

Read More →

The Fine Line Between Frustration and Desperation

16 Jul 2024

As an England football fan, I know the feeling all too well. The heartbreak of watching your team come so close, only to fall short at the final hurdle once again. It's now 58 years of hurt.

It's a mixture of emotions – frustration, disappointment, and knowing the team could have done more.

I've experienced a similar feeling in my work as a consultant.

Harry Kane walking past the Euro 2024 trophy
Reuters
Read More →

Empathy: The Underrated Leadership Skill That Boosts Productivity

01 May 2024

As the English Football League nears the climax of another demanding season, leaders are confronted with the challenge of motivating weary players and handling the intense mental and physical pressures of chasing titles, securing promotions, or avoiding relegation.

As a Barcelona supporter, it might come as a surprise that I using Jose Mourinho, a figure often mired in controversy, who exemplified empathetic leadership during his reign at Inter Milan, leading to their historic treble win.

Mourinho and Sneijder

Read More →

Innovation Redefined: from 'Fail Fast' to 'Learn Fast'

21 Nov 2023

Inspect and adapt loops are the heart of agile development. They enable continuous learning, improvement, and evolution.

Learn Fast

In this post, I discuss the limitations of the "fail fast" approach and propose a more impactful alternative: "learn Fast". This mindset embraces the inevitability of failure in innovation and transforms every challenge into a learning opportunity.

Read More →

Structured logging with Pino

14 Nov 2023

Structured logging focuses on capturing data in a consistent and machine-readable format.

Unlike traditional text-based logs, structured logs are more straightforward to query and analyse, making extracting insights and debugging issues simpler.

Engineering coding

In this post, we'll take a look at an example of how structured logging with Pino.

Read More →

Empowering Engineers: How Cambridge University Press Adopted a Shift Left Culture

08 Mar 2023

Companies must be agile and respond quickly to changing customer needs in today's fast-paced and constantly evolving technology landscape. That's why DevOps practices that emphasise collaboration and communication between development and operations teams to deliver software rapidly, reliably, and at scale have become increasingly popular.

Shifting left, a core principle of DevOps can significantly benefit companies of all sizes. By empowering engineers to take on more operations responsibilities and promoting a culture of experimentation and innovation, companies can improve collaboration, increase reliability, and deliver high-quality software at scale.

In this post, I'll discuss how and why Cambridge University Press adopted a shift left culture.

one way sign pointing left

Read More →

Pino Redaction' A Simple Solution to Secure Logging in Node.js Applications

22 Feb 2023

Pino is a popular and fast Node.js logging library that is designed for high-performance and low-overhead logging. It has many useful features, including support for structured logging, log levels, and log redaction.

Pino logging redaction allows you easily redact sensitive information logs, ensuring applications remain secure and compliant with regulations.

redacted text

Photo by Newspaper Club

In this post, we'll take a closer look at Pino logging redaction functionality, what it is, and how it can be used with examples.

Read More →