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

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

Latest writing

View all →
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.

Containers vs Cloudflare Computer: There Is Not Enough Compute for One Box Per Agent
Artificial Intelligence

Containers vs Cloudflare Computer: There Is Not Enough Compute for One Box Per Agent

Nearly every agent framework decided that one agent means one container. Cloudflare says there are not enough computers on earth for that to work, and has flipped it around: the agent lives in a tiny sandbox with a filesystem that stays behind, and a container is only borrowed when Linux is truly needed. Here is the argument in plain words, why Cloudflare made it, and where I would use it.

Graph Engineering: Every Edge You Draw Takes a Decision Away From the Model
Artificial Intelligence

Graph Engineering: Every Edge You Draw Takes a Decision Away From the Model

Agent graphs are state machines with a new name on them. The engineering question is not what a node is, it is which routing decisions you take away from the model and which you leave to it. The rule I apply: only draw edges for decisions you can make better in advance than the model can at runtime.

When Your Data Is Really a Graph: Write the Recursive Query First
System Design

When Your Data Is Really a Graph: Write the Recursive Query First

Some questions cannot be answered by adding one more join, because the number of joins depends on the data rather than on the query. That is the moment your data has become a graph. Here is how to tell, what a graph actually buys you, and the two costs nobody mentions until you are already paying them.

Semantic Caching for AI Requests, Explained Simply
Artificial Intelligence

Semantic Caching for AI Requests, Explained Simply

Your users ask the same question in different words, and you pay for every one. A semantic cache answers from meaning instead of exact text. Here is how it works, in plain language, with a working version you can build in an afternoon.

The Algorithms Worth Knowing in Code Review: Cutting Big O Without Being Clever
Algorithm

The Algorithms Worth Knowing in Code Review: Cutting Big O Without Being Clever

The small set of algorithm changes that actually come up in code review, each one shown as before and after, with the Big O it removes.

Popular this week

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

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.

oxlint vs ESLint: 12s to Under 1s, and What You Lose
TypeScript

oxlint vs ESLint: 12s to Under 1s, and What You Lose

I replaced ESLint with oxlint in a React TypeScript project and lint time went from 12 seconds to under one. The speed, the rules that do not exist yet, and when to switch.

Graph Engineering: Every Edge You Draw Takes a Decision Away From the Model
Artificial Intelligence

Graph Engineering: Every Edge You Draw Takes a Decision Away From the Model

Agent graphs are state machines with a new name on them. The engineering question is not what a node is, it is which routing decisions you take away from the model and which you leave to it. The rule I apply: only draw edges for decisions you can make better in advance than the model can at runtime.

OpenClaw: The Self-Hosted AI Assistant That Treats Intelligence as Infrastructure
Artificial Intelligence

OpenClaw: The Self-Hosted AI Assistant That Treats Intelligence as Infrastructure

Most AI assistants live behind someone else's API. You send a message, it hits a server you don't control, and a response comes back through a pipeline yo...

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.

Naming Conventions in TypeScript: Best Practices for Classes, Functions, Types, Interfaces, Variables and Parameters
Clean Code

Naming Conventions in TypeScript: Best Practices for Classes, Functions, Types, Interfaces, Variables and Parameters

I've reviewed code where a variable named data was used 14 times in one file. Each one meant something different. The person who wrote it understood it pe...

Where to start

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

All 16 topics →