Arrange Act Assert

Jag Reehals thinking on things, mostly product development

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 →

Don't repeat yourself: Why you should use child loggers in Node.js

20 Feb 2023

Logging is an essential part of any application, providing insight into the what's happening behind the scenes. However, as your codebase grows, it can be challenging to keep track of all the different log statements and where they're coming from. This is where child loggers come in.

Child loggers are a feature of many of the Node.js logging libraries such as Pino, Bunyan and winston have that allow you to create a new logger that inherits the configuration of its parent logger.

This means you can create child loggers that are pre-configured with specific options, making it easier to log messages without repeating the same configuration over and over again.

In this blog post, we'll take a look at an example of how child loggers can help cut down on repetition in TypeScript and Pino.

Read More →

Data-Driven vs Assumptions : Why Engineers Should Take a Doctor's Approach

10 Feb 2023

Engineers are responsible for designing and building complex systems that are expected to perform optimally under different conditions. However, without a deep understanding of how these systems behave, they risk making assumptions that can result in inefficiencies or even system failures.

In this post, we'll discuss why understanding a system like a doctor helping a patient is essential for engineers and by taking a proactive and data-driven approach, engineers can ensure that their systems are performing optimally and can make informed decisions that result in improved performance and reliability.

doctor talking to patient

Photo by Zach Vessels
Read More →

Why Engineers Should Try to Reproduce Production Issues Locally

23 Jan 2023

As engineers, one of our primary responsibilities is to ensure that the systems we build are stable and reliable.

However, despite our best efforts, issues and issues will inevitably arise in production environments. When this happens, it can be tempting to try and patch the problem and move on quickly.

However, recreating production issues locally is a critical step in the debugging and resolution process.

In this post, I'll explain the benefits of reproducing production issues locally.

engineering examining an engine

Photo by Aaron Huber on Unsplash
Read More →