Author: Jeffrey
-

Jev is a useful idiot
In 2024 I wrote that GenAI brings intuition to IT. Two years later, frontier models have learned to think slow, and TypeSafe’s Jev is built for intuition alone. Why Jev is a useful idiot, and how to combine System 1 and System 2 in your architecture.
-

AATB: our agent merges its own pull requests
Part 2 of 5 in a series on autonomous software delivery. Part 1 introduced Ralph, our autonomous development agent. This part covers AATB, the delivery flow that lets an agent ship to a shared environment safely. Part 3 covers how it tests. Autonomous software delivery, a five-part series Part 1: I put an AI agent…
-

I put an AI agent on our board
Part 1 of 5 in a series on autonomous software delivery. This post introduces Ralph, our experimental autonomous development agent, and the thesis of the series: agent autonomy is an engineering problem, and it needs engineered frameworks, not vibes. Autonomous software delivery, a five-part series Part 1: I put an AI agent on our board…
-

Governing the plan, not just the code
Part 4 of 5 in a series on autonomous software delivery. Part 2 and Part 3 covered how our agent Ralph delivers and tests a feature. This part covers the design decisions that need human agreement before implementation. Autonomous software delivery, a five-part series Part 1: I put an AI agent on our board Part…
-

ARBT: how the agent decides what to test, and proves it
Part 3 of 5 in a series on autonomous software delivery. Part 2 covered AATB, the flow where our agent Ralph merges its own pull requests. This part covers the testing and evidence behind that decision. Autonomous software delivery, a five-part series Part 1: I put an AI agent on our board Part 2: AATB:…
-

From laptop loop to governed platform
Part 5 of 5 in a series on autonomous software delivery. The previous parts introduced Ralph, our autonomous development agent, and the delivery, testing and design practices around it. This part covers how other organisations can adopt those practices gradually. Autonomous software delivery, a five-part series Part 1: I put an AI agent on our…
-

We’re more like AI than we think: Exploring the human-LLM connection
Rather listen than read? Check out this article’s podcast below. While we often highlight the impressive capabilities of AI, especially LLMs, we also focus on their shortcomings—particularly their tendency to “hallucinate” or generate information that isn’t grounded in reality. But what if these so-called flaws aren’t just quirks of machine learning? What if they reflect…
-

Why every C# developer needs to learn Python
As we traverse the ever-shifting landscape of software development, one truth becomes unmistakably clear: adaptability isn’t just advantageous—it’s essential. For those of us deeply embedded in the .NET ecosystem, the thought of venturing into another language might feel like stepping into unfamiliar terrain. But here’s the twist: Python isn’t just any language; it’s a gateway…
-

Evaluating LLMs: Using LLM-as-a-Judge for better GenAI evaluation
A couple of weeks ago, I had the pleasure of joining fellow GenAI enthusiasts and practitioners on a panel at Microsoft to discuss reducing hallucinations and improving relevancy in LLM calls and RAG pipelines. A key takeaway from our discussion was the importance of using LLM-as-a-Judge for evaluation. In this blog post, I want to…
-

GenAI: Bringing intuition to IT
In the realm of cognitive psychology, human thinking is often divided into two distinct systems: System 1 and System 2. Understanding these two modes of thinking is crucial for grasping the revolutionary potential of Generative AI (GenAI) within the current IT landscape. System 1 vs. System 2 Thinking System 1 thinking is intuitive, fast, and…
