Arrange Act Assert

Jag Reehals thinking on things, mostly product development

Lessons from Building AI Products with Stakeholders

27 Jan 2025

Building AI products with stakeholders requires a fundamentally different approach than traditional software development.

From my experience working with AI, success depends not only on technical implementation but also on bridging the gap between AI capabilities and stakeholder expectations.

In this post, I’ll share lessons from guiding stakeholders through AI’s possibilities and limitations.

Read More →

Whose Responsibility Is It Anyway? Defining Boundaries with Event-Driven Architecture

20 Jan 2025

Defining clear boundaries is essential to building clean, scalable, and reliable architectures.

In my experience, organisational demands often override the focus on boundaries and domain-driven design. This reflects the tension between following technical best practices and delivering business outcomes quickly. While theoretical approaches are widely discussed at conferences, in books, and in videos, the practical implementation of these ideas is often shaped by cultural dynamics, resource constraints, tight deadlines, and internal politics.

In this post, we'll explore the challenges of maintaining boundaries and potential solutions, using a payment system as an example. This system facilitates transactions between clients and payment providers, such as PayPal or Stripe, highlighting the distribution of responsibilities within its architecture.

Read More →

The Determinism Dilemma: Why Traditional Software Engineers Struggle with AI Development

13 Jan 2025

The goal of creating something "predictable," reliable, and consistent is a shared principle across all the teams I've worked with throughout my career.

Knowing that the same code would always return the same output when given the same inputs was the foundation of everything we built.

We aimed for no surprises, no matter how complex a workflow might be. Whether implicitly or explicitly using finite state machines, this determinism enabled us to build testable, monitorable, maintainable, and, most importantly, predictable workflows.

We read and shared ideas at conferences, promoting patterns and principles like SOLID and DRY to create functional, composable, and extensible software.

Read More →

Déjà Vu: AI Agent Frameworks and the JavaScript Gold Rush Revisited

07 Dec 2024

Having lived through the era of a "new JavaScript framework every week," we now find ourselves in the gold rush of the AI agent framework space.

New frameworks appear daily, each claiming to be the 'ultimate' solution for building AI agents, often backed by YouTubers enthusiastically promoting demoware and usually their own library, framework, or SaaS offering. Unfortunately, this enthusiasm can lead companies to uncritically adopt these tools without considering the long-term implications.

Ai Gold Rush

Read More →

What About Using Structured Naming for Event-Driven Messaging?

20 Nov 2024

It's a well-known adage that naming things is hard.

In event-driven architectures, a consistent naming convention is essential for scalability, communication, collaboration and maintainability.

At the moment, I'm architecting a new event-driven solution, and I planning to adopt a Structured Naming approach for event types.

In this post I'll share my thoughts on this approach and its benefits.

Read More →

AWS Step Functions Cookbook

01 Nov 2024

This is my AWS Step Functions Mapping and Patterns and cookbook covering data manipulation, concurrency patterns, error handling, and advanced workflows.

Read More →

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 →