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 ↗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.”
“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.”
“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.”
More ways to learn
- Self-paced coursesFive self-paced courses, $99 to $299, from clean code and system design to LLM and agent systems.Browse courses →
- 1:1 mentorshipCareer, system-design judgment, and the path from senior to staff and principal.See programs →
- Writing & podcastHundreds of deep-dives on architecture, plus the Breakpoint podcast.Read the latest →
- Persian coursesThe Farsi side of the site: eight video courses on JavaScript, React, Node and code quality, plus writing in Persian.Open the Persian site →
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

If AI Had Existed When Your Workflow Was Designed, Would It Look Like This?
Your team added AI to one step and the work arrives no sooner. The workflow itself is built on old constraints, and that is what needs redesigning.

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?
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
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
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
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.
Popular this week
What other engineers have been reading in the last seven days.

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
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
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
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?
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
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.

SQL, from SELECT to subqueries
Worked SQLZoo solutions, joins, aggregates, GROUP BY vs HAVING, and subqueries — the queries interviewers actually ask.
9 deep dives · Start reading →
Database performance & scaling
Indexes, query optimisation, sharding, replication and normalization — how to make a database fast and keep it fast.
8 deep dives · Start reading →
Modern TypeScript tooling
Why oxlint replaced ESLint, pnpm vs npm, Lefthook vs Husky, and the Rust/Go shift in the frontend toolchain.
6 deep dives · Start reading →
Data structures in TypeScript
Arrays, linked lists, stacks, queues, trees, tries, graphs, heaps and hash tables — implemented and explained in TypeScript.
12 deep dives · Start reading →
Sorting & searching algorithms
Insertion, selection, merge and quick sort, plus binary and substring search — the classic algorithms, step by step.
6 deep dives · Start reading →
Design systems in practice
What a design system really is (per Atlassian), how Dropbox and Netflix build theirs, and how to roll out an internal UI component library.
6 deep dives · Start reading →
Scaling & system architecture
Horizontal vs vertical scaling, capacity estimation, resilience patterns and the architecture principles behind systems that grow.
6 deep dives · Start reading →
X vs Y: engineering trade-offs
Head-to-head breakdowns — oxlint vs ESLint, REST vs GraphQL, SQL vs NoSQL, Svelte/Preact vs React — with the trade-offs that decide it.
12 deep dives · Start reading →


