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.

See everything I teach on Maven ↗
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 ↗

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.

“Gazar is very expert in front-end knowledge. He is very kind and patient in helping and guiding without any judgment. Whenever I talk to him, I learn many things. Actually, he shares his updated knowledge in front-end and AI with me. I am very grateful to him for his help without any expectations.”
Ava Mohammadnian
Front end Developer
“It has been a pleasure working with Ehsan. He is a dedicated, self-motivated and knowledgeable software engineer. He always embraces new challenges at work. He has a positive attitude and desire to produce quality work that serves him well. He would be a valuable team member of any software team.”
Anitha P., QA Automation Engineer at Sportsbet
“The session was amazing and so informative covering a lot of topics like reviewing linked profile, CV and GitHub profile. Thank you so much for your time, Gaz.”
Ahmed Abdelhamed, Software Engineer
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 →

Popular this week

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

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.

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.

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.

Monorepo Tools Compared: NX, Turborepo, Bazel, and Rush
DevOps

Monorepo Tools Compared: NX, Turborepo, Bazel, and Rush

Compare the leading monorepo tools: NX, Turborepo, Bazel, Rush, and PNPM workspaces. Choose the right fit for your team size, stack, and build needs.

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.

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.

Where to start

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

All 16 topics →