Principal Engineer · 16+ years

Helping engineers take LLM and agent systems from demo to production.

Architecture, evaluations, observability, failure handling, cost and latency: the parts a demo never has to answer for.

Or go deeper: the live cohort ↗
Live cohorts on Maven500+ articlesThe Breakpoint podcast
Enrolling nowLive cohort on Maven

AI Transformation for Organisational Leaders

For directors, heads of function and founders: eight live evening sessions with Ehsan Gazar and Anoosh Zeighami, ending with a one-page 2027 AI plan for your organisation, built on a real workflow and ready for your leadership team.

Starts Wed, 4 Nov · 7:00pm London · live on Zoom

$1,495, or $1,045 with code EARLYBIRD until 23 Oct.

Enroll on Maven ↗
FreeWed, 28 Oct · 7:00pm London · 30 minutes
Free Lightning Lesson on Maven

Stop Adding AI to Old Workflows: For Organisational Leaders

Free, live, 30 minutes, for organisational leaders. Take one knowledge workflow apart and redesign it around AI: which old constraints still shape it, what AI changes, what must stay human, and how to run a first bounded experiment.

Also on Maven, waitlist open: Production-Ready Systems with LLMs and Agents ↗ · From Senior to Staff: Master the Architecture Skills That Get You Promoted ↗

What engineers say

29+ engineers and colleagues, sharing what changed after we worked together.

“Ehsan consistently delivers the best in company projects on time and to high standards. I have always admired his ability to stay calm and perform under pressure. He is a great asset to the team both on a professional and personal level. I would not hesitate to recommend Ehsan.”
Payam Mousavi
Software Developer at Thoughtworks | AWS Certified
“Ehsan gave me really clear and practical advice on my resume and career direction. His feedback helped me focus on what actually matters to recruiters and improve how I present my skills. Super helpful and easy to talk to !!”
Ankit Dani, Full Stack Software Engineer
“I've been working with Ehsan in Netbarg. He has always proved to be a results-oriented teammate who has great technical skills. I would like to recommend Ehsan as a key co-worker to whom to trust any critical work.”
Ali Fazeli, VP of Engineering at Snapp! Express
Read all 29+ testimonials →

More ways to learn

Two free tools I build

Read what your agents did. Keep your hands in the code.

Marlin

An open-source terminal for running coding agents. See what each one changed, read the diff, then stage and commit without leaving it. No account, no telemetry.

See Marlin →

Coding

One TypeScript problem, written from memory against hidden tests, on a schedule that brings it back just before you would have forgotten it. No account needed to try one.

Latest writing

View all →
AI Transformation Is Not Digital Transformation With a New Tool
Leadership

AI Transformation Is Not Digital Transformation With a New Tool

Your AI plan looks like your last digital programme: a tool, a rollout, a go-live date. What carries over, what breaks, and what to run instead.

Your AI Pilot Saved Time. Why Didn't the Business Change?
Leadership

Your AI Pilot Saved Time. Why Didn't the Business Change?

Your AI pilot made one step faster, but the results did not move. The cause is usually the slowest step, and what you did with the time.

A Chatbot Answers. An Agent Does the Work. Here Is the Difference
Leadership

A Chatbot Answers. An Agent Does the Work. Here Is the Difference

Vendors call everything an agent. Here is what each step from chatbot to agent adds, and how much supervision each one needs from you.

Why AI Can Crack a 90-Year-Old Maths Problem and Still Get Your Invoice Wrong
Leadership

Why AI Can Crack a 90-Year-Old Maths Problem and Still Get Your Invoice Wrong

AI can do brilliant work and still fail a simple task. Leaders need to separate what it can do from whether they can depend on it.

I Use AI Every Day: Why I Built a Place to Practise the Old Problems
Leadership

I Use AI Every Day: Why I Built a Place to Practise the Old Problems

I use AI every day, I enjoy it, and I am not going back. What it quietly took is the part of me that produces code from an empty file: the best practices I used to apply without thinking, and the problem solving underneath them. Why the existing practice sites did not fit, and what I built instead.

LLM Tracing vs Evals: Which One Tells You Why Your Agent Broke
Artificial Intelligence

LLM Tracing vs Evals: Which One Tells You Why Your Agent Broke

Your agent gave a bad answer and you cannot say why. Tracing tells you what happened on one request. Evals tell you whether quality moved across many. They answer different questions, and if you only build one this quarter, build the one that makes the other actionable.

Popular this week

What other engineers have been reading in the last seven days.

SQLZoo SELECT from WORLD: Solutions and Explanations
SQL

SQLZoo SELECT from WORLD: Solutions and Explanations

Worked solutions to every SQLZoo SELECT from WORLD exercise, from basic filtering to population and GDP-per-capita queries, each explained step by step.

Lefthook vs Husky: Why I Switched and Never Looked Back
DevOps

Lefthook vs Husky: Why I Switched and Never Looked Back

Lefthook replaces Husky and lint-staged with a single Go binary, parallel hook execution, and built-in file filtering. Here is why I switched and kept going.

Container Component React Design Pattern
Design Patterns

Container Component React Design Pattern

I used to build React components that fetched data, managed loading states, handled errors, and rendered UI — all in one file. Every component was 200+ li...

Everything Is Being Rewritten in Rust. Is It Time You Learned It?
System Design

Everything Is Being Rewritten in Rust. Is It Time You Learned It?

The kernel dropped the experimental label, Cloudflare rewrote its proxy, and your JavaScript build is already Rust underneath. That is the case for learning it. The case against is that the most important TypeScript tool of the decade picked Go. Here is how I read the trade-off, and where I would still not leave TypeScript.

oxlint vs ESLint: Why I Replaced ESLint with oxlint
TypeScript

oxlint vs ESLint: Why I Replaced ESLint with oxlint

Replaced ESLint with oxlint in a React TypeScript project and cut lint time from 12 seconds to under one. What I traded away and whether it was worth it.

The Innovator's Dilemma: Why Doing Everything Right Gets You Killed
Reviews

The Innovator's Dilemma: Why Doing Everything Right Gets You Killed

Clayton Christensen showed why good engineering teams build irrelevant products. The paradox of listening to your best customers, and how to stop ignoring the toy technologies that will eventually replace you.

Where to start

The deep dives I'd point a senior engineer at first, grouped by topic.

All 16 topics →